diff options
author | Olle Johansson <oej@edvina.net> | 2006-10-16 12:28:18 +0000 |
---|---|---|
committer | Olle Johansson <oej@edvina.net> | 2006-10-16 12:28:18 +0000 |
commit | 09b8583937c0962fb038486f2b351fb1c338844f (patch) | |
tree | e2316d62bf33615250db79aac79617b1c3de39a0 | |
parent | 5fda2a874a78809e3c5b3e5d539d44e1095ce3d3 (diff) |
A B2BUA should *not* issue proxy auth.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | channels/chan_sip.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 40c06614b..993b93acc 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7746,7 +7746,6 @@ static enum check_auth_result check_auth(struct sip_pvt *p, struct sip_request * char *c; int wrongnonce = FALSE; int good_response; - int code; const char *usednonce = p->randdata; /* table of recognised keywords, and their value in the digest */ @@ -7765,21 +7764,16 @@ static enum check_auth_result check_auth(struct sip_pvt *p, struct sip_request * /* Always OK if no secret */ if (ast_strlen_zero(secret) && ast_strlen_zero(md5secret)) return AUTH_SUCCESSFUL; - if (sipmethod == SIP_REGISTER || sipmethod == SIP_SUBSCRIBE) { - /* On a REGISTER, we have to use 401 and its family of headers - * instead of 407 and its family of headers. - */ - code = WWW_AUTH; - response = "401 Unauthorized"; - } else { - code = PROXY_AUTH; - response = "407 Proxy Authentication Required"; - } + + /* Always auth with WWW-auth since we're NOT a proxy */ + /* Using proxy-auth in a B2BUA may block proxy authorization in the same transaction */ + response = "401 Unauthorized"; + /* * Note the apparent swap of arguments below, compared to other * usages of auth_headers(). */ - auth_headers(code, &respheader, &reqheader); + auth_headers(WWW_AUTH, &respheader, &reqheader); authtoken = get_header(req, reqheader); if (ignore && !ast_strlen_zero(p->randdata) && ast_strlen_zero(authtoken)) { |