[asterisk-commits] irroot: trunk r337543 - in /trunk: ./ res/res_srtp.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Sep 22 06:56:41 CDT 2011


Author: irroot
Date: Thu Sep 22 06:46:35 2011
New Revision: 337543

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=337543
Log:
Merged revisions 337542 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r337542 | irroot | 2011-09-22 13:44:22 +0200 (Thu, 22 Sep 2011) | 14 lines
  
  Merged revisions 337541 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r337541 | irroot | 2011-09-22 13:39:49 +0200 (Thu, 22 Sep 2011) | 8 lines
    
    Add warned to ast_srtp to prevent errors on each frame from libsrtp
    
    The first 9 frames are not reported as some devices dont use srtp 
    from first frame these are suppresed.
    
    the warning is then output only once every 100 frames.
  ........
................

Modified:
    trunk/   (props changed)
    trunk/res/res_srtp.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-10-merged' - no diff available.

Modified: trunk/res/res_srtp.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_srtp.c?view=diff&rev=337543&r1=337542&r2=337543
==============================================================================
--- trunk/res/res_srtp.c (original)
+++ trunk/res/res_srtp.c Thu Sep 22 06:46:35 2011
@@ -54,6 +54,7 @@
 	srtp_t session;
 	const struct ast_srtp_cb *cb;
 	void *data;
+	int warned;
 	unsigned char buf[8192 + AST_FRIENDLY_OFFSET];
 };
 
@@ -179,6 +180,8 @@
 		ast_free(srtp);
 		return NULL;
 	}
+	
+	srtp->warned = 1;
 
 	return srtp;
 }
@@ -382,7 +385,12 @@
 	}
 
 	if (res != err_status_ok && res != err_status_replay_fail ) {
-		ast_log(LOG_WARNING, "SRTP unprotect: %s\n", srtp_errstr(res));
+		if ((srtp->warned >= 10) && !((srtp->warned - 10) % 100)) {
+			ast_log(LOG_WARNING, "SRTP unprotect: %s %d\n", srtp_errstr(res), srtp->warned);
+			srtp->warned = 11;
+		} else {
+			srtp->warned++;
+		}
 		errno = EAGAIN;
 		return -1;
 	}




More information about the asterisk-commits mailing list