mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-07 07:09:17 -07:00
Handle authenticating *to* realtime peers (bug #5269)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -5166,6 +5166,15 @@ static int authenticate_reply(struct chan_iax2_pvt *p, struct sockaddr_in *sin,
|
||||
peer = peer->next;
|
||||
}
|
||||
ast_mutex_unlock(&peerl.lock);
|
||||
if (!peer) {
|
||||
/* We checked our list and didn't find one. It's unlikely, but possible,
|
||||
that we're trying to authenticate *to* a realtime peer */
|
||||
if ((peer = realtime_peer(p->peer))) {
|
||||
res = authenticate(p->challenge, peer->secret,peer->outkey, authmethods, &ied, sin, &p->ecx, &p->dcx);
|
||||
if (ast_test_flag(peer, IAX_TEMPONLY))
|
||||
destroy_peer(peer);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ies->encmethods)
|
||||
ast_set_flag(p, IAX_ENCRYPTED | IAX_KEYPOPULATED);
|
||||
|
||||
Reference in New Issue
Block a user