MT#56873 remove already applied patches and refresh

Change-Id: I32f93d7505394b2f9bd751268af547fd45af9d70
mr10.5.4
Victor Seva 3 years ago
parent 4d081fbd4e
commit b532e74f5b

@ -7,7 +7,7 @@ Subject: fix_export
1 file changed, 2 insertions(+)
diff --git a/src/Makefile b/src/Makefile
index 40def34..3c8dcda 100644
index f2fa93c..b111153 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -139,6 +139,8 @@ endif

@ -7,7 +7,7 @@ Subject: no_INSTALL_file
1 file changed, 2 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index a6380c2..40def34 100644
index b5f7192..f2fa93c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -861,8 +861,6 @@ install-modules-all: install-every-module install-every-module-doc

@ -7,7 +7,7 @@ Subject: no_lib64_on_64_bits
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/src/Makefile.defs b/src/Makefile.defs
index 2697e5c..380762a 100644
index 99eae5c..e0f3a0b 100644
--- a/src/Makefile.defs
+++ b/src/Makefile.defs
@@ -458,15 +458,7 @@ endif

@ -32,7 +32,7 @@ sipwise/sca-debug.patch
sipwise/sca-fix-notify-after-bye.patch
sipwise/sca-add-pai_avp-parameter.patch
## upstream 5.6
upstream/utils-kamcmd-add-missing-USE_READLINE-define-for-pkg.patch
#
## upstream master
upstream/dialog-dlg_get_var-ci-ft-tt-key-dst_var.patch
upstream/dialog-dlg_set_var-callid-ft-tt-key-value.patch
@ -42,7 +42,6 @@ upstream/dialog-dlg_get_var-assure-return-null-on-error.patch
upstream/dialog-w_dlg_get_var-fix-incompatible-pointer.patch
sipwise/dialog-dlg_get_var-changes-in-API.patch
upstream/presence-No-autocommit-rollback-if-no-active-watcher.patch
upstream/dialog-deactivate-print-variable-function-which-is-o.patch
### relevant for upstream
sipwise/pua_dialoginfo-refresh_pubruri_avps_flag.patch
sipwise/pua_dialoginfo-use-lock-when-use_puburi_avps-is-set.patch
@ -58,14 +57,12 @@ sipwise/kamctl-TMPDIR-config.patch
sipwise/lcr-stopper_mode-parameter.patch
sipwise/dialog-support-profile_get_size-for-all-profiles.patch
sipwise/dialog-dlg_set_var-support-empty-totag-param.patch
sipwise/usrloc-correct-AOR-value-on-usrloc-contact-expired.patch
### active development
upstream/tm-new-inter-module-API-function-t_find.patch
upstream/pv_headers-use-tm.t_find-API.patch
upstream/tm-added-t_unset-intermodule-API-function.patch
upstream/pv_headers-use-t_unset-based-on-vref-instead-of-rese.patch
sipwise/pv_headers-rework-pvh_remove_header_param-take-two.patch
sipwise/pv_headers-fix-t_resume-scenario.patch
#
### Don't just put stuff in any order
### use gbp pq import/export tooling to help maintain patches

@ -8,10 +8,10 @@ Subject: MT#55631 dialog: dlg_set_var() support empty totag parameter
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/modules/dialog/dialog.c b/src/modules/dialog/dialog.c
index 4ecc858..fe07899 100644
index aedf8a7..8f4c806 100644
--- a/src/modules/dialog/dialog.c
+++ b/src/modules/dialog/dialog.c
@@ -1666,7 +1666,7 @@ static int ki_dlg_set_var(sip_msg_t *msg, str *sc, str *sf, str *st, str *key, s
@@ -1663,7 +1663,7 @@ static int ki_dlg_set_var(sip_msg_t *msg, str *sc, str *sf, str *st, str *key, s
LM_ERR("invalid From tag parameter\n");
return -1;
}
@ -20,7 +20,7 @@ index 4ecc858..fe07899 100644
LM_ERR("invalid To tag parameter\n");
return -1;
}
@@ -1710,11 +1710,7 @@ static int w_dlg_set_var(struct sip_msg *msg, char *ci, char *ft, char *tt, char
@@ -1707,11 +1707,7 @@ static int w_dlg_set_var(struct sip_msg *msg, char *ci, char *ft, char *tt, char
LM_ERR("unable to get To Tag\n");
return -1;
}

@ -10,10 +10,10 @@ Subject: dialog: support profile_get_size for all profiles
4 files changed, 70 insertions(+)
diff --git a/src/modules/dialog/dialog.c b/src/modules/dialog/dialog.c
index 49888ec..4ecc858 100644
index 25f3ca1..aedf8a7 100644
--- a/src/modules/dialog/dialog.c
+++ b/src/modules/dialog/dialog.c
@@ -2761,6 +2761,33 @@ static void internal_rpc_profile_get_size(rpc_t *rpc, void *c, str *profile_name
@@ -2758,6 +2758,33 @@ static void internal_rpc_profile_get_size(rpc_t *rpc, void *c, str *profile_name
return;
}
@ -47,7 +47,7 @@ index 49888ec..4ecc858 100644
/*!
* \brief Helper function that outputs the dialogs belonging to a given profile via the RPC interface
* \see rpc_profile_print_dlgs
@@ -2853,6 +2880,9 @@ static const char *rpc_dlg_set_state_doc[3] = {
@@ -2850,6 +2877,9 @@ static const char *rpc_dlg_set_state_doc[3] = {
static const char *rpc_profile_get_size_doc[2] = {
"Returns the number of dialogs belonging to a profile", 0
};
@ -57,7 +57,7 @@ index 49888ec..4ecc858 100644
static const char *rpc_profile_print_dlgs_doc[2] = {
"Lists all the dialogs belonging to a profile", 0
};
@@ -3058,6 +3088,10 @@ static void rpc_profile_get_size(rpc_t *rpc, void *c) {
@@ -3055,6 +3085,10 @@ static void rpc_profile_get_size(rpc_t *rpc, void *c) {
}
return;
}
@ -68,7 +68,7 @@ index 49888ec..4ecc858 100644
static void rpc_profile_print_dlgs(rpc_t *rpc, void *c) {
str profile_name = {NULL,0};
str value = {NULL,0};
@@ -3475,6 +3509,7 @@ static rpc_export_t rpc_methods[] = {
@@ -3472,6 +3506,7 @@ static rpc_export_t rpc_methods[] = {
{"dlg.dlg_list_ctx", rpc_print_dlg_ctx, rpc_print_dlg_ctx_doc, 0},
{"dlg.end_dlg", rpc_end_dlg_entry_id, rpc_end_dlg_entry_id_doc, 0},
{"dlg.profile_get_size", rpc_profile_get_size, rpc_profile_get_size_doc, 0},
@ -112,10 +112,10 @@ index 3dc7be8..7a4f8b0 100644
/*!
* \brief Search a dialog profile in the global list
diff --git a/src/modules/dialog/doc/dialog_admin.xml b/src/modules/dialog/doc/dialog_admin.xml
index 185c53a..45be914 100644
index 23ca1fb..13b0f8f 100644
--- a/src/modules/dialog/doc/dialog_admin.xml
+++ b/src/modules/dialog/doc/dialog_admin.xml
@@ -2877,6 +2877,28 @@ dlg_reset_property("timeout-noreset");
@@ -2856,6 +2856,28 @@ dlg_reset_property("timeout-noreset");
</programlisting>
</section>

@ -8,7 +8,7 @@ Subject: do-not-install-default-config
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index 3c8dcda..7a8a402 100644
index b111153..f10a178 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -652,7 +652,7 @@ sunpkg:

@ -10,7 +10,7 @@ but will sort them first before stopping
2 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/src/modules/lcr/lcr_mod.c b/src/modules/lcr/lcr_mod.c
index 6f5eafd..b831711 100644
index 2e33df0..fa5cac5 100644
--- a/src/modules/lcr/lcr_mod.c
+++ b/src/modules/lcr/lcr_mod.c
@@ -205,6 +205,10 @@ static unsigned int priority_ordering_param = 0;

@ -8,7 +8,7 @@ Subject: pua_dialoginfo: local_identity_dlg_var
2 files changed, 36 insertions(+)
diff --git a/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml b/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml
index 7c4f08d..3f6a639 100644
index bdf9efa..eaedbc4 100644
--- a/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml
+++ b/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml
@@ -620,6 +620,25 @@ modparam("pua_dialoginfo", "publish_dialog_req_within", 0)

@ -8,7 +8,7 @@ Subject: pua_dialoginfo: refresh_pubruri_avps_flag
2 files changed, 94 insertions(+), 1 deletion(-)
diff --git a/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml b/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml
index 191ee5f..7c4f08d 100644
index cfc0fc7..bdf9efa 100644
--- a/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml
+++ b/src/modules/pua_dialoginfo/doc/pua_dialoginfo_admin.xml
@@ -433,7 +433,25 @@ modparam("pua_dialoginfo", "use_pubruri_avps", 1)

@ -1,109 +0,0 @@
From: Victor Seva <vseva@sipwise.com>
Date: Mon, 5 Dec 2022 12:43:11 +0100
Subject: pv_headers: fix t_resume scenario
---
src/modules/pv_headers/pv_headers.c | 49 +++++++++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/src/modules/pv_headers/pv_headers.c b/src/modules/pv_headers/pv_headers.c
index fd9a619..5afe2dc 100644
--- a/src/modules/pv_headers/pv_headers.c
+++ b/src/modules/pv_headers/pv_headers.c
@@ -65,6 +65,7 @@ static void mod_destroy(void);
static int mod_init(void);
static void handle_tm_t(tm_cell_t *t, int type, struct tmcb_params *params);
+static int handle_msg_failed_cb(struct sip_msg *msg, unsigned int flags, void *cb);
static int handle_msg_cb(struct sip_msg *msg, unsigned int flags, void *cb);
static int handle_msg_branch_cb(
struct sip_msg *msg, unsigned int flags, void *cb);
@@ -395,6 +396,12 @@ int mod_init(void)
LM_ERR("cannot register PRE_SCRIPT_CB ONREPLY_CB callbacks\n");
return -1;
}
+ if(register_script_cb(
+ handle_msg_failed_cb, PRE_SCRIPT_CB | FAILURE_CB, 0)
+ < 0) {
+ LM_ERR("cannot register PRE_SCRIPT_CB FAILURE_CB callbacks\n");
+ return -1;
+ }
}
pvh_str_hash_init(&skip_headers, &skip_headers_param, "skip_headers");
@@ -472,6 +479,29 @@ static inline char *tm_type_to_string(int type)
return "UNKNOWN";
}
+static inline void print_cb_flags(unsigned int flags)
+{
+ LM_DBG("flags:");
+ if(flags & REQUEST_CB)
+ LM_DBG("REQUEST_CB");
+ if(flags & FAILURE_CB)
+ LM_DBG("FAILURE_CB");
+ if(flags & ONREPLY_CB)
+ LM_DBG("ONREPLY_CB");
+ if(flags & BRANCH_CB)
+ LM_DBG("BRANCH_CB");
+ if(flags & ONSEND_CB)
+ LM_DBG("ONSEND_CB");
+ if(flags & ERROR_CB)
+ LM_DBG("ERROR_CB");
+ if(flags & LOCAL_CB)
+ LM_DBG("LOCAL_CB");
+ if(flags & EVENT_CB)
+ LM_DBG("EVENT_CB");
+ if(flags & BRANCH_FAILURE_CB)
+ LM_DBG("BRANCH_FAILURE_CB");
+}
+
void handle_tm_t(tm_cell_t *t, int type, struct tmcb_params *params)
{
struct sip_msg *msg = NULL;
@@ -501,11 +531,25 @@ void handle_tm_t(tm_cell_t *t, int type, struct tmcb_params *params)
return;
}
+int handle_msg_failed_cb(struct sip_msg *msg, unsigned int flags, void *cb)
+{
+ print_cb_flags(flags);
+
+ if(pvh_parse_msg(msg) != 0)
+ return 1;
+
+ _branch = 0;
+ LM_DBG("msg:%p set branch:%d\n", msg, _branch);
+ return 1;
+}
+
static int msg_cbs =
TMCB_REQUEST_FWDED | TMCB_RESPONSE_FWDED | TMCB_ON_BRANCH_FAILURE;
int handle_msg_cb(struct sip_msg *msg, unsigned int flags, void *cb)
{
+ print_cb_flags(flags);
+
if(pvh_parse_msg(msg) != 0)
return 1;
@@ -524,6 +568,7 @@ int handle_msg_branch_cb(struct sip_msg *msg, unsigned int flags, void *cb)
{
LM_DBG("msg:%p previous branch:%d\n", msg, _branch);
+ print_cb_flags(flags);
if(flags & PRE_SCRIPT_CB) {
pvh_get_branch_index(msg, &_branch);
@@ -543,7 +588,11 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
if(pvh_parse_msg(msg) != 0)
return 1;
+ if(msg == FAKED_REPLY) {
+ LM_DBG("FAKED_REPLY\n");
+ }
LM_DBG("msg:%p previous branch:%d\n", msg, _branch);
+ print_cb_flags(flags);
t = tmb.t_find(msg, &_branch, &vref);
if(t != NULL && t != T_UNDEFINED) {

@ -12,10 +12,10 @@ Subject: pv_headers: rework pvh_remove_header_param, take two
4 files changed, 38 insertions(+), 28 deletions(-)
diff --git a/src/modules/pv_headers/pv_headers.c b/src/modules/pv_headers/pv_headers.c
index b900ae5..fd9a619 100644
index 246339f..5afe2dc 100644
--- a/src/modules/pv_headers/pv_headers.c
+++ b/src/modules/pv_headers/pv_headers.c
@@ -222,12 +222,15 @@ static int w_pvh_header_param_exists(
@@ -223,12 +223,15 @@ static int w_pvh_header_param_exists(
static int ki_pvh_remove_header_param(struct sip_msg *msg, str *hname, str *toRemove)
{
@ -33,7 +33,7 @@ index b900ae5..fd9a619 100644
if (avi->val.type == SR_XTYPE_STR && avi->val.v.s.s != NULL) {
if(str_casesearch(&avi->val.v.s, toRemove) != NULL) {
new_size = pvh_remove_header_param_helper(&avi->val.v.s, toRemove, &dst);
@@ -236,13 +239,17 @@ static int ki_pvh_remove_header_param(struct sip_msg *msg, str *hname, str *toRe
@@ -237,13 +240,17 @@ static int ki_pvh_remove_header_param(struct sip_msg *msg, str *hname, str *toRe
STR_FMT(hname), idx);
if(pvh_remove_header(msg, hname, idx) < 0)
return -1;
@ -52,7 +52,7 @@ index b900ae5..fd9a619 100644
LM_ERR("can't set new value\n");
return -1;
}
@@ -252,7 +259,10 @@ static int ki_pvh_remove_header_param(struct sip_msg *msg, str *hname, str *toRe
@@ -253,7 +260,10 @@ static int ki_pvh_remove_header_param(struct sip_msg *msg, str *hname, str *toRe
STR_FMT(&avi->val.v.s));
}
}

@ -1,97 +0,0 @@
From: Victor Seva <vseva@sipwise.com>
Date: Thu, 9 Feb 2023 11:45:29 +0100
Subject: usrloc: correct AOR value on usrloc:contact-expired
previously $ulc(x=>aor) had only the user part even with use_domain set
---
src/modules/usrloc/udomain.c | 39 +++++++++++++++++++++++++++++++--------
1 file changed, 31 insertions(+), 8 deletions(-)
diff --git a/src/modules/usrloc/udomain.c b/src/modules/usrloc/udomain.c
index 4025cc5..d7b9e8a 100644
--- a/src/modules/usrloc/udomain.c
+++ b/src/modules/usrloc/udomain.c
@@ -956,7 +956,7 @@ int udomain_contact_expired_cb(db1_con_t* _c, udomain_t* _d)
db_val_t query_vals[3];
int key_num = 2;
db1_res_t* res = NULL;
- str user, contact;
+ str user, contact, domain;
int i;
int n;
urecord_t r;
@@ -964,6 +964,9 @@ int udomain_contact_expired_cb(db1_con_t* _c, udomain_t* _d)
#define RUIDBUF_SIZE 128
char ruidbuf[RUIDBUF_SIZE];
str ruid;
+#define AORBUF_SIZE 512
+ char aorbuf[AORBUF_SIZE];
+ str aor;
if (ul_db_mode!=DB_ONLY) {
return 0;
@@ -1058,6 +1061,14 @@ int udomain_contact_expired_cb(db1_con_t* _c, udomain_t* _d)
continue;
}
user.len = strlen(user.s);
+ if(user.len < AORBUF_SIZE ) {
+ memcpy(aorbuf, user.s, user.len);
+ aor.s = aorbuf;
+ aor.len = user.len;
+ } else {
+ LM_ERR("user is too long %d\n", user.len);
+ continue;
+ }
ci = dbrow2info(ROW_VALUES(row)+1, &contact, 0);
if (ci==0) {
@@ -1066,18 +1077,30 @@ int udomain_contact_expired_cb(db1_con_t* _c, udomain_t* _d)
continue;
}
- lock_udomain(_d, &user);
+ if(ul_use_domain) {
+ domain.s = (char*)VAL_STRING(ROW_VALUES(row)+20);
+ domain.len = strlen(domain.s);
+ if(domain.len + aor.len < AORBUF_SIZE) {
+ aorbuf[aor.len] = '@';
+ memcpy(aorbuf+aor.len+1, domain.s, domain.len);
+ aor.len += domain.len + 1;
+ } else {
+ LM_ERR("aor too long, using user part only\n");
+ }
+ }
+
+ lock_udomain(_d, &aor);
/* don't use the same static value from get_static_urecord() */
memset( &r, 0, sizeof(struct urecord) );
- r.aor = user;
- r.aorhash = ul_get_aorhash(&user);
+ r.aor = aor;
+ r.aorhash = ul_get_aorhash(&aor);
r.domain = _d->name;
if ( (c=mem_insert_ucontact(&r, &contact, ci)) == 0) {
LM_ERR("inserting temporary contact failed for %.*s\n",
- user.len, user.s);
+ aor.len, aor.s);
release_urecord(&r);
- unlock_udomain(_d, &user);
+ unlock_udomain(_d, &aor);
goto error;
}
@@ -1096,11 +1119,11 @@ int udomain_contact_expired_cb(db1_con_t* _c, udomain_t* _d)
ruid.len = c->ruid.len;
} else {
LM_ERR("ruid is too long %d for %.*s\n", c->ruid.len,
- user.len, user.s);
+ aor.len, aor.s);
}
}
release_urecord(&r);
- unlock_udomain(_d, &user);
+ unlock_udomain(_d, &aor);
if(ruid.len > 0 && ul_xavp_contact_name.s != NULL) {
/* delete attributes by ruid */
uldb_delete_attrs_ruid(_d->name, &ruid);

@ -8,7 +8,7 @@ Subject: usrloc_dbro
2 files changed, 67 insertions(+)
diff --git a/src/modules/usrloc/usrloc_mod.c b/src/modules/usrloc/usrloc_mod.c
index 797c252..2d274c1 100644
index dc31c6f..55c5b6e 100644
--- a/src/modules/usrloc/usrloc_mod.c
+++ b/src/modules/usrloc/usrloc_mod.c
@@ -167,6 +167,7 @@ str ulattrs_avalue_col = str_init(ULATTRS_AVALUE_COL); /*!< Name of column conta

@ -1,117 +0,0 @@
From: Henning Westerholt <hw@gilawa.com>
Date: Wed, 16 Nov 2022 15:33:06 +0000
Subject: dialog: deactivate print variable function which is only used for
debugging
- deactivate print variable function which is only used for debugging
- this function is not good for performance and might also cause race conditions
---
src/modules/dialog/dialog.c | 3 +++
src/modules/dialog/dlg_var.c | 12 +++++++++---
src/modules/dialog/dlg_var.h | 2 ++
src/modules/dialog/doc/dialog_admin.xml | 21 +++++++++++++++++++++
4 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/src/modules/dialog/dialog.c b/src/modules/dialog/dialog.c
index 25f3ca1..49888ec 100644
--- a/src/modules/dialog/dialog.c
+++ b/src/modules/dialog/dialog.c
@@ -141,6 +141,8 @@ stat_var *expired_dlgs = 0;
stat_var *failed_dlgs = 0;
stat_var *early_dlgs = 0;
+int debug_variables_list = 0;
+
struct tm_binds d_tmb;
struct rr_binds d_rrb;
pv_spec_t timeout_avp;
@@ -338,6 +340,7 @@ static param_export_t mod_params[]={
{ "h_id_step", PARAM_INT, &dlg_h_id_step },
{ "keep_proxy_rr", INT_PARAM, &dlg_keep_proxy_rr },
{ "dlg_filter_mode", INT_PARAM, &dlg_filter_mode },
+ { "debug_variables", PARAM_INT, &debug_variables_list },
{ 0,0,0 }
};
diff --git a/src/modules/dialog/dlg_var.c b/src/modules/dialog/dlg_var.c
index 473736b..0e165c5 100644
--- a/src/modules/dialog/dlg_var.c
+++ b/src/modules/dialog/dlg_var.c
@@ -449,7 +449,9 @@ int set_dlg_variable(struct dlg_cell *dlg, str *key, str *val)
if ( dlg_db_mode==DB_MODE_REALTIME )
update_dialog_dbinfo(dlg);
- print_lists(dlg);
+ if(unlikely(debug_variables_list)) {
+ print_lists(dlg);
+ }
return 0;
@@ -510,7 +512,9 @@ int pv_get_dlg_variable(struct sip_msg *msg, pv_param_t *param, pv_value_t *res)
}
}
- print_lists(dlg);
+ if(unlikely(debug_variables_list)) {
+ print_lists(dlg);
+ }
/* unlock dialog */
if (dlg) {
@@ -584,7 +588,9 @@ int pv_set_dlg_variable(struct sip_msg* msg, pv_param_t *param, int op, pv_value
}
dlg_unlock(d_table, &(d_table->entries[dlg->h_entry]));
}
- print_lists(dlg);
+ if(unlikely(debug_variables_list)) {
+ print_lists(dlg);
+ }
dlg_release(dlg);
return 0;
diff --git a/src/modules/dialog/dlg_var.h b/src/modules/dialog/dlg_var.h
index 292e9f7..44bd6ec 100644
--- a/src/modules/dialog/dlg_var.h
+++ b/src/modules/dialog/dlg_var.h
@@ -89,6 +89,8 @@ extern stat_var *processed_dlgs; /*!< number of processed dialogs */
extern stat_var *expired_dlgs; /*!< number of expired dialogs */
extern stat_var *failed_dlgs; /*!< number of failed dialogs */
+extern int debug_variables_list;
+
int pv_get_dlg_ctx(sip_msg_t *msg, pv_param_t *param,
pv_value_t *res);
int pv_set_dlg_ctx(sip_msg_t *msg, pv_param_t *param,
diff --git a/src/modules/dialog/doc/dialog_admin.xml b/src/modules/dialog/doc/dialog_admin.xml
index 6fcaaf7..185c53a 100644
--- a/src/modules/dialog/doc/dialog_admin.xml
+++ b/src/modules/dialog/doc/dialog_admin.xml
@@ -1663,6 +1663,27 @@ modparam("dialog", "h_id_step", 10)
...
modparam("dialog", "keep_proxy_rr", 1)
...
+</programlisting>
+ </example>
+ </section>
+ <section id="dialog.p.debug_variables">
+ <title><varname>debug_variables</varname> (int)</title>
+ <para>
+ Activate additional debugging for printing internal lists for dialog variables.
+ This output is only visible at debug log level and should only be used for
+ debugging. By default its deactivated.
+ </para>
+ <para>
+ <emphasis>
+ Default value is <quote>0</quote>.
+ </emphasis>
+ </para>
+ <example>
+ <title>Set <varname>debug_variables</varname> parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("dialog", "debug_variables", 1)
+...
</programlisting>
</example>
</section>

@ -153,7 +153,7 @@ index 9f9f647..25584b5 100644
SR_KEMIP_INT, ki_set_dlg_profile_static,
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
diff --git a/src/modules/dialog/doc/dialog_admin.xml b/src/modules/dialog/doc/dialog_admin.xml
index 5b8d99b..972b9e4 100644
index 51faa16..9f20125 100644
--- a/src/modules/dialog/doc/dialog_admin.xml
+++ b/src/modules/dialog/doc/dialog_admin.xml
@@ -2103,6 +2103,54 @@ if(dlg_get("abcdef", "123", "456"))

@ -140,7 +140,7 @@ index 25584b5..fec9f5e 100644
SR_KEMIP_INT, ki_set_dlg_profile_static,
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
diff --git a/src/modules/dialog/doc/dialog_admin.xml b/src/modules/dialog/doc/dialog_admin.xml
index 972b9e4..6fcaaf7 100644
index 9f20125..23ca1fb 100644
--- a/src/modules/dialog/doc/dialog_admin.xml
+++ b/src/modules/dialog/doc/dialog_admin.xml
@@ -2151,6 +2151,54 @@ if(dlg_get_var("$var(ci)", "$var(ft)", "456", "test", "$var(tmp)"))

@ -8,10 +8,10 @@ Subject: [PATCH] pv_headers: use t_unset() based on vref instead of resetting
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/modules/pv_headers/pv_headers.c b/src/modules/pv_headers/pv_headers.c
index 7da426c..b900ae5 100644
index d713611..246339f 100644
--- a/src/modules/pv_headers/pv_headers.c
+++ b/src/modules/pv_headers/pv_headers.c
@@ -555,12 +555,12 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
@@ -604,12 +604,12 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
xavi_set_list(backup_xavis);
LM_DBG("restored backup_xavis:%p\n", *backup_xavis);
}

@ -7,10 +7,10 @@ Subject: [PATCH] pv_headers: use tm.t_find API
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/src/modules/pv_headers/pv_headers.c b/src/modules/pv_headers/pv_headers.c
index e555e02..7da426c 100644
index 3648335..d713611 100644
--- a/src/modules/pv_headers/pv_headers.c
+++ b/src/modules/pv_headers/pv_headers.c
@@ -526,6 +526,7 @@ int handle_msg_branch_cb(struct sip_msg *msg, unsigned int flags, void *cb)
@@ -571,6 +571,7 @@ int handle_msg_branch_cb(struct sip_msg *msg, unsigned int flags, void *cb)
int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
{
@ -18,9 +18,9 @@ index e555e02..7da426c 100644
tm_cell_t *t = NULL;
sr_xavp_t **backup_xavis = NULL;
sr_xavp_t **list = NULL;
@@ -534,18 +535,12 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
return 1;
@@ -583,18 +584,12 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
LM_DBG("msg:%p previous branch:%d\n", msg, _branch);
print_cb_flags(flags);
- if(tmb.t_check(msg, &_branch) == -1) {
- LM_ERR("failed find UAC branch\n");
@ -43,7 +43,7 @@ index e555e02..7da426c 100644
}
pvh_get_branch_index(msg, &_branch);
@@ -560,7 +555,7 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
@@ -609,7 +604,7 @@ int handle_msg_reply_cb(struct sip_msg *msg, unsigned int flags, void *cb)
xavi_set_list(backup_xavis);
LM_DBG("restored backup_xavis:%p\n", *backup_xavis);
}

@ -13,7 +13,7 @@ Subject: [PATCH] tm: added t_unset() intermodule API function
4 files changed, 18 insertions(+)
diff --git a/src/modules/tm/t_lookup.c b/src/modules/tm/t_lookup.c
index ad41f0d..dd2ed6f 100644
index 09063c1..4936c30 100644
--- a/src/modules/tm/t_lookup.c
+++ b/src/modules/tm/t_lookup.c
@@ -167,6 +167,19 @@ struct cell* t_find(struct sip_msg *msg, int *branch, int *vref)

@ -12,7 +12,7 @@ Subject: [PATCH] tm: new inter-module API function t_find(...)
4 files changed, 27 insertions(+)
diff --git a/src/modules/tm/t_lookup.c b/src/modules/tm/t_lookup.c
index f041116..ad41f0d 100644
index bc3dd5e..09063c1 100644
--- a/src/modules/tm/t_lookup.c
+++ b/src/modules/tm/t_lookup.c
@@ -145,6 +145,28 @@ int get_t_branch()

@ -1,22 +0,0 @@
From: Henning Westerholt <hw@gilawa.com>
Date: Wed, 14 Dec 2022 08:38:12 +0000
Subject: [PATCH] utils/kamcmd: add missing USE_READLINE define for pkg-config
build, related to #3284
(cherry picked from commit a70b6bf09c73d961ebea1947216757fafb951c24)
---
utils/kamcmd/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/utils/kamcmd/Makefile b/utils/kamcmd/Makefile
index f12306b..1fd923d 100644
--- a/utils/kamcmd/Makefile
+++ b/utils/kamcmd/Makefile
@@ -80,6 +80,7 @@ endif
# detect libreadline
ifneq ($(BUILDER),)
DEFS += $(shell $(BUILDER) --cflags readline)
+ DEFS+=-DUSE_READLINE
LIBS += $(shell $(BUILDER) --libs readline)
use_readline := 1
else
Loading…
Cancel
Save