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

Modified Files:
      Tag: v1-0
        ChangeLog rtp.c 
Log Message:
fix rtpchecksums option (bug #3908)


Index: ChangeLog
===================================================================
RCS file: /usr/cvsroot/asterisk/ChangeLog,v
retrieving revision 1.74.2.37
retrieving revision 1.74.2.38
diff -u -d -r1.74.2.37 -r1.74.2.38
--- ChangeLog   5 Apr 2005 06:09:27 -0000       1.74.2.37
+++ ChangeLog   5 Apr 2005 06:53:14 -0000       1.74.2.38
@@ -25,7 +25,7 @@
     -- Fixed if the last line of text in a file for the call spool did not 
contain
        a new line, it would not be processed
     -- Fixed the logger so that color escape sequences wouldn't be sent to the 
logs
-
+    -- Fixed a logic error when setting the "rtpchecksums" option
 Asterisk 1.0.7
 
  -- chan_sip

Index: rtp.c
===================================================================
RCS file: /usr/cvsroot/asterisk/rtp.c,v
retrieving revision 1.92.2.8
retrieving revision 1.92.2.9
diff -u -d -r1.92.2.8 -r1.92.2.9
--- rtp.c       25 Mar 2005 23:41:13 -0000      1.92.2.8
+++ rtp.c       5 Apr 2005 06:53:14 -0000       1.92.2.9
@@ -53,7 +53,7 @@
 static int rtpstart = 0;
 static int rtpend = 0;
 #ifdef SO_NO_CHECK
-static int checksums = 1;
+static int nochecksums = 0;
 #endif
 
 /* The value of each payload format mapping: */
@@ -803,9 +803,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;
@@ -1540,9 +1539,6 @@
        char *s;
        rtpstart = 5000;
        rtpend = 31000;
-#ifdef SO_NO_CHECK
-       checksums = 1;
-#endif
        cfg = ast_load("rtp.conf");
        if (cfg) {
                if ((s = ast_variable_retrieve(cfg, "general", "rtpstart"))) {
@@ -1561,12 +1557,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
                }

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to