summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2006-10-23 18:38:42 +0000
committerLuigi Rizzo <rizzo@icir.org>2006-10-23 18:38:42 +0000
commiteb44903b0841fd34102aa284a148e2f8ac0e3c24 (patch)
tree00654732a9c30b40ca2340bdeee596b710679eac
parent85fe7cac0396e0085a976ab20503ff4aa110feaa (diff)
reformat a statement and comment a potentially wrong
assignement (altering state on an unvalidated message). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--channels/chan_sip.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 8d48c74fd..85f3b9ac9 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -9023,15 +9023,10 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
int debug=sip_debug_test_addr(sin);
struct sip_peer *peer;
- if (sipmethod == SIP_SUBSCRIBE)
- /* For subscribes, match on peer name only */
- peer = find_peer(of, NULL, 1);
- else
- /* Look for peer based on the IP address we received data from */
- /* If peer is registered from this IP address or have this as a default
- IP address, this call is from the peer
- */
- peer = find_peer(NULL, &p->recv, 1);
+ /* For subscribes, match on peer name only; for other methods,
+ * match on IP address-port of the incoming request.
+ */
+ peer = (sipmethod == SIP_SUBSCRIBE) ? find_peer(of, NULL, 1) : find_peer(NULL, &p->recv, 1);
if (!peer) {
if (debug)
@@ -9056,6 +9051,7 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
ast_copy_flags(&p->flags[1], &peer->flags[1], SIP_PAGE2_FLAGS_TO_COPY);
/* Copy SIP extensions profile to peer */
+ /* XXX is this correct before a successful auth ? */
if (p->sipoptions)
peer->sipoptions = p->sipoptions;