[asterisk-commits] twilson: branch group/srtp_reboot r268814 - in /team/group/srtp_reboot: chann...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jun 7 16:27:00 CDT 2010
Author: twilson
Date: Mon Jun 7 16:26:55 2010
New Revision: 268814
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=268814
Log:
Address dvossel's review
Modified:
team/group/srtp_reboot/channels/chan_sip.c
team/group/srtp_reboot/channels/sip/sdp_crypto.c
team/group/srtp_reboot/main/channel.c
team/group/srtp_reboot/res/res_srtp.c
Modified: team/group/srtp_reboot/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/group/srtp_reboot/channels/chan_sip.c?view=diff&rev=268814&r1=268813&r2=268814
==============================================================================
--- team/group/srtp_reboot/channels/chan_sip.c (original)
+++ team/group/srtp_reboot/channels/chan_sip.c Mon Jun 7 16:26:55 2010
@@ -7885,7 +7885,7 @@
}
/* Search for video media definition */
} else if ((sscanf(m, "video %30u/%30u RTP/%4s %n", &x, &numberofports, protocol, &len) == 3 && len > 0) ||
- (sscanf(m, "video %30d RTP/%4s %n", &x, protocol, &len) == 2 && len >= 0)) {
+ (sscanf(m, "video %30u RTP/%4s %n", &x, protocol, &len) == 2 && len >= 0)) {
if (!strcmp(protocol, "SAVP")) {
secure_video = 1;
} else if (strcmp(protocol, "AVP")) {
@@ -26799,7 +26799,11 @@
}
} else if (ast_test_flag(&p->flags[0], SIP_DIRECT_MEDIA_NAT)) {
res = AST_RTP_GLUE_RESULT_REMOTE;
- } else if (ast_test_flag(&global_jbconf, AST_JB_FORCED) || p->srtp) {
+ } else if (ast_test_flag(&global_jbconf, AST_JB_FORCED)) {
+ res = AST_RTP_GLUE_RESULT_FORBID;
+ }
+
+ if (p->srtp) {
res = AST_RTP_GLUE_RESULT_FORBID;
}
Modified: team/group/srtp_reboot/channels/sip/sdp_crypto.c
URL: http://svnview.digium.com/svn/asterisk/team/group/srtp_reboot/channels/sip/sdp_crypto.c?view=diff&rev=268814&r1=268813&r2=268814
==============================================================================
--- team/group/srtp_reboot/channels/sip/sdp_crypto.c (original)
+++ team/group/srtp_reboot/channels/sip/sdp_crypto.c Mon Jun 7 16:26:55 2010
@@ -293,8 +293,13 @@
ast_free(p->a_crypto);
}
- snprintf(crypto_buf, sizeof(crypto_buf), "a=crypto:1 %s inline:%s\r\n", crypto_suite, p->local_key64);
- p->a_crypto = ast_strdup(crypto_buf);
+ if (snprintf(crypto_buf, sizeof(crypto_buf), "a=crypto:1 %s inline:%s\r\n", crypto_suite, p->local_key64) < 1) {
+ return -1;
+ }
+
+ if (!(p->a_crypto = ast_strdup(crypto_buf))) {
+ return -1;
+ }
return 0;
}
Modified: team/group/srtp_reboot/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/team/group/srtp_reboot/main/channel.c?view=diff&rev=268814&r1=268813&r2=268814
==============================================================================
--- team/group/srtp_reboot/main/channel.c (original)
+++ team/group/srtp_reboot/main/channel.c Mon Jun 7 16:26:55 2010
@@ -4818,13 +4818,16 @@
return 0;
}
+ ast_channel_lock(r);
if ((ds = ast_channel_datastore_find(r, &secure_call_info, NULL))) {
struct ast_secure_call_store *encrypt = ds->data;
ops[0][1] = encrypt->signaling;
ops[1][1] = encrypt->media;
} else {
+ ast_channel_unlock(r);
return 0;
}
+ ast_channel_unlock(r);
for (i = 0; i < 2; i++) {
if (ops[i][1]) {
Modified: team/group/srtp_reboot/res/res_srtp.c
URL: http://svnview.digium.com/svn/asterisk/team/group/srtp_reboot/res/res_srtp.c?view=diff&rev=268814&r1=268813&r2=268814
==============================================================================
--- team/group/srtp_reboot/res/res_srtp.c (original)
+++ team/group/srtp_reboot/res/res_srtp.c Mon Jun 7 16:26:55 2010
@@ -178,7 +178,7 @@
}
static void ast_srtp_policy_set_ssrc(struct ast_srtp_policy *policy,
- unsigned long ssrc, int inbound)
+ unsigned long ssrc, int inbound)
{
if (ssrc) {
policy->sp.ssrc.type = ssrc_specific;
@@ -292,7 +292,7 @@
if (srtp->cb && srtp->cb->no_ctx) {
if (ast_rtp_instance_get_stats(srtp->rtp, &stats, AST_RTP_INSTANCE_STAT_REMOTE_SSRC)) {
- break;
+ break;
}
if (srtp->cb->no_ctx(srtp->rtp, stats.remote_ssrc, srtp->data) < 0) {
break;
@@ -388,13 +388,13 @@
static int load_module(void)
{
- return res_srtp_init();
+ return res_srtp_init();
}
static int unload_module(void)
{
ast_rtp_engine_unregister_srtp();
- return AST_MODULE_LOAD_SUCCESS;
+ return 0;
}
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Secure RTP (SRTP)",
More information about the asterisk-commits
mailing list