diff --git a/debian/patches/series b/debian/patches/series index ad2e43e56..1357ee331 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -20,6 +20,7 @@ upstream/debug/0002-pv-xavp-name-is-marked-as-PVT_XAVP-type.patch upstream/debug/0001-modules-debugger-trace-msg-out.patch upstream/debug/modules-debugger-add-dbg_pv_dump-config-function.patch upstream/websocket.patch +upstream/0001-uac-restrict-check-of-multiple-from-to-header-change.patch no_lib64_on_64_bits.patch no_INSTALL_file.patch fix_export.patch diff --git a/debian/patches/upstream/0001-uac-restrict-check-of-multiple-from-to-header-change.patch b/debian/patches/upstream/0001-uac-restrict-check-of-multiple-from-to-header-change.patch new file mode 100644 index 000000000..2aeacf913 --- /dev/null +++ b/debian/patches/upstream/0001-uac-restrict-check-of-multiple-from-to-header-change.patch @@ -0,0 +1,44 @@ +From d3a0a8b15af59846fdaee5d9ceae61484f1d7301 Mon Sep 17 00:00:00 2001 +From: Daniel-Constantin Mierla +Date: Wed, 17 Jul 2013 20:19:28 +0200 +Subject: [PATCH] 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 file 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 +-- +1.7.10.4 +