aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-26 14:58:04 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2009-01-26 14:58:04 +0000
commit92841bfe25bf5010ccb0770b675f12cfeccd56fb (patch)
treed22f286fbdd4ec081c5a1065412224886124793d /channels
parentea1cc71a383c35f715b91e5ed9e5137b5367f42a (diff)
Merged revisions 171326 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r171326 | oej | 2009-01-26 14:44:40 +0100 (MÃ¥n, 26 Jan 2009) | 17 lines Merged revisions 171264 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r171264 | oej | 2009-01-26 13:51:53 +0100 (MÃ¥n, 26 Jan 2009) | 9 lines Don't retransmit 401 on REGISTER requests when alwaysauthreject=yes (closes issue #14284) Reported by: klaus3000 Patches: patch_chan_sip_unreliable_1.4.23_14284.txt uploaded by klaus3000 (license 65) Tested by: klaus3000 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@171361 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index df80ff1ee..a488fe66f 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1892,7 +1892,7 @@ static int transmit_response_with_sdp(struct sip_pvt *p, const char *msg, const
static int transmit_response_with_unsupported(struct sip_pvt *p, const char *msg, const struct sip_request *req, const char *unsupported);
static int transmit_response_with_auth(struct sip_pvt *p, const char *msg, const struct sip_request *req, const char *rand, enum xmittype reliable, const char *header, int stale);
static int transmit_response_with_allow(struct sip_pvt *p, const char *msg, const struct sip_request *req, enum xmittype reliable);
-static void transmit_fake_auth_response(struct sip_pvt *p, struct sip_request *req, int reliable);
+static void transmit_fake_auth_response(struct sip_pvt *p, struct sip_request *req, enum xmittype reliable);
static int transmit_request(struct sip_pvt *p, int sipmethod, int inc, enum xmittype reliable, int newbranch);
static int transmit_request_with_auth(struct sip_pvt *p, int sipmethod, int seqno, enum xmittype reliable, int newbranch);
static int transmit_invite(struct sip_pvt *p, int sipmethod, int sdp, int init);
@@ -11044,7 +11044,7 @@ static int cb_extensionstate(char *context, char* exten, int state, void *data)
/*! \brief Send a fake 401 Unauthorized response when the administrator
wants to hide the names of local devices from fishers
*/
-static void transmit_fake_auth_response(struct sip_pvt *p, struct sip_request *req, int reliable)
+static void transmit_fake_auth_response(struct sip_pvt *p, struct sip_request *req, enum xmittype reliable)
{
ast_string_field_build(p, randdata, "%08lx", ast_random()); /* Create nonce for challenge */
transmit_response_with_auth(p, "401 Unauthorized", req, p->randdata, reliable, "WWW-Authenticate", 0);
@@ -11245,7 +11245,7 @@ static enum check_auth_result register_verify(struct sip_pvt *p, struct sockaddr
case AUTH_PEER_NOT_DYNAMIC:
case AUTH_ACL_FAILED:
if (global_alwaysauthreject) {
- transmit_fake_auth_response(p, &p->initreq, 1);
+ transmit_fake_auth_response(p, &p->initreq, XMIT_UNRELIABLE);
} else {
/* URI not found */
if (res == AUTH_PEER_NOT_DYNAMIC) {
@@ -17863,7 +17863,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
if (res < 0) { /* Something failed in authentication */
if (res == AUTH_FAKE_AUTH) {
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));
- transmit_fake_auth_response(p, req, 1);
+ transmit_fake_auth_response(p, req, XMIT_RELIABLE);
} else {
ast_log(LOG_NOTICE, "Failed to authenticate device %s\n", get_header(req, "From"));
transmit_response_reliable(p, "403 Forbidden", req);
@@ -19098,7 +19098,7 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req,
if (res < 0) {
if (res == AUTH_FAKE_AUTH) {
ast_log(LOG_NOTICE, "Sending fake auth rejection for device %s\n", get_header(req, "From"));
- transmit_fake_auth_response(p, req, 1);
+ transmit_fake_auth_response(p, req, XMIT_UNRELIABLE);
} else {
ast_log(LOG_NOTICE, "Failed to authenticate device %s for SUBSCRIBE\n", get_header(req, "From"));
transmit_response_reliable(p, "403 Forbidden", req);