[Pkg-voip-commits] [kamailio] 02/03: update upstream fixes

Victor Seva Lopez maniac-guest at moszumanska.debian.org
Wed Jan 15 13:03:10 UTC 2014


This is an automated email from the git hooks/post-receive script.

maniac-guest pushed a commit to branch master
in repository kamailio.

commit 10e30f82cfc6dcd85be816f662361c84cd9ed714
Author: Victor Seva <linuxmaniac at torreviejawireless.org>
Date:   Wed Jan 15 13:13:03 2014 +0100

    update upstream fixes
---
 debian/patches/series                              |  26 +-
 ...-dialog_ng-Fix-segfault-in-dlg_new_dialog.patch |  28 --
 ...stats-use-share_prefix-for-deploying-MIBS.patch |  33 ++
 ...oups-include-gzcompress-sipt-and-mohqueue.patch |  66 ----
 ...uth-Fix-for-SIP-Digest-Segmentation-fault.patch | 100 ++++++
 ...ar_scscf-Fix-memory-corruption-in-build_c.patch | 127 +++++++
 ...setting-0-instead-of-r-for-sdp_get_line_s.patch | 377 ---------------------
 ...fs-compiler-optimization-level-made-varia.patch | 163 ---------
 ...ixed-path-for-deploying-mibs-when-net-snm.patch |  27 ++
 ...ore-fixed-several-clang-compiler-warnings.patch |  91 -----
 ...er-index-for-domain-column-when-laoding-e.patch |  31 --
 ...7-tm-safety-checks-inside-t_next_contacts.patch |  86 -----
 ...andle-error-case-when-deleting-contact-fa.patch | 282 ---------------
 ...d-double-locking-when-preloading-attribut.patch |  40 ---
 ...-check-for-double-free-in-q_malloc-as-in-.patch |  30 --
 ...te-a-local-pv-structure-when-parameter-is.patch |  36 --
 ...mporary-linking-of-reply-to-transaction-a.patch |  74 ----
 .../0013-snmpstats-fixe-MIB-file-definitions.patch |  45 ---
 ...e-update-timestamp-for-kamailio-specific-.patch |  37 --
 ...-pv-fixed-params-and-param-transformation.patch |  45 ---
 ...ules-pua-added-some-missing-lock-releases.patch |  58 ----
 ...ote-about-MySQL-InnoDB-not-supporting-INS.patch |  31 --
 .../upstream/0018-acc-regenerated-README.patch     |  27 --
 ...-updated-the-examples-with-tmrec-duration.patch |  76 -----
 ...h_ephemeral-added-OpenSSL-licensing-excep.patch | 114 -------
 ...utbound-added-OpenSSL-licensing-exception.patch |  80 -----
 ...bsocket-added-OpenSSL-licensing-exception.patch | 182 ----------
 27 files changed, 291 insertions(+), 2021 deletions(-)

diff --git a/debian/patches/series b/debian/patches/series
index 4bcdd47..4fd1736 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,25 +1,7 @@
-upstream/0001-dialog_ng-Fix-segfault-in-dlg_new_dialog.patch
-upstream/0002-Makefile.groups-include-gzcompress-sipt-and-mohqueue.patch
-upstream/0003-sdpops-fix-setting-0-instead-of-r-for-sdp_get_line_s.patch
-upstream/0004-Makefile.defs-compiler-optimization-level-made-varia.patch
-upstream/0005-core-fixed-several-clang-compiler-warnings.patch
-upstream/0006-usrloc-proper-index-for-domain-column-when-laoding-e.patch
-upstream/0007-tm-safety-checks-inside-t_next_contacts.patch
-upstream/0008-registrar-handle-error-case-when-deleting-contact-fa.patch
-upstream/0009-usrloc-avoid-double-locking-when-preloading-attribut.patch
-upstream/0010-core-safety-check-for-double-free-in-q_malloc-as-in-.patch
-upstream/0011-avpops-create-a-local-pv-structure-when-parameter-is.patch
-upstream/0012-tm-reset-temporary-linking-of-reply-to-transaction-a.patch
-upstream/0013-snmpstats-fixe-MIB-file-definitions.patch
-upstream/0014-db_flatstore-update-timestamp-for-kamailio-specific-.patch
-upstream/0015-modules-pv-fixed-params-and-param-transformation.patch
-upstream/0016-modules-pua-added-some-missing-lock-releases.patch
-upstream/0017-acc-added-note-about-MySQL-InnoDB-not-supporting-INS.patch
-upstream/0018-acc-regenerated-README.patch
-upstream/0019-tmrec-updated-the-examples-with-tmrec-duration.patch
-upstream/0020-modules-auth_ephemeral-added-OpenSSL-licensing-excep.patch
-upstream/0021-modules-outbound-added-OpenSSL-licensing-exception.patch
-upstream/0022-modules-websocket-added-OpenSSL-licensing-exception.patch
+upstream/0001-snmpstats-use-share_prefix-for-deploying-MIBS.patch
+upstream/0002-ims_auth-Fix-for-SIP-Digest-Segmentation-fault.patch
+upstream/0003-ims_registrar_scscf-Fix-memory-corruption-in-build_c.patch
+upstream/0004-snmpstats-fixed-path-for-deploying-mibs-when-net-snm.patch
 app_java-detect-JAVA_HOME-and-use-proper-libgcj-vers.patch
 no_lib64_on_64_bits.patch
 no_INSTALL_file.patch
diff --git a/debian/patches/upstream/0001-dialog_ng-Fix-segfault-in-dlg_new_dialog.patch b/debian/patches/upstream/0001-dialog_ng-Fix-segfault-in-dlg_new_dialog.patch
deleted file mode 100644
index 6b57884..0000000
--- a/debian/patches/upstream/0001-dialog_ng-Fix-segfault-in-dlg_new_dialog.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 7cc7bde95757ea8861c07acafeb528e09e0b52ac Mon Sep 17 00:00:00 2001
-From: Hugh Waite <hugh.waite at crocodile-rcs.com>
-Date: Wed, 4 Dec 2013 22:37:31 +0000
-Subject: [PATCH] dialog_ng: Fix segfault in dlg_new_dialog
-
-(cherry picked from commit 32f9c9187a9d886c46b24ee38173274da63febda)
----
- modules/dialog_ng/dlg_handlers.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/dialog_ng/dlg_handlers.c b/modules/dialog_ng/dlg_handlers.c
-index 262e923..93a00c7 100644
---- a/modules/dialog_ng/dlg_handlers.c
-+++ b/modules/dialog_ng/dlg_handlers.c
-@@ -905,9 +905,9 @@ int dlg_new_dialog(struct sip_msg *req, struct cell *t, const int run_initial_cb
-     if (populate_leg_info(dlg, req, t, DLG_CALLER_LEG,
-             &(get_from(req)->tag_value)) != 0) {
-         LM_ERR("could not add further info to the dialog\n");
--        shm_free(dlg);
-         lock_destroy(dlg->dlg_out_entries_lock);
-         lock_dealloc(dlg->dlg_out_entries_lock);
-+        shm_free(dlg);
-         return -1;
-     }
- 
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0001-snmpstats-use-share_prefix-for-deploying-MIBS.patch b/debian/patches/upstream/0001-snmpstats-use-share_prefix-for-deploying-MIBS.patch
new file mode 100644
index 0000000..2e50ae1
--- /dev/null
+++ b/debian/patches/upstream/0001-snmpstats-use-share_prefix-for-deploying-MIBS.patch
@@ -0,0 +1,33 @@
+From 620d9309a1bfe5e6f3ea0e93f40f267cd3f5f1bf Mon Sep 17 00:00:00 2001
+From: Daniel-Constantin Mierla <miconda at gmail.com>
+Date: Thu, 9 Jan 2014 19:19:31 +0100
+Subject: [PATCH] snmpstats: use $(share_prefix) for deploying MIBS
+
+(cherry picked from commit 5dde71f7fb9715a18dabfe0beeb152b0821c6fb0)
+
+Conflicts:
+	modules/snmpstats/Makefile
+---
+ modules/snmpstats/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules/snmpstats/Makefile b/modules/snmpstats/Makefile
+index 0778be1..a26c93e 100644
+--- a/modules/snmpstats/Makefile
++++ b/modules/snmpstats/Makefile
+@@ -14,10 +14,10 @@ ifeq ($(BUILDER),)
+ 	DEFS +=-I$(LOCALBASE)/include
+ 	BUILDAGENTLIBS =-L$(LOCALBASE)/lib -lnetsnmpmibs -lnetsnmpagent \
+ 		-lnetsnmphelpers -lnetsnmp
+-	INSTALLMIBDIR = $(cfg-prefix)/share/snmp/mibs
++	INSTALLMIBDIR =  $(share_prefix)/share/snmp/mibs
+ else
+ 	BUILDAGENTLIBS = $(shell net-snmp-config --netsnmp-agent-libs)
+-	INSTALLMIBDIR = $(cfg-prefix)$(shell net-snmp-config --prefix)/share/snmp/mibs
++	INSTALLMIBDIR = $(share_prefix)$(shell net-snmp-config --prefix)/share/snmp/mibs
+ endif 
+ 
+ ifeq ($(EMBEDDED_PERL),1)
+-- 
+1.8.5.2
+
diff --git a/debian/patches/upstream/0002-Makefile.groups-include-gzcompress-sipt-and-mohqueue.patch b/debian/patches/upstream/0002-Makefile.groups-include-gzcompress-sipt-and-mohqueue.patch
deleted file mode 100644
index a9f0bb1..0000000
--- a/debian/patches/upstream/0002-Makefile.groups-include-gzcompress-sipt-and-mohqueue.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From bd5335ac84bdb8854a7b7dab41136fe6abd01c9f Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Thu, 5 Dec 2013 09:58:38 +0100
-Subject: [PATCH] Makefile.groups: include gzcompress, sipt and mohqueue in
- packaging groups
-
-(cherry picked from commit 4dcbd1b1cbd4854607d286094c42d257623c548d)
----
- Makefile.groups | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.groups b/Makefile.groups
-index d1cad86..30f2f17 100644
---- a/Makefile.groups
-+++ b/Makefile.groups
-@@ -13,7 +13,7 @@ mod_list_basic=async auth benchmark blst cfg_rpc cfgutils corex counters \
- 				   mediaproxy mi_datagram mi_fifo mi_rpc mqueue \
- 				   nat_traversal nathelper path pike pv ratelimit rr rtimer \
- 				   rtpproxy sanity sdpops siputils sl statistics textops \
--				   textopsx tm tmx topoh xlog rtpproxy-ng stun
-+				   textopsx tm tmx topoh xlog rtpproxy-ng stun sipt
- 
- # - extra used modules, with no extra dependency
- mod_list_extra=avp auth_diameter call_control cnxcc dmq domainpolicy msrp pdb \
-@@ -23,7 +23,7 @@ mod_list_extra=avp auth_diameter call_control cnxcc dmq domainpolicy msrp pdb \
- # - common modules depending on database
- mod_list_db=acc alias_db auth_db avpops cfg_db db_text db_flatstore \
- 			  db_cluster dialog dispatcher domain drouting group \
--			  htable imc matrix msilo mtree p_usrloc pdt permissions \
-+			  htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \
- 			  pipelimit prefix_route registrar sipcapture siptrace speeddial \
- 			  sqlops uac uri_db userblacklist usrloc
- 
-@@ -154,6 +154,9 @@ mod_list_java=app_java
- # - modules depending on iptables library
- mod_list_iptrtpproxy=iptrtpproxy
- 
-+# - modules depending on gzip library
-+mod_list_gzcompress=gzcompress
-+
- # - all modules
- mod_list_all=$(sort $(mod_list_basic) $(mod_list_extra) \
- 			   $(mod_list_db) $(mod_list_dbuid) \
-@@ -175,7 +178,8 @@ mod_list_all=$(sort $(mod_list_basic) $(mod_list_extra) \
- 			   $(mod_list_iptrtpproxy) $(mod_list_mi_xmlrpc) \
- 			   $(mod_list_outbound) $(mod_list_osp) \
- 			   $(mod_list_java) $(mod_list_dnssec) \
--			   $(mod_list_sctp) $(mod_list_autheph))
-+			   $(mod_list_sctp) $(mod_list_autheph) \
-+			   $(mod_list_gzcompress))
- 
- 
- 
-@@ -333,6 +337,9 @@ module_group_ksctp=$(mod_list_sctp)
- # pkg auth_ephemeral module
- module_group_kautheph=$(mod_list_autheph)
- 
-+# pkg gzcompress module
-+module_group_kgzcompress=$(mod_list_gzcompress)
-+
- # list of static modules
- #
- static_modules:=
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0002-ims_auth-Fix-for-SIP-Digest-Segmentation-fault.patch b/debian/patches/upstream/0002-ims_auth-Fix-for-SIP-Digest-Segmentation-fault.patch
new file mode 100644
index 0000000..1da8084
--- /dev/null
+++ b/debian/patches/upstream/0002-ims_auth-Fix-for-SIP-Digest-Segmentation-fault.patch
@@ -0,0 +1,100 @@
+From 67c12f48926c88b265db1501e1d211309bebdc7e Mon Sep 17 00:00:00 2001
+From: Carsten Bock <carsten at ng-voice.com>
+Date: Sat, 11 Jan 2014 01:39:21 +0100
+Subject: [PATCH] ims_auth: Fix for SIP Digest (Segmentation fault) - Fix by
+ Marek Bazler (marek.bazler at acision.com)
+
+---
+ modules/ims_auth/authorize.c | 36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
+
+diff --git a/modules/ims_auth/authorize.c b/modules/ims_auth/authorize.c
+index 026e3b5..6b9bb13 100644
+--- a/modules/ims_auth/authorize.c
++++ b/modules/ims_auth/authorize.c
+@@ -89,8 +89,7 @@ extern int ignore_failed_auth;
+ extern int av_check_only_impu;
+ 
+ auth_hash_slot_t *auth_data; /**< Authentication vector hash table */
+-extern int auth_data_hash_size; /**< authentication vector hash table size */
+-
++static int act_auth_data_hash_size = 0; /**< authentication vector hash table size */
+ 
+ static str empty_s = {0, 0};
+ 
+@@ -192,7 +191,7 @@ void reg_await_timer(unsigned int ticks, void* param) {
+     int i;
+ 
+     LM_DBG("Looking for expired/useless at %d\n", ticks);
+-    for (i = 0; i < auth_data_hash_size; i++) {
++    for (i = 0; i < act_auth_data_hash_size; i++) {
+         auth_data_lock(i);
+         aud = auth_data[i].head;
+         while (aud) {
+@@ -704,8 +703,27 @@ int authenticate(struct sip_msg* msg, char* _realm, char* str2, int is_proxy_aut
+                     &qop_str,
+                     qop == QOP_AUTHINT,
+                     &msg->first_line.u.request.method, &uri, hbody, expected);
+-            LM_INFO("UE said: %.*s and we  expect %.*s ha1 %.*s (%.*s)\n",
+-                    response16.len, response16.s, /*av->authorization.len,av->authorization.s,*/32, expected, 32, ha1, msg->first_line.u.request.method.len, msg->first_line.u.request.method.s);
++            LM_INFO("UE said: %.*s and we expect %.*s ha1 %.*s (%.*s)\n",
++                    response16.len, response16.s, 
++                    /*av->authorization.len,av->authorization.s,*/32, expected,
++                    32, ha1,
++                    msg->first_line.u.request.method.len, msg->first_line.u.request.method.s);
++            break;
++        case AUTH_SIP_DIGEST:
++        case AUTH_DIGEST:
++            // memcpy of received HA1
++            memcpy(ha1, av->authorization.s, HASHHEXLEN); 
++            calc_response(ha1, &(av->authenticate),
++                    &nc,
++                    &cnonce,
++                    &qop_str,
++                    qop == QOP_AUTHINT,
++                    &msg->first_line.u.request.method, &uri, hbody, expected);
++            LM_INFO("UE said: %.*s and we expect %.*s ha1 %.*s (%.*s)\n",
++                    response16.len, response16.s, 
++                    32,expected, 
++                    32,ha1, 
++                    msg->first_line.u.request.method.len, msg->first_line.u.request.method.s);
+             break;
+         default:
+             LM_ERR("algorithm %.*s is not handled.\n",
+@@ -902,11 +920,11 @@ int auth_data_init(int size) {
+         return 0;
+     }
+     memset(auth_data, 0, sizeof (auth_hash_slot_t) * size);
+-    auth_data_hash_size = size;
+     for (i = 0; i < size; i++) {
+         auth_data[i].lock = lock_alloc();
+         lock_init(auth_data[i].lock);
+     }
++    act_auth_data_hash_size = size;
+     return 1;
+ }
+ 
+@@ -915,7 +933,7 @@ int auth_data_init(int size) {
+ void auth_data_destroy() {
+     int i;
+     auth_userdata *aud, *next;
+-    for (i = 0; i < auth_data_hash_size; i++) {
++    for (i = 0; i < act_auth_data_hash_size; i++) {
+         auth_data_lock(i);
+         lock_destroy(auth_data[i].lock);
+         lock_dealloc(auth_data[i].lock);
+@@ -1181,9 +1199,9 @@ void free_auth_userdata(auth_userdata * aud) {
+  */
+ inline unsigned int get_hash_auth(str private_identity, str public_identity) {
+ if (av_check_only_impu)
+-	return core_hash(&public_identity, 0, auth_data_hash_size);
++	return core_hash(&public_identity, 0, act_auth_data_hash_size);
+ else
+-	return core_hash(&public_identity, 0, auth_data_hash_size);
++	return core_hash(&public_identity, 0, act_auth_data_hash_size);
+ /*
+ 
+ 
+-- 
+1.8.5.2
+
diff --git a/debian/patches/upstream/0003-ims_registrar_scscf-Fix-memory-corruption-in-build_c.patch b/debian/patches/upstream/0003-ims_registrar_scscf-Fix-memory-corruption-in-build_c.patch
new file mode 100644
index 0000000..568f4d2
--- /dev/null
+++ b/debian/patches/upstream/0003-ims_registrar_scscf-Fix-memory-corruption-in-build_c.patch
@@ -0,0 +1,127 @@
+From fc0bad2c005048d73926cbf8637cd8ba10287bd8 Mon Sep 17 00:00:00 2001
+From: Carsten Bock <carsten at ng-voice.com>
+Date: Mon, 13 Jan 2014 12:04:13 +0100
+Subject: [PATCH] ims_registrar_scscf: Fix memory corruption in build_contacts,
+ in case no contacts available
+
+---
+ modules/ims_registrar_scscf/reply.c | 91 +++++++++++++++++++------------------
+ 1 file changed, 48 insertions(+), 43 deletions(-)
+
+diff --git a/modules/ims_registrar_scscf/reply.c b/modules/ims_registrar_scscf/reply.c
+index 64b31c3..cfefd5c 100644
+--- a/modules/ims_registrar_scscf/reply.c
++++ b/modules/ims_registrar_scscf/reply.c
+@@ -412,61 +412,66 @@ int build_contact(ucontact_t* c, contact_for_header_t** contact_header) {
+     tmp_contact_header->data_len = calc_buf_len(c);
+     tmp_contact_header->buf = (char*)shm_malloc(tmp_contact_header->data_len);
+ 
+-    p = tmp_contact_header->buf;
++    if (tmp_contact_header->data_len) {
++        p = tmp_contact_header->buf;
+ 
+-    memcpy(p, CONTACT_BEGIN, CONTACT_BEGIN_LEN);
+-    p += CONTACT_BEGIN_LEN;
++        memcpy(p, CONTACT_BEGIN, CONTACT_BEGIN_LEN);
++        p += CONTACT_BEGIN_LEN;
+ 
+-    fl = 0;
+-    while (c) {
+-        if (VALID_CONTACT(c, act_time)) {
+-            if (fl) {
+-                memcpy(p, CONTACT_SEP, CONTACT_SEP_LEN);
+-                p += CONTACT_SEP_LEN;
+-            } else {
+-                fl = 1;
+-            }
++        fl = 0;
++        while (c) {
++            if (VALID_CONTACT(c, act_time)) {
++                if (fl) {
++                    memcpy(p, CONTACT_SEP, CONTACT_SEP_LEN);
++                    p += CONTACT_SEP_LEN;
++                } else {
++                    fl = 1;
++                }
+ 
+-            *p++ = '<';
+-            memcpy(p, c->c.s, c->c.len);
+-            p += c->c.len;
+-            *p++ = '>';
++                *p++ = '<';
++                memcpy(p, c->c.s, c->c.len);
++                p += c->c.len;
++                *p++ = '>';
++
++                len = len_q(c->q);
++                if (len) {
++                    memcpy(p, Q_PARAM, Q_PARAM_LEN);
++                    p += Q_PARAM_LEN;
++                    memcpy(p, q2str(c->q, 0), len);
++                    p += len;
++                }
+ 
+-            len = len_q(c->q);
+-            if (len) {
+-                memcpy(p, Q_PARAM, Q_PARAM_LEN);
+-                p += Q_PARAM_LEN;
+-                memcpy(p, q2str(c->q, 0), len);
++                memcpy(p, EXPIRES_PARAM, EXPIRES_PARAM_LEN);
++                p += EXPIRES_PARAM_LEN;
++                cp = int2str((int) (c->expires - act_time), &len);
++                memcpy(p, cp, len);
+                 p += len;
++    
++                if (c->received.s) {
++                    *p++ = ';';
++                    memcpy(p, rcv_param.s, rcv_param.len);
++                    p += rcv_param.len;
++                    *p++ = '=';
++                    *p++ = '\"';
++                    memcpy(p, c->received.s, c->received.len);
++                    p += c->received.len;
++                    *p++ = '\"';
++                }
+             }
+ 
+-            memcpy(p, EXPIRES_PARAM, EXPIRES_PARAM_LEN);
+-            p += EXPIRES_PARAM_LEN;
+-            cp = int2str((int) (c->expires - act_time), &len);
+-            memcpy(p, cp, len);
+-            p += len;
+-
+-            if (c->received.s) {
+-                *p++ = ';';
+-                memcpy(p, rcv_param.s, rcv_param.len);
+-                p += rcv_param.len;
+-                *p++ = '=';
+-                *p++ = '\"';
+-                memcpy(p, c->received.s, c->received.len);
+-                p += c->received.len;
+-                *p++ = '\"';
+-            }
++            c = c->next;
+         }
+ 
+-        c = c->next;
+-    }
++        memcpy(p, CRLF, CRLF_LEN);
++        p += CRLF_LEN;
+ 
+-    memcpy(p, CRLF, CRLF_LEN);
+-    p += CRLF_LEN;
++        tmp_contact_header->data_len = p - tmp_contact_header->buf;
++
++        LM_DBG("created Contact HF: %.*s\n", tmp_contact_header->data_len, tmp_contact_header->buf);
++    } else 
++        LM_DBG("No Contact HF created, no contacts.\n");
+ 
+-    tmp_contact_header->data_len = p - tmp_contact_header->buf;
+ 
+-    LM_DBG("created Contact HF: %.*s\n", tmp_contact_header->data_len, tmp_contact_header->buf);
+     *contact_header = tmp_contact_header;
+     return 0;
+ }
+-- 
+1.8.5.2
+
diff --git a/debian/patches/upstream/0003-sdpops-fix-setting-0-instead-of-r-for-sdp_get_line_s.patch b/debian/patches/upstream/0003-sdpops-fix-setting-0-instead-of-r-for-sdp_get_line_s.patch
deleted file mode 100644
index db99f47..0000000
--- a/debian/patches/upstream/0003-sdpops-fix-setting-0-instead-of-r-for-sdp_get_line_s.patch
+++ /dev/null
@@ -1,377 +0,0 @@
-From c56e66287d4456692bdad0f2454896ffd342cf0d Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Fri, 6 Dec 2013 11:32:41 +0100
-Subject: [PATCH] sdpops: fix setting 0 instead of \r for
- sdp_get_line_startswith()
-
-- reported by Tuan Viet Nguyen
-
-(cherry picked from commit 041b12dc6e5ad88e981d44180436a90518cbcf0d)
----
- modules/sdpops/sdpops_mod.c | 156 ++++++++++++++++++++++----------------------
- 1 file changed, 78 insertions(+), 78 deletions(-)
-
-diff --git a/modules/sdpops/sdpops_mod.c b/modules/sdpops/sdpops_mod.c
-index a506fc6..16f2278 100644
---- a/modules/sdpops/sdpops_mod.c
-+++ b/modules/sdpops/sdpops_mod.c
-@@ -168,8 +168,8 @@ int sdp_remove_str_codec_id_attrs(sip_msg_t* msg,
- 	payload = sdp_stream->payload_attr;
- 	while (payload) {
- 		LM_DBG("a= ... for codec %.*s/%.*s\n",
--			payload->rtp_payload.len, payload->rtp_payload.s,
--			payload->rtp_enc.len, payload->rtp_enc.s);
-+				payload->rtp_payload.len, payload->rtp_payload.s,
-+				payload->rtp_enc.len, payload->rtp_enc.s);
- 		if(rm_codec->len==payload->rtp_payload.len
- 				&& strncmp(payload->rtp_payload.s, rm_codec->s,
- 					rm_codec->len)==0) {
-@@ -181,8 +181,8 @@ int sdp_remove_str_codec_id_attrs(sip_msg_t* msg,
- 							aline.len, 0);
- 					if (anchor == NULL) {
- 						LM_ERR("failed to remove [%.*s] inside [%.*s]\n",
--							rm_codec->len, rm_codec->s,
--							aline.len, aline.s);
-+								rm_codec->len, rm_codec->s,
-+								aline.len, aline.s);
- 						return -1;
- 					}
- 				}
-@@ -195,8 +195,8 @@ int sdp_remove_str_codec_id_attrs(sip_msg_t* msg,
- 							aline.len, 0);
- 					if (anchor == NULL) {
- 						LM_ERR("failed to remove [%.*s] inside [%.*s]\n",
--							rm_codec->len, rm_codec->s,
--							aline.len, aline.s);
-+								rm_codec->len, rm_codec->s,
-+								aline.len, aline.s);
- 						return -1;
- 					}
- 				}
-@@ -226,7 +226,7 @@ int sdp_codec_in_str(str *allcodecs, str* codec, char delim)
- 			if(codec->len <= allcodecs->len-i) {
- 				if(strncmp(&allcodecs->s[i], codec->s, codec->len)==0) {
- 					if(&allcodecs->s[i+codec->len]
--									== &allcodecs->s[allcodecs->len]
-+							== &allcodecs->s[allcodecs->len]
- 							|| allcodecs->s[i+codec->len] == delim) {
- 						/* match */
- 						return 1;
-@@ -263,12 +263,12 @@ int sdp_remove_str_codec_id(sip_msg_t* msg, str *allcodecs, str* rmcodec)
- 			if(rmcodec->len <= allcodecs->len-i) {
- 				if(strncmp(&allcodecs->s[i], rmcodec->s, rmcodec->len)==0) {
- 					if(&allcodecs->s[i+rmcodec->len]
--									== &allcodecs->s[allcodecs->len]
-+							== &allcodecs->s[allcodecs->len]
- 							|| allcodecs->s[i+rmcodec->len] == ' ') {
- 						/* match - remove also the space before codec id */
- 						LM_DBG("found codec [%.*s] inside [%.*s]\n",
--									rmcodec->len, rmcodec->s,
--									allcodecs->len, allcodecs->s);
-+								rmcodec->len, rmcodec->s,
-+								allcodecs->len, allcodecs->s);
- 						anchor = del_lump(msg, &allcodecs->s[i-1] - msg->buf,
- 								rmcodec->len+1, 0);
- 						if (anchor == NULL) {
-@@ -332,8 +332,8 @@ int sdp_remove_codecs_by_id(sip_msg_t* msg, str* codecs)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - payloads [%.*s]\n",
--				sdp_stream_num, sdp_session_num, 
--				sdp_stream->payloads.len, sdp_stream->payloads.s);
-+					sdp_stream_num, sdp_session_num, 
-+					sdp_stream->payloads.len, sdp_stream->payloads.s);
- 			sdp_codecs = sdp_stream->payloads;
- 			tmp_codecs = *codecs;
- 			while(str_find_token(&tmp_codecs, &rm_codec, ',')==0
-@@ -598,8 +598,8 @@ int sdp_keep_codecs_by_id(sip_msg_t* msg, str* codecs, str *media)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - payloads [%.*s]\n",
--				sdp_stream_num, sdp_session_num,
--				sdp_stream->payloads.len, sdp_stream->payloads.s);
-+					sdp_stream_num, sdp_session_num,
-+					sdp_stream->payloads.len, sdp_stream->payloads.s);
- 			if((media==NULL)
- 					|| (media->len==sdp_stream->media.len
- 						&& strncasecmp(sdp_stream->media.s, media->s,
-@@ -615,8 +615,8 @@ int sdp_keep_codecs_by_id(sip_msg_t* msg, str* codecs, str *media)
- 
- 					if(sdp_codec_in_str(codecs, &rm_codec, ',')==0) {
- 						LM_DBG("codecs [%.*s] - remove [%.*s]\n",
--							sdp_codecs.len, sdp_codecs.s,
--							rm_codec.len, rm_codec.s);
-+								sdp_codecs.len, sdp_codecs.s,
-+								rm_codec.len, rm_codec.s);
- 						sdp_remove_str_codec_id(msg, &sdp_codecs, &rm_codec);
- 						sdp_remove_str_codec_id_attrs(msg, sdp_stream, &rm_codec);
- 					}
-@@ -761,11 +761,11 @@ static int sdp_with_media(sip_msg_t *msg, str *media)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - media [%.*s]\n",
--				sdp_stream_num, sdp_session_num,
--				sdp_stream->media.len, sdp_stream->media.s);
-+					sdp_stream_num, sdp_session_num,
-+					sdp_stream->media.len, sdp_stream->media.s);
- 			if(media->len==sdp_stream->media.len
- 					&& strncasecmp(sdp_stream->media.s, media->s,
--							media->len)==0)
-+						media->len)==0)
- 				return 1;
- 			sdp_stream_num++;
- 		}
-@@ -838,16 +838,16 @@ static int sdp_remove_media(sip_msg_t *msg, str *media)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - media [%.*s]\n",
--				sdp_stream_num, sdp_session_num,
--				sdp_stream->media.len, sdp_stream->media.s);
-+					sdp_stream_num, sdp_session_num,
-+					sdp_stream->media.len, sdp_stream->media.s);
- 			if(media->len==sdp_stream->media.len
- 					&& strncasecmp(sdp_stream->media.s, media->s,
--							media->len)==0)
-+						media->len)==0)
- 			{
- 				/* found - remove */
- 				LM_DBG("removing media stream: %.*s", media->len, media->s);
- 				nxt_stream = get_sdp_stream(msg, sdp_session_num,
--								sdp_stream_num+1);
-+						sdp_stream_num+1);
- 				/* skip back 'm=' */
- 				dstart = sdp_stream->media.s - 2;
- 				if(!nxt_stream) {
-@@ -860,7 +860,7 @@ static int sdp_remove_media(sip_msg_t *msg, str *media)
- 				anchor = del_lump(msg, dstart - msg->buf, dlen, 0);
- 				if (anchor == NULL) {
- 					LM_ERR("failed to remove media type [%.*s]\n",
--						 media->len, media->s);
-+							media->len, media->s);
- 					return -1;
- 				}
- 
-@@ -930,11 +930,11 @@ static int sdp_with_transport(sip_msg_t *msg, str *transport)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - transport [%.*s]\n",
--				sdp_stream_num, sdp_session_num,
--				sdp_stream->transport.len, sdp_stream->transport.s);
-+					sdp_stream_num, sdp_session_num,
-+					sdp_stream->transport.len, sdp_stream->transport.s);
- 			if(transport->len==sdp_stream->transport.len
- 					&& strncasecmp(sdp_stream->transport.s, transport->s,
--							transport->len)==0)
-+						transport->len)==0)
- 				return 1;
- 			sdp_stream_num++;
- 		}
-@@ -1007,16 +1007,16 @@ static int sdp_remove_transport(sip_msg_t *msg, str *transport)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - transport [%.*s]\n",
--				sdp_stream_num, sdp_session_num,
--				sdp_stream->transport.len, sdp_stream->transport.s);
-+					sdp_stream_num, sdp_session_num,
-+					sdp_stream->transport.len, sdp_stream->transport.s);
- 			if(transport->len==sdp_stream->transport.len
- 					&& strncasecmp(sdp_stream->transport.s, transport->s,
--							transport->len)==0)
-+						transport->len)==0)
- 			{
- 				/* found - remove */
- 				LM_DBG("removing transport stream: %.*s", transport->len, transport->s);
- 				nxt_stream = get_sdp_stream(msg, sdp_session_num,
--								sdp_stream_num+1);
-+						sdp_stream_num+1);
- 				/* skip back 'm=' */
- 				dstart = sdp_stream->media.s - 2;
- 				if(!nxt_stream) {
-@@ -1029,7 +1029,7 @@ static int sdp_remove_transport(sip_msg_t *msg, str *transport)
- 				anchor = del_lump(msg, dstart - msg->buf, dlen, 0);
- 				if (anchor == NULL) {
- 					LM_ERR("failed to remove transport type [%.*s]\n",
--						 transport->len, transport->s);
-+							transport->len, transport->s);
- 					return -1;
- 				}
- 
-@@ -1111,8 +1111,8 @@ int sdp_with_codecs_by_id(sip_msg_t* msg, str* codecs)
- 			if(!sdp_stream) break;
- 
- 			LM_DBG("stream %d of %d - payloads [%.*s]\n",
--				sdp_stream_num, sdp_session_num,
--				sdp_stream->payloads.len, sdp_stream->payloads.s);
-+					sdp_stream_num, sdp_session_num,
-+					sdp_stream->payloads.len, sdp_stream->payloads.s);
- 			sdp_codecs = sdp_stream->payloads;
- 			tmp_codecs = *codecs;
- 			while(str_find_token(&tmp_codecs, &fnd_codec, ',')==0
-@@ -1123,13 +1123,13 @@ int sdp_with_codecs_by_id(sip_msg_t* msg, str* codecs)
- 
- 				if(sdp_codec_in_str(&sdp_codecs, &fnd_codec, ' ')==0) {
- 					LM_DBG("codecs [%.*s] - not found [%.*s]\n",
--						sdp_codecs.len, sdp_codecs.s,
--						fnd_codec.len, fnd_codec.s);
-+							sdp_codecs.len, sdp_codecs.s,
-+							fnd_codec.len, fnd_codec.s);
- 					notfound = 1;
- 				} else {
- 					LM_DBG("codecs [%.*s] - found [%.*s]\n",
--						sdp_codecs.len, sdp_codecs.s,
--						fnd_codec.len, fnd_codec.s);
-+							sdp_codecs.len, sdp_codecs.s,
-+							fnd_codec.len, fnd_codec.s);
- 					foundone = 1;
- 				}
- 			}
-@@ -1250,7 +1250,7 @@ static int w_sdp_get(sip_msg_t* msg, char *avp)
- 	str s;
- 	pv_spec_t *avp_spec = NULL;
- 	int sdp_missing=1;
--	
-+
- 	s.s = avp; s.len = strlen(s.s);
- 	if (pv_locate_name(&s) != s.len)
- 	{
-@@ -1275,7 +1275,7 @@ static int w_sdp_get(sip_msg_t* msg, char *avp)
- 		return -1;
- 	}
- 	sdp = (sdp_info_t*)msg->body;
--	
-+
- 	if (sdp_missing) {
- 		LM_DBG("No SDP\n");
- 		return -2;
-@@ -1286,10 +1286,10 @@ static int w_sdp_get(sip_msg_t* msg, char *avp)
- 	}
- 	if (add_avp(AVP_VAL_STR | avp_type, avp_name, avp_val) != 0)
- 	{
--	  LM_ERR("Failed to add SDP avp");
--	  return -1;
-+		LM_ERR("Failed to add SDP avp");
-+		return -1;
- 	}
--	
-+
- 	return 1;
- }
- 
-@@ -1314,16 +1314,16 @@ static int w_sdp_get_line_startswith(sip_msg_t *msg, char *avp, char *s_line)
- 	char* p = NULL;
- 	str s;
- 	str sline;
--        int_str avp_val;
--        int_str avp_name;
--        pv_spec_t *avp_spec = NULL;
--        static unsigned short avp_type = 0;
-+	int_str avp_val;
-+	int_str avp_name;
-+	pv_spec_t *avp_spec = NULL;
-+	static unsigned short avp_type = 0;
- 	int sdp_missing=1;
- 
- 	if (s_line == NULL || strlen(s_line) <= 0)
- 	{
- 		LM_ERR("Search string is null or empty\n");
--		    return -1;
-+		return -1;
- 	}
- 	sline.s = s_line;
- 	sline.len = strlen(s_line);
-@@ -1337,10 +1337,10 @@ static int w_sdp_get_line_startswith(sip_msg_t *msg, char *avp, char *s_line)
- 
- 	sdp = (sdp_info_t *)msg->body;
- 
--        if (sdp_missing || sdp == NULL)
-+	if (sdp_missing || sdp == NULL)
- 	{
--                LM_DBG("No SDP\n");
--                return -2;
-+		LM_DBG("No SDP\n");
-+		return -2;
- 	}
- 
- 	body.s = sdp->raw_sdp.s;
-@@ -1360,29 +1360,29 @@ static int w_sdp_get_line_startswith(sip_msg_t *msg, char *avp, char *s_line)
- 	if (avp == NULL || strlen(avp) <= 0)
- 	{
- 		LM_ERR("avp variable is null or empty\n");
--		    return -1;
-+		return -1;
- 	}
- 
- 	s.s = avp;
- 	s.len = strlen(s.s);
- 
- 	if (pv_locate_name(&s) != s.len)
--        {
--                LM_ERR("invalid parameter\n");
--                return -1;
--        }
--
--        if (((avp_spec = pv_cache_get(&s)) == NULL)
--                        || avp_spec->type!=PVT_AVP) {
--                LM_ERR("malformed or non AVP %s AVP definition\n", avp);
--                return -1;
--        }
--
--        if(pv_get_avp_name(0, &avp_spec->pvp, &avp_name, &avp_type)!=0)
--        {
--                LM_ERR("[%s]- invalid AVP definition\n", avp);
--                return -1;
--        }
-+	{
-+		LM_ERR("invalid parameter\n");
-+		return -1;
-+	}
-+
-+	if (((avp_spec = pv_cache_get(&s)) == NULL)
-+			|| avp_spec->type!=PVT_AVP) {
-+		LM_ERR("malformed or non AVP %s AVP definition\n", avp);
-+		return -1;
-+	}
-+
-+	if(pv_get_avp_name(0, &avp_spec->pvp, &avp_name, &avp_type)!=0)
-+	{
-+		LM_ERR("[%s]- invalid AVP definition\n", avp);
-+		return -1;
-+	}
- 
- 	p = find_sdp_line(body.s, body.s+body.len, sline.s[0]);
- 	while (p != NULL)
-@@ -1395,21 +1395,21 @@ static int w_sdp_get_line_startswith(sip_msg_t *msg, char *avp, char *s_line)
- 
- 		if (strncmp(line.s, sline.s, sline.len) == 0)
- 		{
--            		avp_val.s.s = line.s;
--            		avp_val.s.len = line.len;
-+			avp_val.s.s = line.s;
-+			avp_val.s.len = line.len;
- 
--			// remove ending \r\n if exists
-+			/* skip ending \r\n if exists */
- 			if (avp_val.s.s[line.len-2] == '\r' && avp_val.s.s[line.len-1] == '\n')
- 			{
--			    avp_val.s.s[line.len-2] = '\0';
--			    avp_val.s.len -= 2;
-+				/* add_avp() clones to shm and adds 0-terminating char */
-+				avp_val.s.len -= 2;
- 			}
- 
--    			if (add_avp(AVP_VAL_STR | avp_type, avp_name, avp_val) != 0)
--    			{
--        		    LM_ERR("Failed to add SDP line avp");
--        		    return -1;
--    			}
-+			if (add_avp(AVP_VAL_STR | avp_type, avp_name, avp_val) != 0)
-+			{
-+				LM_ERR("Failed to add SDP line avp");
-+				return -1;
-+			}
- 
- 			return 1;
- 		}
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0004-Makefile.defs-compiler-optimization-level-made-varia.patch b/debian/patches/upstream/0004-Makefile.defs-compiler-optimization-level-made-varia.patch
deleted file mode 100644
index 2e95c08..0000000
--- a/debian/patches/upstream/0004-Makefile.defs-compiler-optimization-level-made-varia.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 5552d9f733a6423d4d940f9b93a6808de0800a1d Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Fri, 6 Dec 2013 16:33:04 +0100
-Subject: [PATCH] Makefile.defs: compiler optimization level made variable
-
-- allow using -O3 for clang, which gives error on the former default -O9
-
-(cherry picked from commit 0713c0de50f8c2f4da2ee0ef33b0505c37792392)
----
- Makefile.defs | 32 +++++++++++++++++---------------
- 1 file changed, 17 insertions(+), 15 deletions(-)
-
-diff --git a/Makefile.defs b/Makefile.defs
-index 480a3f8..327eeb9 100644
---- a/Makefile.defs
-+++ b/Makefile.defs
-@@ -273,6 +273,7 @@ CC_LONGVER:=$(shell if  $(CC) -v 2>/dev/null; then \
- 					else \
- 						$(CC) -V 2>&1 ; \
- 					fi )
-+CC_OPT ?= -O9
- MKTAGS=ctags
- 
- #find-out the compiler's name
-@@ -334,6 +335,7 @@ ifneq (, $(findstring clang, $(CC_LONGVER)))
- 	CC_FULLVER:=$(shell echo "$(CC_LONGVER)" | head -n 1 |  sed -e 's/.*version \([0-9]\.[0-9]\).*/\1/g' )
- 	CC_SHORTVER:=$(shell echo "$(CC_FULLVER)" | cut -d. -f1,2 )
- 	CC_VER=$(CC) $(CC_FULLVER)
-+	CC_OPT=-O3
- 	MKDEP=$(CC) -MM 
- endif
- 
-@@ -887,7 +889,7 @@ ifeq	($(ARCH), i386)
- ifeq		($(CC_NAME), gcc) 
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS=-g -O9 -funroll-loops  -Wcast-align $(PROFILE)
-+				CFLAGS=-g $(CC_OPT) -funroll-loops  -Wcast-align $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- $(call				set_if_empty,CPU,athlon64)
-@@ -945,8 +947,8 @@ ifeq		($(CC_NAME), clang)
- $(call                          set_if_empty,CPU,athlon64)
- 					C_DEFS+=-DCC_GCC_LIKE_ASM
-                                         CFLAGS+=-m32
--                                                -O9      \
--                                                         \
-+                                                $(CC_OPT) \
-+                                                          \
-                                                 -mtune=$(CPU)
-                                         LDFLAGS+=-m32
- else			# CC_NAME, clang
-@@ -972,7 +974,7 @@ ifeq	($(ARCH), x86_64)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS=-g -O9 -funroll-loops  -Wcast-align $(PROFILE)
-+				CFLAGS=-g $(CC_OPT) -funroll-loops  -Wcast-align $(PROFILE)
- 			#if gcc 4.5+
- 			# don't add '-mtune=$(CPU)' - gcc failure
- ifeq			($(CC_SHORTVER), 4.5+)
-@@ -1041,7 +1043,7 @@ ifeq            ($(CC_NAME), clang)
- $(call                          set_if_empty,CPU,opteron)
- 					C_DEFS+=-DCC_GCC_LIKE_ASM
-                                         CFLAGS+=-m64 \
--                                                -O9        
-+                                                $(CC_OPT)        
-                                         LDFLAGS+=-m64
- else      	# CC_NAME, clang
- ifeq		($(CC_NAME), icc)
-@@ -1066,7 +1068,7 @@ ifeq	($(ARCH), sparc64)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM -DSPARC64_MODE
- 				#common stuff
--				CFLAGS=-g -O9 -funroll-loops  $(PROFILE) \
-+				CFLAGS=-g $(CC_OPT) -funroll-loops  $(PROFILE) \
- 					#-Wcast-align \
- 					#-Wmissing-prototypes 
- 				#if gcc 4.5+ or 4.2+
-@@ -1157,7 +1159,7 @@ ifeq	($(ARCH), sparc)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS=-g -O9 -funroll-loops  $(PROFILE) \
-+				CFLAGS=-g $(CC_OPT) -funroll-loops  $(PROFILE) \
- 					#-Wcast-align \
- 					#-Wmissing-prototypes 
- 				#if gcc 4.5+ or 4.2+
-@@ -1222,7 +1224,7 @@ ifeq	($(ARCH), arm)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS=-marm -march=armv5t -O9 -funroll-loops -fsigned-char $(PROFILE)
-+				CFLAGS=-marm -march=armv5t $(CC_OPT) -funroll-loops -fsigned-char $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- 					CFLAGS+= -ftree-vectorize -fno-strict-overflow
-@@ -1270,7 +1272,7 @@ ifeq	($(ARCH), arm6)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS=-march=armv6 -O9 -funroll-loops -fsigned-char \
-+				CFLAGS=-march=armv6 $(CC_OPT) -funroll-loops -fsigned-char \
- 						$(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
-@@ -1317,7 +1319,7 @@ ifeq	($(ARCH), mips)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS=-O9 -funroll-loops  $(PROFILE)
-+				CFLAGS=$(CC_OPT) -funroll-loops  $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- 					CFLAGS+=-march=r3000 -minline-all-stringops \
-@@ -1364,7 +1366,7 @@ ifeq	($(ARCH), mips2)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS= -mips2 -O9 -funroll-loops $(PROFILE)
-+				CFLAGS= -mips2 $(CC_OPT) -funroll-loops $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- 					CFLAGS+=-minline-all-stringops -ftree-vectorize \
-@@ -1409,7 +1411,7 @@ ifeq	($(ARCH), mips64)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS= -mips64 -O9 -funroll-loops $(PROFILE)
-+				CFLAGS= -mips64 $(CC_OPT) -funroll-loops $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- 					CFLAGS+=-minline-all-stringops -ftree-vectorize \
-@@ -1454,7 +1456,7 @@ ifeq	($(ARCH), alpha)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS= -O9 -funroll-loops $(PROFILE)
-+				CFLAGS= $(CC_OPT) -funroll-loops $(PROFILE)
- 			#if gcc 4.5 or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- 					CFLAGS+= -fno-strict-overflow
-@@ -1500,7 +1502,7 @@ ifeq	($(ARCH), ppc)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS= -O9 -funroll-loops -fsigned-char $(PROFILE)
-+				CFLAGS= $(CC_OPT) -funroll-loops -fsigned-char $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- $(call				set_if_empty,CPU,powerpc)
-@@ -1549,7 +1551,7 @@ ifeq	($(ARCH), ppc64)
- ifeq		($(CC_NAME), gcc)
- 				C_DEFS+=-DCC_GCC_LIKE_ASM
- 				#common stuff
--				CFLAGS= -O9 -funroll-loops -fsigned-char $(PROFILE)
-+				CFLAGS= $(CC_OPT) -funroll-loops -fsigned-char $(PROFILE)
- 			#if gcc 4.5+ or 4.2+
- ifeq (,$(strip $(filter-out 4.2+ 4.5+,$(CC_SHORTVER))))
- $(call				set_if_empty,CPU,powerpc64)
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0004-snmpstats-fixed-path-for-deploying-mibs-when-net-snm.patch b/debian/patches/upstream/0004-snmpstats-fixed-path-for-deploying-mibs-when-net-snm.patch
new file mode 100644
index 0000000..9b63877
--- /dev/null
+++ b/debian/patches/upstream/0004-snmpstats-fixed-path-for-deploying-mibs-when-net-snm.patch
@@ -0,0 +1,27 @@
+From ac1f9f9b601f3a6f3e53d55c5a061f35df6524e2 Mon Sep 17 00:00:00 2001
+From: Daniel-Constantin Mierla <miconda at gmail.com>
+Date: Tue, 14 Jan 2014 08:59:17 +0100
+Subject: [PATCH] snmpstats: fixed path for deploying mibs when net-snmp-config
+ is used
+
+(cherry picked from commit 777548d79f17a6eb81d241e18b22329e9654e951)
+---
+ modules/snmpstats/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/snmpstats/Makefile b/modules/snmpstats/Makefile
+index a26c93e..ea986ac 100644
+--- a/modules/snmpstats/Makefile
++++ b/modules/snmpstats/Makefile
+@@ -17,7 +17,7 @@ ifeq ($(BUILDER),)
+ 	INSTALLMIBDIR =  $(share_prefix)/share/snmp/mibs
+ else
+ 	BUILDAGENTLIBS = $(shell net-snmp-config --netsnmp-agent-libs)
+-	INSTALLMIBDIR = $(share_prefix)$(shell net-snmp-config --prefix)/share/snmp/mibs
++	INSTALLMIBDIR = $(basedir)$(shell net-snmp-config --prefix)/share/snmp/mibs
+ endif 
+ 
+ ifeq ($(EMBEDDED_PERL),1)
+-- 
+1.8.5.2
+
diff --git a/debian/patches/upstream/0005-core-fixed-several-clang-compiler-warnings.patch b/debian/patches/upstream/0005-core-fixed-several-clang-compiler-warnings.patch
deleted file mode 100644
index d4e8ed3..0000000
--- a/debian/patches/upstream/0005-core-fixed-several-clang-compiler-warnings.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 90681624c54f0ec0b1259e205bcc0274316b4549 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Fri, 6 Dec 2013 17:16:25 +0100
-Subject: [PATCH] core: fixed several clang compiler warnings
-
-(cherry picked from commit f0fb6f1e9fbb2f7f0c2bed5ba0d50a56cf5cf444)
----
- dset.c               | 4 ++--
- flags.c              | 2 +-
- msg_translator.c     | 2 +-
- parser/parse_fline.c | 2 +-
- select_buf.c         | 2 +-
- 5 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/dset.c b/dset.c
-index 13b000b..4b886bd 100644
---- a/dset.c
-+++ b/dset.c
-@@ -90,7 +90,7 @@ branch_t *get_sip_branch(int idx)
- 		return NULL;
- 	if(idx<0)
- 	{
--		if(nr_branches + idx >= 0)
-+		if((int)nr_branches + idx >= 0)
- 			return &branches[nr_branches+idx];
- 		return NULL;
- 	}
-@@ -109,7 +109,7 @@ int drop_sip_branch(int idx)
- {
- 	if(nr_branches==0 || idx>=nr_branches)
- 		return 0;
--	if(idx<0 && nr_branches+idx<0)
-+	if(idx<0 && (int)nr_branches+idx<0)
- 		return 0;
- 	/* last branch */
- 	if(idx==nr_branches-1)
-diff --git a/flags.c b/flags.c
-index 1523d0b..becb569 100644
---- a/flags.c
-+++ b/flags.c
-@@ -74,7 +74,7 @@ int flag_in_range( flag_t flag ) {
- 			flag, MAX_FLAG );
- 		return 0;
- 	}
--	if (flag<0) {
-+	if ((int)flag<0) {
- 		LOG(L_ERR, "ERROR: message flag (%d) must be in range %d..%d\n",
- 			flag, 0, MAX_FLAG );
- 		return 0;
-diff --git a/msg_translator.c b/msg_translator.c
-index b4581e7..13b0785 100644
---- a/msg_translator.c
-+++ b/msg_translator.c
-@@ -1575,7 +1575,7 @@ static inline int adjust_clen(struct sip_msg* msg, int body_delta, int proto)
- 		 */
- 		/* no need for Content-Length if it's and UDP packet and
- 		 * it hasn't Content-Length already */
--		if ((msg->content_length==0)){
-+		if (msg->content_length==0){
- 		    /* content-length doesn't exist, append it */
- 			/* msg->unparsed should point just before the final crlf
- 			 * - whole message was parsed by the above parse_headers
-diff --git a/parser/parse_fline.c b/parser/parse_fline.c
-index 8dacfe5..b8fee65 100644
---- a/parser/parse_fline.c
-+++ b/parser/parse_fline.c
-@@ -233,7 +233,7 @@ error:
- 	if (prn) {
- 		for (t=0; t<offset; t++)
- 			if (*(buffer+t)) *(prn+t)=*(buffer+t);
--			else *(prn+t)='�';
-+			else *(prn+t)=176; /* '�' */
- 		LOG(L_DBG, "parsed so far: %.*s\n", offset, ZSW(prn) );
- 		pkg_free( prn );
- 	};
-diff --git a/select_buf.c b/select_buf.c
-index b3463a8..7277d48 100644
---- a/select_buf.c
-+++ b/select_buf.c
-@@ -162,7 +162,7 @@ int int_to_static_buffer(str* res, int val)
- {
- 	char *c;
- 	c = int2str(abs(val), &res->len);
--	res->s = get_static_buffer(res->len+(val<0)?1:0);
-+	res->s = get_static_buffer(res->len+((val<0)?1:0));
- 	if (!res->s) return -1;
- 	if (val < 0) {
- 		res->s[0] = '-';	
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0006-usrloc-proper-index-for-domain-column-when-laoding-e.patch b/debian/patches/upstream/0006-usrloc-proper-index-for-domain-column-when-laoding-e.patch
deleted file mode 100644
index 76305ae..0000000
--- a/debian/patches/upstream/0006-usrloc-proper-index-for-domain-column-when-laoding-e.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 45ea3c6de26def1fa704f3e444bd37800ca09d9f Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Fri, 6 Dec 2013 18:02:36 +0100
-Subject: [PATCH] usrloc: proper index for domain column when laoding extra
- attributes
-
-- patch by Seudin Kasumovic, FS#377
-
-(cherry picked from commit 551524cfc83b922c23e2d26f8cc5950df2a0af54)
----
- modules/usrloc/udomain.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules/usrloc/udomain.c b/modules/usrloc/udomain.c
-index 244f8e7..a736051 100644
---- a/modules/usrloc/udomain.c
-+++ b/modules/usrloc/udomain.c
-@@ -1250,8 +1250,8 @@ int uldb_preload_attrs(udomain_t *_d)
- 			}
- 
- 			if (use_domain) {
--				domain.s = (char*)VAL_STRING(ROW_VALUES(row) + 6);
--				if (VAL_NULL(ROW_VALUES(row)+6) || domain.s==0 || domain.s[0]==0){
-+				domain.s = (char*)VAL_STRING(ROW_VALUES(row) + 5);
-+				if (VAL_NULL(ROW_VALUES(row)+5) || domain.s==0 || domain.s[0]==0){
- 					LM_CRIT("empty domain record for user %.*s...skipping\n",
- 							user.len, user.s);
- 					continue;
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0007-tm-safety-checks-inside-t_next_contacts.patch b/debian/patches/upstream/0007-tm-safety-checks-inside-t_next_contacts.patch
deleted file mode 100644
index 3b642ee..0000000
--- a/debian/patches/upstream/0007-tm-safety-checks-inside-t_next_contacts.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From f08c9545016da2bb974a1a8ded82c7aa25e9b704 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Sat, 7 Dec 2013 13:35:45 +0100
-Subject: [PATCH] tm: safety checks inside t_next_contacts()
-
-(cherry picked from commit 21027d0c17558f3a1a4797049448cbbdfe50554f)
----
- modules/tm/t_serial.c | 34 ++++++++++++++++++++++++++++------
- 1 file changed, 28 insertions(+), 6 deletions(-)
-
-diff --git a/modules/tm/t_serial.c b/modules/tm/t_serial.c
-index 93c7480..62200ad 100644
---- a/modules/tm/t_serial.c
-+++ b/modules/tm/t_serial.c
-@@ -488,14 +488,24 @@ int t_next_contacts(struct sip_msg* msg, char* key, char* value)
- 		il->next = (struct instance_list *)0;
- 		set_instance(msg, &instance);
- 	} else {
-+		instance.s = 0;
- 		instance.len = 0;
- 	}
- 
- 	vavp = xavp_get(&ruid_name, xavp->val.v.xavp);
--	ruid = vavp->val.v.s;
--
-+	if (vavp != NULL) {
-+		ruid = vavp->val.v.s;
-+	} else {
-+		ruid.s = 0;
-+		ruid.len = 0;
-+	}
- 	vavp = xavp_get(&ua_name, xavp->val.v.xavp);
--	location_ua = vavp->val.v.s;
-+	if (vavp != NULL) {
-+		location_ua = vavp->val.v.s;
-+	} else {
-+		location_ua.s = 0;
-+		location_ua.len = 0;
-+	}
- 
- 	/* Rewrite Request-URI */
- 	rewrite_uri(msg, &uri);
-@@ -582,10 +592,20 @@ int t_next_contacts(struct sip_msg* msg, char* key, char* value)
- 		flags = vavp->val.v.i;
- 
- 		vavp = xavp_get(&ruid_name, xavp->val.v.xavp);
--		ruid = vavp->val.v.s;
-+		if (vavp != NULL) {
-+			ruid = vavp->val.v.s;
-+		} else {
-+			ruid.s = 0;
-+			ruid.len = 0;
-+		}
- 
- 		vavp = xavp_get(&ua_name, xavp->val.v.xavp);
--		location_ua = vavp->val.v.s;
-+		if (vavp != NULL) {
-+			location_ua = vavp->val.v.s;
-+		} else {
-+			location_ua.s = 0;
-+			location_ua.len = 0;
-+		}
- 
- 		vavp = xavp_get(&instance_name, xavp->val.v.xavp);
- 		if (vavp != NULL) {
-@@ -623,6 +643,7 @@ int t_next_contacts(struct sip_msg* msg, char* key, char* value)
- 				il = ilp;
- 			}
- 		} else {
-+			instance.s = 0;
- 			instance.len = 0;
- 		}
- 
-@@ -632,7 +653,8 @@ int t_next_contacts(struct sip_msg* msg, char* key, char* value)
- 				dst_uri.len, (dst_uri.len > 0)?dst_uri.s:"",
- 				path.len, (path.len>0)?path.s:"",
- 				instance.len, (instance.len>0)?instance.s:"",
--				ruid.len, ruid.s, location_ua.len, location_ua.s);
-+				ruid.len, (ruid.len>0)?ruid.s:"",
-+				location_ua.len, (location_ua.len>0)?location_ua.s:"");
- 		if (append_branch(msg, &uri, &dst_uri, &path, 0, flags, sock, &instance, 0,
- 					&ruid, &location_ua) != 1) {
- 			LM_ERR("appending branch failed\n");
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0008-registrar-handle-error-case-when-deleting-contact-fa.patch b/debian/patches/upstream/0008-registrar-handle-error-case-when-deleting-contact-fa.patch
deleted file mode 100644
index c8c9463..0000000
--- a/debian/patches/upstream/0008-registrar-handle-error-case-when-deleting-contact-fa.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From efb2670ef03b69cb0ae26e7c9ac427c995ffbacf Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Mon, 9 Dec 2013 10:05:11 +0100
-Subject: [PATCH] registrar: handle error case when deleting contact fails for
- unregister()
-
-- reformatted file
-
-(cherry picked from commit 67d218e29457ffd75148c8c520b26ec6f3f41719)
----
- modules/registrar/save.c | 103 ++++++++++++++++++++++++-----------------------
- 1 file changed, 52 insertions(+), 51 deletions(-)
-
-diff --git a/modules/registrar/save.c b/modules/registrar/save.c
-index fc5d564..caa81df 100644
---- a/modules/registrar/save.c
-+++ b/modules/registrar/save.c
-@@ -95,7 +95,7 @@ static inline int star(sip_msg_t *_m, udomain_t* _d, str* _a, str *_h)
- {
- 	urecord_t* r;
- 	ucontact_t* c;
--	
-+
- 	ul.lock_udomain(_d, _a);
- 
- 	if (!ul.get_urecord(_d, _a, &r)) {
-@@ -114,11 +114,11 @@ static inline int star(sip_msg_t *_m, udomain_t* _d, str* _a, str *_h)
- 
- 	if (ul.delete_urecord(_d, _a, r) < 0) {
- 		LM_ERR("failed to remove record from usrloc\n");
--		
--		     /* Delete failed, try to get corresponding
--		      * record structure and send back all existing
--		      * contacts
--		      */
-+
-+		/* Delete failed, try to get corresponding
-+		 * record structure and send back all existing
-+		 * contacts
-+		 */
- 		rerrno = R_UL_DEL_R;
- 		if (!ul.get_urecord(_d, _a, &r)) {
- 			build_contact(_m, r->contacts, _h);
-@@ -133,7 +133,7 @@ static inline int star(sip_msg_t *_m, udomain_t* _d, str* _a, str *_h)
- 
- 
- /*! \brief
-- */
-+*/
- static struct socket_info *get_sock_val(struct sip_msg *msg)
- {
- 	struct socket_info *sock;
-@@ -179,10 +179,10 @@ static struct socket_info *get_sock_val(struct sip_msg *msg)
- 		socks = vavp->val.v.s;
- 	}
- 	if (parse_phostport( socks.s, &hosts.s, &hosts.len,
--	&port, &proto)!=0) {
-+				&port, &proto)!=0) {
- 		socks.s[socks.len] = c;
- 		LM_ERR("bad socket <%.*s> in \n",
--			socks.len, socks.s);
-+				socks.len, socks.s);
- 		return 0;
- 	}
- 	if(sock_hdr_name.len>0 && c!=0) {
-@@ -211,7 +211,7 @@ static inline int no_contacts(sip_msg_t *_m, udomain_t* _d, str* _a, str* _h)
- {
- 	urecord_t* r;
- 	int res;
--	
-+
- 	ul.lock_udomain(_d, _a);
- 	res = ul.get_urecord(_d, _a, &r);
- 	if (res < 0) {
-@@ -220,7 +220,7 @@ static inline int no_contacts(sip_msg_t *_m, udomain_t* _d, str* _a, str* _h)
- 		ul.unlock_udomain(_d, _a);
- 		return -1;
- 	}
--	
-+
- 	if (res == 0) {  /* Contacts found */
- 		build_contact(_m, r->contacts, _h);
- 		ul.release_urecord(r);
-@@ -280,7 +280,7 @@ static inline ucontact_info_t* pack_ci( struct sip_msg* _m, contact_t* _c, unsig
- 
- 		/* set tcp connection id */
- 		if (_m->rcv.proto==PROTO_TCP || _m->rcv.proto==PROTO_TLS
--		        || _m->rcv.proto==PROTO_WS  || _m->rcv.proto==PROTO_WSS) {
-+				|| _m->rcv.proto==PROTO_WS  || _m->rcv.proto==PROTO_WSS) {
- 			ci.tcpconn_id = _m->rcv.proto_reserved1;
- 		} else {
- 			ci.tcpconn_id = -1;
-@@ -288,7 +288,7 @@ static inline ucontact_info_t* pack_ci( struct sip_msg* _m, contact_t* _c, unsig
- 
- 		/* additional info from message */
- 		if (parse_headers(_m, HDR_USERAGENT_F, 0) != -1 && _m->user_agent &&
--		_m->user_agent->body.len>0 && _m->user_agent->body.len<MAX_UA_SIZE) {
-+				_m->user_agent->body.len>0 && _m->user_agent->body.len<MAX_UA_SIZE) {
- 			ci.user_agent = &_m->user_agent->body;
- 		} else {
- 			ci.user_agent = &no_ua;
-@@ -379,8 +379,8 @@ static inline ucontact_info_t* pack_ci( struct sip_msg* _m, contact_t* _c, unsig
- 				if (received_found==0) {
- 					memset(&val, 0, sizeof(int_str));
- 					if (rcv_avp_name.n!=0
--								&& search_first_avp(rcv_avp_type, rcv_avp_name, &val, 0)
--								&& val.s.len > 0) {
-+							&& search_first_avp(rcv_avp_type, rcv_avp_name, &val, 0)
-+							&& val.s.len > 0) {
- 						if (val.s.len>RECEIVED_MAX_SIZE) {
- 							rerrno = R_CONTACT_LEN;
- 							LM_ERR("received too long\n");
-@@ -574,13 +574,13 @@ error:
- 
- 
- static int test_max_contacts(struct sip_msg* _m, urecord_t* _r, contact_t* _c,
--										ucontact_info_t *ci, int mc)
-+		ucontact_info_t *ci, int mc)
- {
- 	int num;
- 	int e;
- 	ucontact_t* ptr, *cont;
- 	int ret;
--	
-+
- 	num = 0;
- 	ptr = _r->contacts;
- 	while(ptr) {
-@@ -590,7 +590,7 @@ static int test_max_contacts(struct sip_msg* _m, urecord_t* _r, contact_t* _c,
- 		ptr = ptr->next;
- 	}
- 	LM_DBG("%d valid contacts\n", num);
--	
-+
- 	for( ; _c ; _c = get_next_contact(_c) ) {
- 		/* calculate expires */
- 		calc_contact_expires(_m, _c->expires, &e);
-@@ -610,7 +610,7 @@ static int test_max_contacts(struct sip_msg* _m, urecord_t* _r, contact_t* _c,
- 			if (e == 0) num--;
- 		}
- 	}
--	
-+
- 	LM_DBG("%d contacts after commit\n", num);
- 	if (num > mc) {
- 		LM_INFO("too many contacts for AOR <%.*s>\n", _r->aor.len, _r->aor.s);
-@@ -668,7 +668,7 @@ static inline int update_contacts(struct sip_msg* _m, urecord_t* _r, int _mode,
- 
- #ifdef USE_TCP
- 	if ( (_m->flags&tcp_persistent_flag) &&
--	(_m->rcv.proto==PROTO_TCP||_m->rcv.proto==PROTO_TLS||_m->rcv.proto==PROTO_WS||_m->rcv.proto==PROTO_WSS)) {
-+			(_m->rcv.proto==PROTO_TCP||_m->rcv.proto==PROTO_TLS||_m->rcv.proto==PROTO_WS||_m->rcv.proto==PROTO_WSS)) {
- 		e_max = -1;
- 		tcp_check = 1;
- 	} else {
-@@ -756,15 +756,15 @@ static inline int update_contacts(struct sip_msg* _m, urecord_t* _r, int _mode,
- 				/* If call-id has changed then delete all records with this sip.instance
- 				   then insert new record */
- 				if (ci->instance.s != NULL &&
--					(ci->callid->len != c->callid.len ||
--						strncmp(ci->callid->s, c->callid.s, ci->callid->len) != 0))
-+						(ci->callid->len != c->callid.len ||
-+						 strncmp(ci->callid->s, c->callid.s, ci->callid->len) != 0))
- 				{
- 					ptr = _r->contacts;
- 					while (ptr)
- 					{
- 						ptr0 = ptr->next;
- 						if ((ptr != c) && ptr->instance.len == c->instance.len &&
--							strncmp(ptr->instance.s, c->instance.s, ptr->instance.len) == 0)
-+								strncmp(ptr->instance.s, c->instance.s, ptr->instance.len) == 0)
- 						{
- 							ul.delete_ucontact(_r, ptr);
- 						}
-@@ -912,12 +912,12 @@ int save(struct sip_msg* _m, udomain_t* _d, int _cflags, str *_uri)
- 	}
- 
- 	if (reg_outbound_mode != REG_OUTBOUND_NONE
--		&& !(parse_headers(_m, HDR_VIA2_F, 0) == -1 || _m->via2 == 0
--			|| _m->via2->error != PARSE_OK)) {
-+			&& !(parse_headers(_m, HDR_VIA2_F, 0) == -1 || _m->via2 == 0
-+				|| _m->via2->error != PARSE_OK)) {
- 		/* Outbound supported on server, and more than one Via: - not the first hop */
- 
- 		if (!(parse_headers(_m, HDR_PATH_F, 0) == -1 || _m->path == 0)) {
--		        route = (rr_t *)0;
-+			route = (rr_t *)0;
- 			if (parse_rr_body(_m->path->body.s, _m->path->body.len, &route) < 0) {
- 				LM_ERR("Failed to parse Path: header body\n");
- 				goto error;
-@@ -949,7 +949,7 @@ int save(struct sip_msg* _m, udomain_t* _d, int _cflags, str *_uri)
- 
- 		if ((use_ob == 0) && (reg_regid_mode == REG_REGID_OUTBOUND)) {
- 			if ((get_supported(_m) & F_OPTION_TAG_OUTBOUND)
--			    && contact->reg_id) {
-+					&& contact->reg_id) {
- 				LM_WARN("Outbound used by UAC but not supported by edge proxy\n");
- 				rerrno = R_OB_UNSUP_EDGE;
- 				goto error;
-@@ -959,7 +959,7 @@ int save(struct sip_msg* _m, udomain_t* _d, int _cflags, str *_uri)
- 			}
- 		}
- 	}
--	
-+
- 	get_act_time();
- 	c = get_first_contact(_m);
- 
-@@ -1012,9 +1012,9 @@ int unregister(struct sip_msg* _m, udomain_t* _d, str* _uri, str *_ruid)
- 	if (_ruid == NULL) {
- 		/* No ruid provided - remove all contacts for aor */
- 
--	        if (extract_aor(_uri, &aor, NULL) < 0) {
--		        LM_ERR("failed to extract Address Of Record\n");
--		        return -1;
-+		if (extract_aor(_uri, &aor, NULL) < 0) {
-+			LM_ERR("failed to extract Address Of Record\n");
-+			return -1;
- 		}
- 
- 		u = parse_to_uri(_m);
-@@ -1029,36 +1029,37 @@ int unregister(struct sip_msg* _m, udomain_t* _d, str* _uri, str *_ruid)
- 	} else {
- 		/* ruid provided - remove a specific contact */
- 
--	        if (_uri->len > 0) {
-+		if (_uri->len > 0) {
- 
--		        if (extract_aor(_uri, &aor, NULL) < 0) {
--		                LM_ERR("failed to extract Address Of Record\n");
--		                return -1;
--		        }
-+			if (extract_aor(_uri, &aor, NULL) < 0) {
-+				LM_ERR("failed to extract Address Of Record\n");
-+				return -1;
-+			}
- 
--		        if (ul.get_urecord_by_ruid(_d, ul.get_aorhash(&aor),
--						   _ruid, &r, &c) != 0) {
--			        LM_WARN("AOR/Contact not found\n");
--			        return -1;
-+			if (ul.get_urecord_by_ruid(_d, ul.get_aorhash(&aor),
-+						_ruid, &r, &c) != 0) {
-+				LM_WARN("AOR/Contact not found\n");
-+				return -1;
- 			}
- 			if (ul.delete_ucontact(r, c) != 0) {
--			        LM_WARN("could not delete contact\n");
--			        return -1;
-+				ul.unlock_udomain(_d, &aor);
-+				LM_WARN("could not delete contact\n");
-+				return -1;
- 			}
- 			ul.unlock_udomain(_d, &aor);
- 
- 		} else {
- 
--   		        res = ul.delete_urecord_by_ruid(_d, _ruid);
-+			res = ul.delete_urecord_by_ruid(_d, _ruid);
- 			switch (res) {
--			case -1:
--			        LM_ERR("could not delete contact\n");
--			        return -1;
--			case -2:
--			        LM_WARN("contact not found\n");
--			        return -1;
--			default:
--			        return 1;
-+				case -1:
-+					LM_ERR("could not delete contact\n");
-+					return -1;
-+				case -2:
-+					LM_WARN("contact not found\n");
-+					return -1;
-+				default:
-+					return 1;
- 			}
- 
- 		}
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0009-usrloc-avoid-double-locking-when-preloading-attribut.patch b/debian/patches/upstream/0009-usrloc-avoid-double-locking-when-preloading-attribut.patch
deleted file mode 100644
index 6456d76..0000000
--- a/debian/patches/upstream/0009-usrloc-avoid-double-locking-when-preloading-attribut.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8df9d2336e7de2648288cf8ff6821e6820d88da9 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Mon, 9 Dec 2013 10:06:15 +0100
-Subject: [PATCH] usrloc: avoid double locking when preloading attributes
-
-- reported by Seudin Kasumovic, FS#378
-
-(cherry picked from commit 888635bfa3719afeeea6f5f0d407aa862ceb34ac)
----
- modules/usrloc/udomain.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/modules/usrloc/udomain.c b/modules/usrloc/udomain.c
-index a736051..88fc7e4 100644
---- a/modules/usrloc/udomain.c
-+++ b/modules/usrloc/udomain.c
-@@ -1270,8 +1270,7 @@ int uldb_preload_attrs(udomain_t *_d)
- 				suri = user;
- 			}
- 
--			lock_udomain(_d, &suri);
--			if (get_urecord_by_ruid(_d, ul_get_aorhash(&suri), &ruid, &r, &c) > 0) {
-+			if (get_urecord_by_ruid(_d, ul_get_aorhash(&suri), &ruid, &r, &c) < 0) {
- 				/* delete attrs records from db table */
- 				LM_INFO("no contact record for this ruid\n");
- 				uldb_delete_attrs(_d->name, &user, &domain, &ruid);
-@@ -1287,8 +1286,9 @@ int uldb_preload_attrs(udomain_t *_d)
- 							LM_INFO("cannot add values to contact xavp\n");
- 					}
- 				}
-+				/* get_urecord_by_ruid() locks the slot */
-+				unlock_udomain(_d, &suri);
- 			}
--			unlock_udomain(_d, &user);
- 		}
- 
- 		if (DB_CAPABILITY(ul_dbf, DB_CAP_FETCH)) {
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0010-core-safety-check-for-double-free-in-q_malloc-as-in-.patch b/debian/patches/upstream/0010-core-safety-check-for-double-free-in-q_malloc-as-in-.patch
deleted file mode 100644
index e6c9428..0000000
--- a/debian/patches/upstream/0010-core-safety-check-for-double-free-in-q_malloc-as-in-.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From eaeb74f5b6af5be13f88de93729998f13e9a06b7 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Wed, 11 Dec 2013 09:49:52 +0100
-Subject: [PATCH] core: safety check for double free in q_malloc as in f_malloc
-
-(cherry picked from commit 943a5941f5ab479803fb30e19e9fa607f0f0fe14)
----
- mem/q_malloc.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/mem/q_malloc.c b/mem/q_malloc.c
-index 50acab9..8c36d03 100644
---- a/mem/q_malloc.c
-+++ b/mem/q_malloc.c
-@@ -473,6 +473,12 @@ void qm_free(struct qm_block* qm, void* p)
- 	MDBG("qm_free: freeing frag. %p alloc'ed from %s: %s(%ld)\n",
- 			f, f->file, f->func, f->line);
- #endif
-+	if (unlikely(f->u.is_free)){
-+		LM_INFO("freeing a free fragment (%p/%p) - ignore\n",
-+				f, p);
-+		return;
-+	}
-+
- 	size=f->size;
- 	qm->used-=size;
- 	qm->real_used-=size;
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0011-avpops-create-a-local-pv-structure-when-parameter-is.patch b/debian/patches/upstream/0011-avpops-create-a-local-pv-structure-when-parameter-is.patch
deleted file mode 100644
index 4b83f59..0000000
--- a/debian/patches/upstream/0011-avpops-create-a-local-pv-structure-when-parameter-is.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From e96a8b80fd253777e1d001ad778c5a62473ba010 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Wed, 11 Dec 2013 23:01:41 +0100
-Subject: [PATCH] avpops: create a local pv structure when parameter is only
- flags
-
-- flags details are stored inside it
-- fixes crash at startup reported by Kevin Scott Adams, FS#381
-
-(cherry picked from commit 3c88f1de9d647db8a14bae45af1fa3b34f74d4e6)
----
- modules/avpops/avpops_parse.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/modules/avpops/avpops_parse.c b/modules/avpops/avpops_parse.c
-index 3a16f18..3a6c5ec 100644
---- a/modules/avpops/avpops_parse.c
-+++ b/modules/avpops/avpops_parse.c
-@@ -129,6 +129,14 @@ int parse_avp_db(char *s, struct db_param *dbp, int allow_scheme)
- 				goto error;
- 			}
- 		}
-+		/* no pv to lookup, create one to store flags details */
-+		dbp->a.u.sval = (pv_spec_t*)pkg_malloc(sizeof(pv_spec_t));
-+		if(dbp->a.u.sval==NULL)
-+		{
-+			LM_ERR("no more pkg\n");
-+			goto error;
-+		}
-+		memset(dbp->a.u.sval, 0, sizeof(pv_spec_t));
- 		dbp->a.u.sval->pvp.pvn.u.isname.type |= (flags<<8)&0xff00;
- 		dbp->a.type = AVPOPS_VAL_NONE;
- 	} else {
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0012-tm-reset-temporary-linking-of-reply-to-transaction-a.patch b/debian/patches/upstream/0012-tm-reset-temporary-linking-of-reply-to-transaction-a.patch
deleted file mode 100644
index c9c1eee..0000000
--- a/debian/patches/upstream/0012-tm-reset-temporary-linking-of-reply-to-transaction-a.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 5b869a7c1c584f2762610c5310e7281375c8103d Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Wed, 11 Dec 2013 23:58:11 +0100
-Subject: [PATCH] tm: reset temporary linking of reply to transaction after
- branch failure route execution
-
-- reported by Robert Boisvert, FS#379
-
-(cherry picked from commit 0ebc983a422cd5ee4baa39bb3ef3bdbeeefd4571)
----
- modules/tm/t_reply.c | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c
-index 562b583..4d9901d 100644
---- a/modules/tm/t_reply.c
-+++ b/modules/tm/t_reply.c
-@@ -1093,7 +1093,7 @@ int run_branch_failure_handlers(struct cell *t, struct sip_msg *rpl,
- 
- 	/* failure_route for a local UAC? */
- 	if (!shmem_msg) {
--		LOG(L_WARN,"Warning: run_branch_failure_handlers: no UAC support (%d, %d) \n",
-+		LOG(L_WARN,"no UAC support (%d, %d) \n",
- 			on_branch_failure, t->tmcb_hl.reg_types);
- 		return 0;
- 	}
-@@ -1101,13 +1101,13 @@ int run_branch_failure_handlers(struct cell *t, struct sip_msg *rpl,
- 	/* don't start faking anything if we don't have to */
- 	if (unlikely((on_branch_failure < 0) && !has_tran_tmcbs( t, TMCB_ON_BRANCH_FAILURE))) {
- 		LOG(L_WARN,
--			"Warning: run_failure_handlers: no branch_failure handler (%d, %d)\n",
-+			"no branch_failure handler (%d, %d)\n",
- 			on_branch_failure, t->tmcb_hl.reg_types);
- 		return 1;
- 	}
- 
- 	if (!fake_req(&faked_req, shmem_msg, extra_flags, &t->uac[picked_branch])) {
--		LOG(L_ERR, "ERROR: run_branch_failure_handlers: fake_req failed\n");
-+		LOG(L_ERR, "fake_req failed\n");
- 		return 0;
- 	}
- 	/* fake also the env. conforming to the fake msg */
-@@ -1124,7 +1124,7 @@ int run_branch_failure_handlers(struct cell *t, struct sip_msg *rpl,
- 		if (exec_pre_script_cb(&faked_req, BRANCH_FAILURE_CB_TYPE)>0) {
- 			/* run a branch_failure_route action if some was marked */
- 			if (run_top_route(event_rt.rlist[on_branch_failure], &faked_req, 0)<0)
--				LOG(L_ERR, "ERROR: run_branch_failure_handlers: Error in run_top_route\n");
-+				LOG(L_ERR, "error in run_top_route\n");
- 			exec_post_script_cb(&faked_req, BRANCH_FAILURE_CB_TYPE);
- 		}
- 		/* update message flags, if changed in branch_failure route */
-@@ -1357,9 +1357,9 @@ static enum rps t_should_relay_response( struct cell *Trans , int new_code,
- 		/* also append the current reply to the transaction to
- 		 * make it available in failure routes - a kind of "fake"
- 		 * save of the final reply per branch */
--		Trans->uac[branch].reply = reply;
- 		if (unlikely(has_tran_tmcbs( Trans, TMCB_ON_BRANCH_FAILURE_RO|TMCB_ON_BRANCH_FAILURE)
--						|| (Trans->uac[picked_branch].on_branch_failure) )) {
-+						|| (Trans->uac[branch].on_branch_failure) )) {
-+			Trans->uac[branch].reply = reply;
- 			extra_flags=
- 				((Trans->uac[branch].request.flags & F_RB_TIMEOUT)?
- 							FL_TIMEOUT:0) | 
-@@ -1369,6 +1369,7 @@ static enum rps t_should_relay_response( struct cell *Trans , int new_code,
- 			picked_branch = branch;
- 			run_branch_failure_handlers( Trans, Trans->uac[branch].reply,
- 									new_code, extra_flags);
-+			Trans->uac[branch].reply = 0;
- 		}
- 
- 
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0013-snmpstats-fixe-MIB-file-definitions.patch b/debian/patches/upstream/0013-snmpstats-fixe-MIB-file-definitions.patch
deleted file mode 100644
index ab7fc1c..0000000
--- a/debian/patches/upstream/0013-snmpstats-fixe-MIB-file-definitions.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 98ecf7d2c5753357fd2c1d1e8e72f425e4d48f9b Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Thu, 12 Dec 2013 15:50:27 +0100
-Subject: [PATCH] snmpstats: fixe MIB file definitions
-
-- patch by takeshi, FS#363
-
-(cherry picked from commit ab75785aa707f10fdbccfb0531a0f35e820f5ebc)
----
- modules/snmpstats/mibs/KAMAILIO-TC | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/modules/snmpstats/mibs/KAMAILIO-TC b/modules/snmpstats/mibs/KAMAILIO-TC
-index 81d1459..171c491 100644
---- a/modules/snmpstats/mibs/KAMAILIO-TC
-+++ b/modules/snmpstats/mibs/KAMAILIO-TC
-@@ -62,7 +62,7 @@ KamailioSIPTransportProtocol ::= TEXTUAL-CONVENTION
-                             tcp(2),
-                             sctp(3),
-                             tls(4),
--                            sctp_tls(5),
-+                            sctptls(5),
- 			    ws(6),
- 			    wss(7)
-            }
-@@ -79,14 +79,13 @@ KamailioSIPEntityRole ::= TEXTUAL-CONVENTION
- 		operation of a SIP outbound edge proxy node.
- 		Kamailio adds the role 'sipcaptureServer' for
- 		operation of a Homer SIPcapture node."
--		"
-            SYNTAX BITS {
-                             other(0),
-                             userAgent(1),
-                             proxyServer(2),
-                             redirectServer(3),
--                            registrarServer(4)
--                            edgeproxyServer(5)
-+                            registrarServer(4),
-+                            edgeproxyServer(5),
-                             sipcaptureServer(6)
-            }
- 
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0014-db_flatstore-update-timestamp-for-kamailio-specific-.patch b/debian/patches/upstream/0014-db_flatstore-update-timestamp-for-kamailio-specific-.patch
deleted file mode 100644
index 0534e9e..0000000
--- a/debian/patches/upstream/0014-db_flatstore-update-timestamp-for-kamailio-specific-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From d75bc3b69151a9d0391309e6bb51784f3b6b9a83 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Mon, 16 Dec 2013 09:26:03 +0100
-Subject: [PATCH] db_flatstore: update timestamp for kamailio specific rpc
- rotate
-
-- do also in 'rotate' command, not only in 'k_rotate'
-- from a patch by Abdelkader Allam
-
-(cherry picked from commit b15aefa31e45f1ad6a45b64905f9fae24e0f790e)
----
- modules/db_flatstore/flat_rpc.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/modules/db_flatstore/flat_rpc.c b/modules/db_flatstore/flat_rpc.c
-index 2fe0d0f..5145d83 100644
---- a/modules/db_flatstore/flat_rpc.c
-+++ b/modules/db_flatstore/flat_rpc.c
-@@ -32,6 +32,7 @@
- 
- #include "flat_rpc.h"
- #include "flatstore_mod.h"
-+#include "km_flatstore_mod.h"
- 
- #include <time.h>
- 
-@@ -43,6 +44,7 @@
-  */
- static void rotate(rpc_t* rpc, void* c)
- {
-+	*km_flat_rotate = time(0);
- 	*flat_rotate = time(0);
- }
- 
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0015-modules-pv-fixed-params-and-param-transformation.patch b/debian/patches/upstream/0015-modules-pv-fixed-params-and-param-transformation.patch
deleted file mode 100644
index 64c6af7..0000000
--- a/debian/patches/upstream/0015-modules-pv-fixed-params-and-param-transformation.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 9e8c3f90e9467153b1e63a257ccdfb09adc4ecfd Mon Sep 17 00:00:00 2001
-From: Juha Heinanen <jh at tutpro.com>
-Date: Thu, 19 Dec 2013 16:21:25 +0200
-Subject: [PATCH] modules/pv: fixed params and param transformation
-
-- params need to be taken from sip_params field of sip_uri struct
-(cherry picked from commit e54b3ec673cb32664a1e8de2e591190f22216724)
----
- modules/pv/pv_trans.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/modules/pv/pv_trans.c b/modules/pv/pv_trans.c
-index 738efca..7c75deb 100644
---- a/modules/pv/pv_trans.c
-+++ b/modules/pv/pv_trans.c
-@@ -1025,7 +1025,7 @@ int tr_eval_uri(struct sip_msg *msg, tr_param_t *tp, int subtype,
- 			val->ri = _tr_parsed_uri.port_no;
- 			break;
- 		case TR_URI_PARAMS:
--			val->rs = (_tr_parsed_uri.params.s)?_tr_parsed_uri.params:_tr_empty;
-+			val->rs = (_tr_parsed_uri.sip_params.s)?_tr_parsed_uri.sip_params:_tr_empty;
- 			break;
- 		case TR_URI_PARAM:
- 			if(tp==NULL)
-@@ -1033,7 +1033,7 @@ int tr_eval_uri(struct sip_msg *msg, tr_param_t *tp, int subtype,
- 				LM_ERR("param invalid parameters\n");
- 				return -1;
- 			}
--			if(_tr_parsed_uri.params.len<=0)
-+			if(_tr_parsed_uri.sip_params.len<=0)
- 			{
- 				val->rs = _tr_empty;
- 				val->flags = PV_VAL_STR;
-@@ -1043,7 +1043,7 @@ int tr_eval_uri(struct sip_msg *msg, tr_param_t *tp, int subtype,
- 
- 			if(_tr_uri_params == NULL)
- 			{
--				sv = _tr_parsed_uri.params;
-+				sv = _tr_parsed_uri.sip_params;
- 				if (parse_params(&sv, CLASS_ANY, &phooks, &_tr_uri_params)<0)
- 					return -1;
- 			}
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0016-modules-pua-added-some-missing-lock-releases.patch b/debian/patches/upstream/0016-modules-pua-added-some-missing-lock-releases.patch
deleted file mode 100644
index e710c5d..0000000
--- a/debian/patches/upstream/0016-modules-pua-added-some-missing-lock-releases.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From a4060da5e1fe1e64c224ff32d669a699a0d5cd1d Mon Sep 17 00:00:00 2001
-From: Juha Heinanen <jh at tutpro.com>
-Date: Thu, 26 Dec 2013 17:51:04 +0200
-Subject: [PATCH] modules/pua: added some missing lock releases (cherry picked
- from commit 4eb338611e716e7a32f252acbae52bace6047a0a)
-
----
- modules/pua/send_subscribe.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/modules/pua/send_subscribe.c b/modules/pua/send_subscribe.c
-index 006bae4..d568ff2 100644
---- a/modules/pua/send_subscribe.c
-+++ b/modules/pua/send_subscribe.c
-@@ -1030,8 +1030,12 @@ int send_subscribe(subs_info_t* subs)
- insert:
- 	
- 		if (subs->expires == 0)
-+		{
- 			/* Don't create a new dialog when expires == 0 */
--			goto done;	
-+       			if (dbmode != PUA_DB_ONLY)
-+				lock_release(&HashT->p_records[hash_code].lock);
-+			goto done;
-+		}
- 
- 		if(subs->flag & UPDATE_TYPE)
- 		{
-@@ -1044,6 +1048,8 @@ insert:
- 		{
- 			LM_ERR("while building callback"
- 					" param\n");
-+       			if (dbmode != PUA_DB_ONLY)
-+				lock_release(&HashT->p_records[hash_code].lock);
- 			goto error;
- 		}
- 		hentity->flag= flag;
-@@ -1068,6 +1074,8 @@ insert:
- 				uac_r.dialog = 0;
- 			}
- 			shm_free(hentity);
-+       			if (dbmode != PUA_DB_ONLY)
-+				lock_release(&HashT->p_records[hash_code].lock);
- 
- 			/* Although this is an error must not return -1 as the
- 			   calling function must continue processing. */
-@@ -1089,6 +1097,8 @@ insert:
- 		if(presentity== NULL)
- 		{
- 			LM_ERR("no more share memory\n");
-+       			if (dbmode != PUA_DB_ONLY)
-+				lock_release(&HashT->p_records[hash_code].lock);
- 			goto error;
- 		}
- 		memset(presentity, 0, size);
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0017-acc-added-note-about-MySQL-InnoDB-not-supporting-INS.patch b/debian/patches/upstream/0017-acc-added-note-about-MySQL-InnoDB-not-supporting-INS.patch
deleted file mode 100644
index 78d1de2..0000000
--- a/debian/patches/upstream/0017-acc-added-note-about-MySQL-InnoDB-not-supporting-INS.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4ac82cdf92ae6c0e2ff9c1238bfe28cfcefea99c Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Fri, 3 Jan 2014 10:04:39 +0100
-Subject: [PATCH] acc: added note about MySQL InnoDB not supporting INSERT
- DELAYED
-
-- reported by Daniel Tryba
-
-(cherry picked from commit d26eff22c8a543c63a40cd7d91bb3c70f04aabc6)
----
- modules/acc/doc/acc_admin.xml | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/modules/acc/doc/acc_admin.xml b/modules/acc/doc/acc_admin.xml
-index 97858be..33ca1f8 100644
---- a/modules/acc/doc/acc_admin.xml
-+++ b/modules/acc/doc/acc_admin.xml
-@@ -1093,7 +1093,9 @@ modparam("acc", "db_extra", "ct=$hdr(Content-type); email=$avp(s:email)")
- 		<para>
- 		If set to 1, use INSERT DELAYED to add records to accounting tables
- 		when the DB driver has support for it. If no INSERT DELAYED support
--		is offered by DB driver, then standard INSERT is used.
-+		is offered by DB driver, then standard INSERT is used. Beware that
-+		MySQL InnoDB engine doesn't support INSERT DELAYED, thus be sure
-+		the acc tables are defined with different type (e.g., MyISAM).
- 		</para>
- 		<para>
- 		Default value is 0 (no INSERT DELAYED).
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0018-acc-regenerated-README.patch b/debian/patches/upstream/0018-acc-regenerated-README.patch
deleted file mode 100644
index 0e08411..0000000
--- a/debian/patches/upstream/0018-acc-regenerated-README.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 2ac00f9083846b958da5396cb4f5a51527957324 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Fri, 3 Jan 2014 10:11:26 +0100
-Subject: [PATCH] acc: regenerated README
-
----
- modules/acc/README | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/modules/acc/README b/modules/acc/README
-index f6b1c5c..7a6361c 100644
---- a/modules/acc/README
-+++ b/modules/acc/README
-@@ -1109,7 +1109,9 @@ modparam("acc", "db_extra", "ct=$hdr(Content-type); email=$avp(s:email)")
- 
-    If set to 1, use INSERT DELAYED to add records to accounting tables
-    when the DB driver has support for it. If no INSERT DELAYED support is
--   offered by DB driver, then standard INSERT is used.
-+   offered by DB driver, then standard INSERT is used. Beware that MySQL
-+   InnoDB engine doesn't support INSERT DELAYED, thus be sure the acc
-+   tables are defined with different type (e.g., MyISAM).
- 
-    Default value is 0 (no INSERT DELAYED).
- 
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0019-tmrec-updated-the-examples-with-tmrec-duration.patch b/debian/patches/upstream/0019-tmrec-updated-the-examples-with-tmrec-duration.patch
deleted file mode 100644
index 3e7b921..0000000
--- a/debian/patches/upstream/0019-tmrec-updated-the-examples-with-tmrec-duration.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From df0218611b8f27ccaa924b8f88560c2e81966823 Mon Sep 17 00:00:00 2001
-From: Daniel-Constantin Mierla <miconda at gmail.com>
-Date: Thu, 2 Jan 2014 11:25:56 +0100
-Subject: [PATCH] tmrec: updated the examples with tmrec duration
-
-- hint to read rfc2445 for duration format
-
-(cherry picked from commit 99d1170469c60206992c083f2ba0e9dc6b580d37)
----
- modules/tmrec/README              | 8 ++++----
- modules/tmrec/doc/tmrec_admin.xml | 7 ++++---
- 2 files changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/modules/tmrec/README b/modules/tmrec/README
-index 6cffee0..84b7a56 100644
---- a/modules/tmrec/README
-+++ b/modules/tmrec/README
-@@ -138,7 +138,7 @@ modparam("tmrec", "separator", ";")
-        subsequent intervals do not overlap. For non-recurring intervals,
-        durations of any positive length are permitted. Zero-length
-        duration means "forever". Negative-length durations are not
--       allowed.
-+       allowed. See RFC 2445 for the format of duration.
-      * frequency - can be one of the following values: "daily" - specify
-        repeating periods based on an interval of a day or more; "weekly" -
-        specify repeating periods based on an interval of a week or more;
-@@ -222,9 +222,9 @@ modparam("tmrec", "separator", ";")
- 
-    Example 1.2. tmrec_match usage
- ...
--        if(tmrec_match("20120101T000000|24H|weekly|||SA,SU")
-+        if(tmrec_match("20120101T000000|PT24H|weekly|||SA,SU")
-         xdbg("it is weekend!\n");
--    if(tmrec_match("20120101T083000|10H|weekly|||MO,TU,WE,TH,FR")
-+    if(tmrec_match("20120101T083000|PT10H|weekly|||MO,TU,WE,TH,FR")
-         xdbg("it is with working hours\n");
- ...
- 
-@@ -298,7 +298,7 @@ if(is_leap_year("2010"))
- 
-    Example 1.4. time_period_match usage
- ...
--if(time_period_match("wd{1-5} hr{8-16}, wd{1-5} hr{17} min{0-29}"))
-+if(time_period_match("wd{2-6} hr{8-16}, wd{1-5} hr{17} min{0-29}"))
-         xdbg("Monday to Friday, 8:00 to 17:30\n");
- 
- if(time_period_match("weekday { sat sun }, weekday {mo-fr} hr {17-8},wd{mo-wed}h
-diff --git a/modules/tmrec/doc/tmrec_admin.xml b/modules/tmrec/doc/tmrec_admin.xml
-index 782b1f1..7a429eb 100644
---- a/modules/tmrec/doc/tmrec_admin.xml
-+++ b/modules/tmrec/doc/tmrec_admin.xml
-@@ -127,7 +127,8 @@ modparam("tmrec", "separator", ";")
- 			be small enough such that subsequent intervals do not overlap. 
- 			For non-recurring intervals, durations of any positive length are 
- 			permitted.  Zero-length duration means <quote>forever</quote>. 
--			Negative-length durations are not allowed.
-+			Negative-length durations are not allowed. See RFC 2445 for
-+			the format of duration.
- 			</para>
- 		</listitem>
- 		<listitem>
-@@ -274,9 +275,9 @@ modparam("tmrec", "separator", ";")
- 		<title><function>tmrec_match</function> usage</title>
- 		<programlisting format="linespecific">
- ...
--	if(tmrec_match("20120101T000000|24H|weekly|||SA,SU")
-+	if(tmrec_match("20120101T000000|PT24H|weekly|||SA,SU")
-         xdbg("it is weekend!\n");
--    if(tmrec_match("20120101T083000|10H|weekly|||MO,TU,WE,TH,FR")
-+    if(tmrec_match("20120101T083000|PT10H|weekly|||MO,TU,WE,TH,FR")
-         xdbg("it is with working hours\n");
- ...
- </programlisting>
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0020-modules-auth_ephemeral-added-OpenSSL-licensing-excep.patch b/debian/patches/upstream/0020-modules-auth_ephemeral-added-OpenSSL-licensing-excep.patch
deleted file mode 100644
index 9a1c307..0000000
--- a/debian/patches/upstream/0020-modules-auth_ephemeral-added-OpenSSL-licensing-excep.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From fb364e0b29ce388574a61ebc4a428c559c411a2a Mon Sep 17 00:00:00 2001
-From: Peter Dunkley <peter.dunkley at crocodile-rcs.com>
-Date: Sun, 5 Jan 2014 18:15:07 +0000
-Subject: [PATCH] modules/auth_ephemeral: added OpenSSL licensing exception
-
-(cherry picked from commit 99960be1d55df2ba4ca596c42c8e78e36dad3cf1)
----
- modules/auth_ephemeral/autheph_mod.c | 5 +++++
- modules/auth_ephemeral/autheph_mod.h | 5 +++++
- modules/auth_ephemeral/authorize.c   | 5 +++++
- modules/auth_ephemeral/authorize.h   | 5 +++++
- modules/auth_ephemeral/checks.c      | 5 +++++
- modules/auth_ephemeral/checks.h      | 5 +++++
- 6 files changed, 30 insertions(+)
-
-diff --git a/modules/auth_ephemeral/autheph_mod.c b/modules/auth_ephemeral/autheph_mod.c
-index 8e72fba..fb59e56 100644
---- a/modules/auth_ephemeral/autheph_mod.c
-+++ b/modules/auth_ephemeral/autheph_mod.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #include "../../dprint.h"
- #include "../../locking.h"
-diff --git a/modules/auth_ephemeral/autheph_mod.h b/modules/auth_ephemeral/autheph_mod.h
-index 62bc808..3ad2356 100644
---- a/modules/auth_ephemeral/autheph_mod.h
-+++ b/modules/auth_ephemeral/autheph_mod.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #ifndef AUTHEPH_MOD_H
- #define AUTHEPH_MOD_H
-diff --git a/modules/auth_ephemeral/authorize.c b/modules/auth_ephemeral/authorize.c
-index a09a9f8..454ecac 100644
---- a/modules/auth_ephemeral/authorize.c
-+++ b/modules/auth_ephemeral/authorize.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #include <openssl/hmac.h>
- #include <openssl/sha.h>
-diff --git a/modules/auth_ephemeral/authorize.h b/modules/auth_ephemeral/authorize.h
-index 8ce9331..0a7bb91 100644
---- a/modules/auth_ephemeral/authorize.h
-+++ b/modules/auth_ephemeral/authorize.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #ifndef AUTHORIZE_H
- #define AUTHORIZE_H
-diff --git a/modules/auth_ephemeral/checks.c b/modules/auth_ephemeral/checks.c
-index 447e997..dacec11 100644
---- a/modules/auth_ephemeral/checks.c
-+++ b/modules/auth_ephemeral/checks.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #include "../../dprint.h"
- #include "../../mod_fix.h"
-diff --git a/modules/auth_ephemeral/checks.h b/modules/auth_ephemeral/checks.h
-index 27cb7fe..ee23c7e 100644
---- a/modules/auth_ephemeral/checks.h
-+++ b/modules/auth_ephemeral/checks.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #ifndef CHECKS_H
- #define CHECKS_H
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0021-modules-outbound-added-OpenSSL-licensing-exception.patch b/debian/patches/upstream/0021-modules-outbound-added-OpenSSL-licensing-exception.patch
deleted file mode 100644
index 16c76f1..0000000
--- a/debian/patches/upstream/0021-modules-outbound-added-OpenSSL-licensing-exception.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From bdb3a86c4453790a91de5aa2320de5b5bb26ad5c Mon Sep 17 00:00:00 2001
-From: Peter Dunkley <peter.dunkley at crocodile-rcs.com>
-Date: Sun, 5 Jan 2014 18:15:33 +0000
-Subject: [PATCH] modules/outbound: added OpenSSL licensing exception
-
-(cherry picked from commit 6741c47ad75806355cd7564d419df56acc68987b)
----
- modules/outbound/api.h    | 5 +++++
- modules/outbound/config.c | 5 +++++
- modules/outbound/config.h | 5 +++++
- modules/outbound/ob_mod.c | 5 +++++
- 4 files changed, 20 insertions(+)
-
-diff --git a/modules/outbound/api.h b/modules/outbound/api.h
-index fc0e8b9..facc1db 100644
---- a/modules/outbound/api.h
-+++ b/modules/outbound/api.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #ifndef OB_API_H
-diff --git a/modules/outbound/config.c b/modules/outbound/config.c
-index bcb6fbb..5b291f4 100644
---- a/modules/outbound/config.c
-+++ b/modules/outbound/config.c
-@@ -17,6 +17,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- /*!
-diff --git a/modules/outbound/config.h b/modules/outbound/config.h
-index 0410ff5..cf6796e 100644
---- a/modules/outbound/config.h
-+++ b/modules/outbound/config.h
-@@ -17,6 +17,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- /*!
-diff --git a/modules/outbound/ob_mod.c b/modules/outbound/ob_mod.c
-index 9902e91..038c5fa 100644
---- a/modules/outbound/ob_mod.c
-+++ b/modules/outbound/ob_mod.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- #include <openssl/hmac.h>
- #include <openssl/rand.h>
--- 
-1.8.5.2
-
diff --git a/debian/patches/upstream/0022-modules-websocket-added-OpenSSL-licensing-exception.patch b/debian/patches/upstream/0022-modules-websocket-added-OpenSSL-licensing-exception.patch
deleted file mode 100644
index c11d973..0000000
--- a/debian/patches/upstream/0022-modules-websocket-added-OpenSSL-licensing-exception.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-From 71463b06efa2997950aaf1ef088076258fe8a03a Mon Sep 17 00:00:00 2001
-From: Peter Dunkley <peter.dunkley at crocodile-rcs.com>
-Date: Sun, 5 Jan 2014 18:16:04 +0000
-Subject: [PATCH] modules/websocket: added OpenSSL licensing exception
-
-(cherry picked from commit 661d7d3a6231713861a8a1236dd7d783113c2890)
----
- modules/websocket/config.c       | 5 +++++
- modules/websocket/config.h       | 5 +++++
- modules/websocket/ws_conn.c      | 5 +++++
- modules/websocket/ws_conn.h      | 5 +++++
- modules/websocket/ws_frame.c     | 5 +++++
- modules/websocket/ws_frame.h     | 5 +++++
- modules/websocket/ws_handshake.c | 5 +++++
- modules/websocket/ws_handshake.h | 5 +++++
- modules/websocket/ws_mod.c       | 5 +++++
- modules/websocket/ws_mod.h       | 5 +++++
- 10 files changed, 50 insertions(+)
-
-diff --git a/modules/websocket/config.c b/modules/websocket/config.c
-index e6e6a50..a0607a7 100644
---- a/modules/websocket/config.c
-+++ b/modules/websocket/config.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- /*!
-diff --git a/modules/websocket/config.h b/modules/websocket/config.h
-index 690649e..64ed5bd 100644
---- a/modules/websocket/config.h
-+++ b/modules/websocket/config.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- /*!
-diff --git a/modules/websocket/ws_conn.c b/modules/websocket/ws_conn.c
-index 613f14e..9f2b672 100644
---- a/modules/websocket/ws_conn.c
-+++ b/modules/websocket/ws_conn.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #include "../../locking.h"
-diff --git a/modules/websocket/ws_conn.h b/modules/websocket/ws_conn.h
-index d022d0e..0c7d639 100644
---- a/modules/websocket/ws_conn.h
-+++ b/modules/websocket/ws_conn.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #ifndef _WS_CONN_H
-diff --git a/modules/websocket/ws_frame.c b/modules/websocket/ws_frame.c
-index a3a4cef..3ccb4d1 100644
---- a/modules/websocket/ws_frame.c
-+++ b/modules/websocket/ws_frame.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #include <limits.h>
-diff --git a/modules/websocket/ws_frame.h b/modules/websocket/ws_frame.h
-index 1210c6c..815ec65 100644
---- a/modules/websocket/ws_frame.h
-+++ b/modules/websocket/ws_frame.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #ifndef _WS_FRAME_H
-diff --git a/modules/websocket/ws_handshake.c b/modules/websocket/ws_handshake.c
-index c4e3143..05332e4 100644
---- a/modules/websocket/ws_handshake.c
-+++ b/modules/websocket/ws_handshake.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #include <openssl/sha.h>
-diff --git a/modules/websocket/ws_handshake.h b/modules/websocket/ws_handshake.h
-index e7ff8e0..5c69fa2 100644
---- a/modules/websocket/ws_handshake.h
-+++ b/modules/websocket/ws_handshake.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #ifndef _WS_HANDSHAKE_H
-diff --git a/modules/websocket/ws_mod.c b/modules/websocket/ws_mod.c
-index ec5e07c..8932769 100644
---- a/modules/websocket/ws_mod.c
-+++ b/modules/websocket/ws_mod.c
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #include "../../dprint.h"
-diff --git a/modules/websocket/ws_mod.h b/modules/websocket/ws_mod.h
-index 819d3ea..8db9fef 100644
---- a/modules/websocket/ws_mod.h
-+++ b/modules/websocket/ws_mod.h
-@@ -19,6 +19,11 @@
-  * along with this program; if not, write to the Free Software 
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  *
-+ * Exception: permission to copy, modify, propagate, and distribute a work
-+ * formed by combining OpenSSL toolkit software and the code in this file,
-+ * such as linking with software components and libraries released under
-+ * OpenSSL project license.
-+ *
-  */
- 
- #ifndef _WS_MOD_H
--- 
-1.8.5.2
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/kamailio.git



More information about the Pkg-voip-commits mailing list