]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Use remotesecret to authenticate with a remote party
authorTerry Wilson <twilson@digium.com>
Thu, 24 Feb 2011 03:38:22 +0000 (03:38 +0000)
committerTerry Wilson <twilson@digium.com>
Thu, 24 Feb 2011 03:38:22 +0000 (03:38 +0000)
The remotesecret option was only being used for outbound registration
and not for placing calls. This patch uses remotesecret on outbound
calls if it is set, otherwise secret is still used.

Review: https://reviewboard.asterisk.org/r/1107/

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

channels/chan_sip.c
configs/sip.conf.sample

index 96e8d1c621a13e0dbff6c6e37480f98b8904261a..85ffa1a5a3d8fdac260570f95b0a3b5af8ff056d 100644 (file)
@@ -17599,7 +17599,9 @@ static int build_reply_digest(struct sip_pvt *p, int method, char* digest, int d
        } else {
                /* No authentication, use peer or register= config */
                username = p->authname;
-               secret =  p->peersecret;
+               secret = p->relatedpeer 
+                       && !ast_strlen_zero(p->relatedpeer->remotesecret)
+                       ? p->relatedpeer->remotesecret : p->peersecret;
                md5secret = p->peermd5secret;
        }
        if (ast_strlen_zero(username))  /* We have no authentication */
index f11e053f595fd06ad1358571cacc9c14716e12c5..edc8500deec7839489b788392f179cd39ddad66b 100644 (file)
@@ -847,6 +847,10 @@ srvlookup=yes                   ; Enable DNS SRV lookups on outbound calls
 ;   Asterisk only matches on IP/port, not on names. This is mostly used for SIP
 ;   trunks.
 ;
+; Use remotesecret for outbound authentication, and secret for authenticating
+; inbound requests. For historical reasons, if no remotesecret is supplied for an
+; outbound registration or call, the secret will be used. 
+;
 ; For device names, we recommend using only a-z, numerics (0-9) and underscore
 ; 
 ; For local phones, type=friend works most of the time