diff --git a/debian/patches/series b/debian/patches/series index 1f3131bc..42bf7961 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -32,3 +32,4 @@ sipwise/usage-reporting.patch sipwise/session_timers sipwise/introduce_forcesdp_from_pbx.patch sipwise/0001-TT-34704-Fix-sems-and-sems-pbx-to-write-pid-file-whe.patch +sipwise/0001-TT-53685-add_header_pattern_match_support.patch diff --git a/debian/patches/sipwise/0001-TT-53685-add_header_pattern_match_support.patch b/debian/patches/sipwise/0001-TT-53685-add_header_pattern_match_support.patch new file mode 100644 index 00000000..1f1fea2a --- /dev/null +++ b/debian/patches/sipwise/0001-TT-53685-add_header_pattern_match_support.patch @@ -0,0 +1,29 @@ +--- a/apps/sbc/HeaderFilter.cpp ++++ b/apps/sbc/HeaderFilter.cpp +@@ -28,6 +28,7 @@ + #include "log.h" + #include "AmUtils.h" + #include ++#include + + const char* FilterType2String(FilterType ft) { + switch(ft) { +@@ -216,11 +217,13 @@ + } + string hdr_name = hdrs.substr(start_pos, name_end-start_pos); + std::transform(hdr_name.begin(), hdr_name.end(), hdr_name.begin(), ::tolower); +- bool erase = false; +- if (f_type == Whitelist) { +- erase = headerfilter_list.find(hdr_name)==headerfilter_list.end(); +- } else if (f_type == Blacklist) { +- erase = headerfilter_list.find(hdr_name)!=headerfilter_list.end(); ++ bool erase = (f_type == Whitelist); ++ for (set::iterator it = headerfilter_list.begin(); ++ it != headerfilter_list.end(); ++it) { ++ if (fnmatch(it->c_str(), hdr_name.c_str(), 0) == 0) { ++ erase = (f_type != Whitelist); ++ break; ++ } + } + if (erase) { + DBG("erasing header '%s' by %s\n", hdr_name.c_str(), FilterType2String(f_type));