[Asterisk-cvs] asterisk rtp.c,1.117,1.118

markster at lists.digium.com markster at lists.digium.com
Thu Mar 31 13:16:21 CST 2005


Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv25485

Modified Files:
	rtp.c 
Log Message:
Fix RTP checksums config option (bug #3908 with minor mods)


Index: rtp.c
===================================================================
RCS file: /usr/cvsroot/asterisk/rtp.c,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- rtp.c	29 Mar 2005 04:49:24 -0000	1.117
+++ rtp.c	31 Mar 2005 19:09:48 -0000	1.118
@@ -56,7 +56,7 @@
 static int rtpdebug = 0;		/* Are we debugging? */
 static struct sockaddr_in rtpdebugaddr;	/* Debug packets to/from this host */
 #ifdef SO_NO_CHECK
-static int checksums = 1;
+static int nochecksums = 0;
 #endif
 
 /* The value of each payload format mapping: */
@@ -857,9 +857,8 @@
 		flags = fcntl(s, F_GETFL);
 		fcntl(s, F_SETFL, flags | O_NONBLOCK);
 #ifdef SO_NO_CHECK
-		if (checksums) {
-			setsockopt(s, SOL_SOCKET, SO_NO_CHECK, &checksums, sizeof(checksums));
-		}
+		if (nochecksums)
+			setsockopt(s, SOL_SOCKET, SO_NO_CHECK, &nochecksums, sizeof(nochecksums));
 #endif
 	}
 	return s;
@@ -1743,9 +1742,6 @@
 
 	rtpstart = 5000;
 	rtpend = 31000;
-#ifdef SO_NO_CHECK
-	checksums = 1;
-#endif
 	cfg = ast_config_load("rtp.conf");
 	if (cfg) {
 		if ((s = ast_variable_retrieve(cfg, "general", "rtpstart"))) {
@@ -1764,12 +1760,12 @@
 		}
 		if ((s = ast_variable_retrieve(cfg, "general", "rtpchecksums"))) {
 #ifdef SO_NO_CHECK
-			if (ast_true(s))
-				checksums = 1;
+			if (ast_false(s))
+				nochecksums = 1;
 			else
-				checksums = 0;
+				nochecksums = 0;
 #else
-			if (ast_true(s))
+			if (ast_false(s))
 				ast_log(LOG_WARNING, "Disabling RTP checksums is not supported on this operating system!\n");
 #endif
 		}




More information about the svn-commits mailing list