[asterisk-commits] mmichelson: branch 1.8 r279785 - in /branches/1.8: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jul 27 10:15:26 CDT 2010
Author: mmichelson
Date: Tue Jul 27 10:15:22 2010
New Revision: 279785
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=279785
Log:
Merged revisions 279784 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2
........
r279784 | mmichelson | 2010-07-27 10:13:24 -0500 (Tue, 27 Jul 2010) | 14 lines
Fix bad behavior of dynamic_exclude_static option in sip.conf.
We were attempting to create a contactdeny rule based on the peer's
IP address before the peer's IP address had been set. By moving the
processing further down in the function, we can ensure stuff works
as we expect for it to.
(closes issue #17717)
Reported by: mmichelson
Patches:
17717.patch uploaded by mmichelson (license 60)
Tested by: DennisD
........
Modified:
branches/1.8/ (props changed)
branches/1.8/channels/chan_sip.c
Propchange: branches/1.8/
------------------------------------------------------------------------------
--- branch-1.6.2-merged (original)
+++ branch-1.6.2-merged Tue Jul 27 10:15:22 2010
@@ -1,1 +1,1 @@
-/branches/1.6.2:1-279056,279207,279501,279561,279597,279609,279657
+/branches/1.6.2:1-279056,279207,279501,279561,279597,279609,279657,279784
Modified: branches/1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/chan_sip.c?view=diff&rev=279785&r1=279784&r2=279785
==============================================================================
--- branches/1.8/channels/chan_sip.c (original)
+++ branches/1.8/channels/chan_sip.c Tue Jul 27 10:15:22 2010
@@ -25596,14 +25596,6 @@
unref_peer(peer, "removing register expire ref"));
peer->host_dynamic = FALSE;
srvlookup = v->value;
- if (global_dynamic_exclude_static) {
- int err = 0;
- sip_cfg.contact_ha = ast_append_ha("deny", ast_sockaddr_stringify(&peer->addr),
- sip_cfg.contact_ha, &err);
- if (err) {
- ast_log(LOG_ERROR, "Bad ACL entry in configuration line %d : %s\n", v->lineno, v->value);
- }
- }
}
} else if (!strcasecmp(v->name, "defaultip")) {
if (!ast_strlen_zero(v->value) && ast_get_ip(&peer->defaddr, v->value)) {
@@ -25950,6 +25942,15 @@
ast_string_field_set(peer, tohost, peer->dnsmgr ? srvlookup :
ast_sockaddr_stringify_host(&peer->addr));
+
+ if (global_dynamic_exclude_static) {
+ int err = 0;
+ sip_cfg.contact_ha = ast_append_ha("deny", ast_sockaddr_stringify_addr(&peer->addr),
+ sip_cfg.contact_ha, &err);
+ if (err) {
+ ast_log(LOG_ERROR, "Bad ACL entry in configuration line %d : %s\n", v->lineno, v->value);
+ }
+ }
}
if (port && !realtime && peer->host_dynamic) {
More information about the asterisk-commits
mailing list