From: chas w. <ch...@us...> - 2005-11-22 20:15:07
|
Update of /cvsroot/linux-atm/linux-atm/src/sigd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21664/src/sigd Modified Files: Tag: V2_5_0 sap.c Log Message: fix the sap compatability check -- see NOTE From: Martin Whitaker <mai...@ma...> Index: sap.c =================================================================== RCS file: /cvsroot/linux-atm/linux-atm/src/sigd/sap.c,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** sap.c 13 Feb 2005 17:47:22 -0000 1.2.2.1 --- sap.c 22 Nov 2005 20:14:52 -0000 1.2.2.2 *************** *** 50,54 **** } - int sap_compat(const struct sockaddr_atmsvc *old_addr, const struct sockaddr_atmsvc *new_addr,struct sockaddr_atmsvc *res_addr, --- 50,53 ---- *************** *** 61,70 **** return 0; if (res_qos) *res_qos = *new_qos; ! if (old_qos->txtp.max_sdu && new_qos->rxtp.max_sdu && ! old_qos->txtp.max_sdu > new_qos->rxtp.max_sdu) return 0; ! if (new_qos->txtp.max_sdu && old_qos->rxtp.max_sdu && ! new_qos->txtp.max_sdu > old_qos->rxtp.max_sdu) return 0; ! if (!class_compat(&old_qos->txtp,&new_qos->rxtp) || ! !class_compat(&new_qos->txtp,&old_qos->rxtp)) return 0; if (!sap_equal(old_sap,new_sap, SXE_COMPATIBLE | SXE_NEGOTIATION | (res_sap ? SXE_RESULT : 0),res_sap)) --- 60,69 ---- return 0; if (res_qos) *res_qos = *new_qos; ! if (old_qos->txtp.max_sdu && new_qos->txtp.max_sdu && ! old_qos->txtp.max_sdu > new_qos->txtp.max_sdu) return 0; ! if (new_qos->rxtp.max_sdu && old_qos->rxtp.max_sdu && ! new_qos->rxtp.max_sdu > old_qos->rxtp.max_sdu) return 0; ! if (!class_compat(&old_qos->rxtp,&new_qos->rxtp) || ! !class_compat(&new_qos->txtp,&old_qos->txtp)) return 0; if (!sap_equal(old_sap,new_sap, SXE_COMPATIBLE | SXE_NEGOTIATION | (res_sap ? SXE_RESULT : 0),res_sap)) *************** *** 270,273 **** --- 269,280 ---- } + /* + * NOTE: the incoming call sap is converted to a "local view" + * in preparation for use by a local socket. Therefore, the + * forward values are assigned to atm_qos->rxtp and the + * backward values are assigned to atm_qos->txtp. This has + * implications later for sap_compat() when we compare the + * forward/backward parameters. + */ unsigned int sap_decode(Q_DSC *dsc,struct sockaddr_atmsvc *addr, |