[asterisk-commits] jrose: branch 12 r428333 - /branches/12/res/res_pjsip_acl.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Nov 20 09:46:44 CST 2014


Author: jrose
Date: Thu Nov 20 09:46:39 2014
New Revision: 428333

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428333
Log:
PJSIP ACLs: Fix ACLs not loading on startup and apply/acl issues on contact

The biggest problem this patch fixes is that ACLs weren't previously being
loaded when the res_pjsip_acl module was loaded. Yikes. In addition, the
ACL options contact_permit and contact_acl were effectively interpreted as
contact_deny and this patch fixes that as well.

AST-1418 #close
Reported by: Thomas Thompson
Review: https://reviewboard.asterisk.org/r/4120/

ASTERISK-24531 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/4171/

Modified:
    branches/12/res/res_pjsip_acl.c

Modified: branches/12/res/res_pjsip_acl.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/res/res_pjsip_acl.c?view=diff&rev=428333&r1=428332&r2=428333
==============================================================================
--- branches/12/res/res_pjsip_acl.c (original)
+++ branches/12/res/res_pjsip_acl.c Thu Nov 20 09:46:39 2014
@@ -233,8 +233,9 @@
 	struct ast_sip_acl *sip_acl = obj;
 	int error = 0;
 	int ignore;
-	if (!strncmp(var->name, "contact", 7)) {
-		ast_append_acl(var->name + 7, var->value, &sip_acl->contact_acl, &error, &ignore);
+
+	if (!strncmp(var->name, "contact_", 8)) {
+		ast_append_acl(var->name + 8, var->value, &sip_acl->contact_acl, &error, &ignore);
 	} else {
 		ast_append_acl(var->name, var->value, &sip_acl->acl, &error, &ignore);
 	}
@@ -287,6 +288,8 @@
 	ast_sorcery_object_field_register_custom(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE, "contact_deny", "", acl_handler, NULL, NULL, 0, 0);
 	ast_sorcery_object_field_register_custom(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE, "contact_acl", "", acl_handler, NULL, NULL, 0, 0);
 
+	ast_sorcery_load_object(ast_sip_get_sorcery(), SIP_SORCERY_ACL_TYPE);
+
 	ast_sip_register_service(&acl_module);
 	return AST_MODULE_LOAD_SUCCESS;
 }




More information about the asterisk-commits mailing list