[asterisk-commits] mmichelson: branch 1.6.0 r158231 - in /branches/1.6.0: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Nov 20 17:13:34 CST 2008


Author: mmichelson
Date: Thu Nov 20 17:13:33 2008
New Revision: 158231

URL: http://svn.digium.com/view/asterisk?view=rev&rev=158231
Log:
Merged revisions 158230 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
r158230 | mmichelson | 2008-11-20 17:12:50 -0600 (Thu, 20 Nov 2008) | 20 lines

Change the remote user agent session version variable
from an int to a uint64_t. This prevents potential comparison
problems from happening if the version string exceeds
INT_MAX. This was an apparent problem for one user who could
not properly place a call on hold since the version in the
SDP of the re-INVITE to place the call on hold greatly 
exceeded INT_MAX.

This also aligns with RFC 2327 better since it recommends
using an NTP timestamp for the version (which is a 
64-bit number).


(closes issue #13531)
Reported by: sgofferj
Patches:
      13531.patch uploaded by putnopvut (license 60)
Tested by: sgofferj


........

Modified:
    branches/1.6.0/   (props changed)
    branches/1.6.0/channels/chan_sip.c

Propchange: branches/1.6.0/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.0/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.0/channels/chan_sip.c?view=diff&rev=158231&r1=158230&r2=158231
==============================================================================
--- branches/1.6.0/channels/chan_sip.c (original)
+++ branches/1.6.0/channels/chan_sip.c Thu Nov 20 17:13:33 2008
@@ -1252,7 +1252,7 @@
 	char tag[11];				/*!< Our tag for this session */
 	int sessionid;				/*!< SDP Session ID */
 	int sessionversion;			/*!< SDP Session Version */
-	int sessionversion_remote;		/*!< Remote UA's SDP Session Version */
+	uint64_t sessionversion_remote;		/*!< Remote UA's SDP Session Version */
 	int session_modify;			/*!< Session modification request true/false  */
 	struct sockaddr_in sa;			/*!< Our peer */
 	struct sockaddr_in redirip;		/*!< Where our RTP should be going if not to us */
@@ -6489,7 +6489,7 @@
 	int last_rtpmap_codec=0;
 
 	char buf[SIPBUFSIZE];
-	int rua_version;
+	uint64_t rua_version;
 
 	if (!p->rtp) {
 		ast_log(LOG_ERROR, "Got SDP but have no RTP session allocated.\n");
@@ -6558,7 +6558,7 @@
 		ast_log(LOG_WARNING, "SDP sytax error in o= line\n");
 		return -1;
 	}
-	if (!sscanf(token, "%d", &rua_version)) {
+	if (!sscanf(token, "%lu", &rua_version)) {
 		ast_log(LOG_WARNING, "SDP sytax error in o= line version\n");
 		return -1;
 	}




More information about the asterisk-commits mailing list