Module: sip-router
Branch: master
Commit: c9448d9657f0e5792072c6803643c8d9075d711a
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c9448d9…
Author: Peter Dunkley <peter.dunkley(a)crocodile-rcs.com>
Committer: Peter Dunkley <peter.dunkley(a)crocodile-rcs.com>
Date: Mon May 20 18:33:52 2013 +0100
modules/rr: completely reverted after_strict() to its pre-outbound form
---
modules/rr/loose.c | 15 +++++----------
1 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/modules/rr/loose.c b/modules/rr/loose.c
index c1b669c..bf0080e 100644
--- a/modules/rr/loose.c
+++ b/modules/rr/loose.c
@@ -578,7 +578,6 @@ static inline int after_strict(struct sip_msg* _m)
char* rem_off;
str uri;
struct socket_info *si;
- int next_is_strict;
hdr = _m->route;
rt = (rr_t*)hdr->parsed;
@@ -594,12 +593,9 @@ static inline int after_strict(struct sip_msg* _m)
return RR_ERROR;
}
- next_is_strict = is_strict(&puri.params);
-
- if (enable_double_rr && is_2rr(&puri.params) &&
is_myself(&puri)) {
+ if ( enable_double_rr && is_2rr(&puri.params) &&
is_myself(&puri)) {
/* double route may occure due different IP and port, so force as
* send interface the one advertise in second Route */
-
si = grep_sock_info( &puri.host, puri.port_no, puri.proto);
if (si) {
set_force_socket(_m, si);
@@ -634,8 +630,7 @@ static inline int after_strict(struct sip_msg* _m)
LM_ERR("failed to parse URI\n");
return RR_ERROR;
}
- next_is_strict = is_strict(&puri.params);
- }
+ }
/* set the hooks for the param
* important note: RURI is already parsed by the above function, so
@@ -643,7 +638,7 @@ static inline int after_strict(struct sip_msg* _m)
routed_msg_id = _m->id;
routed_params = _m->parsed_uri.params;
- if (next_is_strict) {
+ if (is_strict(&puri.params)) {
LM_DBG("Next hop: '%.*s' is strict router\n", uri.len, ZSW(uri.s));
/* Previous hop was a strict router and the next hop is strict
* router too. There is no need to save R-URI again because it
@@ -707,7 +702,7 @@ static inline int after_strict(struct sip_msg* _m)
if (res < 0) {
LM_ERR("searching for last Route URI failed\n");
return RR_ERROR;
- } else if (res > 0) {
+ } else if (res > 0) {
/* No remote target is an error */
return RR_ERROR;
}
@@ -731,7 +726,7 @@ static inline int after_strict(struct sip_msg* _m)
if (prev) {
rem_off = prev->nameaddr.name.s + prev->len;
rem_len = rt->nameaddr.name.s + rt->len - rem_off;
- } else {
+ } else {
rem_off = hdr->name.s;
rem_len = hdr->len;
}