diff options
author | Kinsey Moore <kmoore@digium.com> | 2013-10-12 16:53:06 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2013-10-12 16:53:06 +0000 |
commit | 1a0a2b3e4c43c28c720812f162da811a68d630d2 (patch) | |
tree | a4ccdc5d1c96410c389ce7dd9a74172e8f7475c7 /res | |
parent | 224f44c97169fba9e19ea1fed7fa6da8cfe22e9a (diff) |
Fix realm comparison for outbound auth
When generating the list of authentication credentials to pass to
PJSIP, Asterisk was using the raw pointer of a pj_str_t which is not
always NULL-terminated. This sometimes resulted in incorrect text for
the realm and a failure to match the realm for authentication purposes
which was causing the outbound nominal auth pjsip basic call test to
bounce. This now uses the pj_str_t that contains the realm instead of
generating a new one. Thanks to John Bigelow for helping to narrow this
down.
........
Merged revisions 400863 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@400864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_outbound_authenticator_digest.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/res/res_pjsip_outbound_authenticator_digest.c b/res/res_pjsip_outbound_authenticator_digest.c index 58eae5550..e7e77dbd5 100644 --- a/res/res_pjsip_outbound_authenticator_digest.c +++ b/res/res_pjsip_outbound_authenticator_digest.c @@ -72,7 +72,7 @@ static int set_outbound_authentication_credentials(pjsip_auth_clt_sess *auth_ses for (i = 0; i < array->num; ++i) { if (ast_strlen_zero(auths[i]->realm)) { - pj_cstr(&auth_creds[i].realm, auth_hdr->challenge.common.realm.ptr); + auth_creds[i].realm = auth_hdr->challenge.common.realm; } else { pj_cstr(&auth_creds[i].realm, auths[i]->realm); } |