Reset peer outboundproxy on sip.conf reload
authorRussell Bryant <russell@russellbryant.com>
Wed, 11 Dec 2013 19:22:05 +0000 (19:22 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 11 Dec 2013 19:22:05 +0000 (19:22 +0000)
If you set a peer's outboundproxy and then removed it from the config,
this would not get picked up in a config reload.  This patch fixes that
by resetting it in set_peer_defaults().

Closes ASTERISK-19454
Review: https://reviewboard.asterisk.org/r/3065/
........

Merged revisions 403634 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403635 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403639 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403652 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index c56f7c4..5d729cd 100644 (file)
@@ -30413,6 +30413,10 @@ static void set_peer_defaults(struct sip_peer *peer)
        peer->disallowed_methods = sip_cfg.disallowed_methods;
        peer->transports = default_transports;
        peer->default_outbound_transport = default_primary_transport;
+       if (peer->outboundproxy) {
+               ao2_ref(peer->outboundproxy, -1);
+               peer->outboundproxy = NULL;
+       }
 }
 
 /*! \brief Create temporary peer (used in autocreatepeer mode) */