Module: sip-router
Branch: master
Commit: d3a0a8b15af59846fdaee5d9ceae61484f1d7301
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d3a0a8b15af59846fdaee5d9ceae61484f1d7301

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date:   Wed Jul 17 20:19:28 2013 +0200

uac: restrict check of multiple from/to header changes to request route blocks

- it can occur many times in due to branch route usage
- reported by Andrew Pogrebennyk, FS#323

---

 modules/uac/replace.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/modules/uac/replace.c b/modules/uac/replace.c
index 791d69b..7f1f92c 100644
--- a/modules/uac/replace.c
+++ b/modules/uac/replace.c
@@ -39,6 +39,7 @@
 #include "../../parser/parse_from.h"
 #include "../../mem/mem.h"
 #include "../../data_lump.h"
+#include "../../route.h"
 #include "../../modules/tm/h_table.h"
 #include "../../modules/tm/tm_load.h"
 #include "../rr/api.h"
@@ -251,10 +252,12 @@ int replace_uri( struct sip_msg *msg, str *display, str 
*uri,
        str * dlgvar_names;
 
        uac_flag = (hdr==msg->from)?FL_USE_UAC_FROM:FL_USE_UAC_TO;
-       if(msg->msg_flags & uac_flag)
-       {
-               LM_ERR("Called uac_replace multiple times on the message\n");
-               return -1;
+       if(get_route_type()==REQUEST_ROUTE) {
+               if(msg->msg_flags & uac_flag)
+               {
+                       LM_ERR("Called uac_replace multiple times on the 
message\n");
+                       return -1;
+               }
        }
 
        /* consistency check! in AUTO mode, do NOT allow URI changing


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to