[sr-dev] git:master:4e91dc32: Merge pull request #1914 from marcocapetta/master

GitHub noreply at github.com
Thu Mar 28 17:18:04 CET 2019


Module: kamailio
Branch: master
Commit: 4e91dc3222d9bb6e41317d4ca0eabe95a933c45a
URL: https://github.com/kamailio/kamailio/commit/4e91dc3222d9bb6e41317d4ca0eabe95a933c45a

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: GitHub <noreply at github.com>
Date: 2019-03-28T17:17:57+01:00

Merge pull request #1914 from marcocapetta/master

Small fixes to dialplan module when an avp is used as subst_exp

---

Modified: src/modules/dialplan/dp_repl.c

---

Diff:  https://github.com/kamailio/kamailio/commit/4e91dc3222d9bb6e41317d4ca0eabe95a933c45a.diff
Patch: https://github.com/kamailio/kamailio/commit/4e91dc3222d9bb6e41317d4ca0eabe95a933c45a.patch

---

diff --git a/src/modules/dialplan/dp_repl.c b/src/modules/dialplan/dp_repl.c
index 06762ce6d2..06534a9dab 100644
--- a/src/modules/dialplan/dp_repl.c
+++ b/src/modules/dialplan/dp_repl.c
@@ -432,7 +432,7 @@ int rule_translate(sip_msg_t *msg, str *instr, dpl_node_t *rule,
 		/*search for the pattern from the compiled subst_exp*/
 		if (pcre_exec(subst_comp, NULL, instr->s, instr->len,
 					0, 0, ovector, 3 * (MAX_REPLACE_WITH + 1)) <= 0) {
-			LM_ERR("the string %.*s matched "
+			LM_DBG("the string %.*s matched "
 					"the match_exp %.*s but not the subst_exp %.*s!\n",
 					instr->len, instr->s,
 					rule->match_exp.len, rule->match_exp.s,
@@ -700,7 +700,7 @@ int dp_translate_helper(sip_msg_t *msg, str *input, str *output, dpl_id_p idp,
 		}
 	}
 	if(rulep->tflags&DP_TFLAGS_PV_SUBST) {
-		re_list = dpl_dynamic_pcre_list(msg, &rulep->match_exp);
+		re_list = dpl_dynamic_pcre_list(msg, &rulep->subst_exp);
 		if(re_list==NULL) {
 			/* failed to compile dynamic pcre -- ignore */
 			LM_DBG("failed to compile dynamic pcre[%.*s]\n",
@@ -721,6 +721,13 @@ int dp_translate_helper(sip_msg_t *msg, str *input, str *output, dpl_id_p idp,
 			pkg_free(re_list);
 			re_list = rt;
 		} while(re_list);
+		if(rez<0) {
+			LM_ERR("the string %.*s matched "
+				"the match_exp %.*s but not the subst_exp %.*s!\n",
+				input->len, input->s,
+				rulep->match_exp.len, rulep->match_exp.s,
+				rulep->subst_exp.len, rulep->subst_exp.s);
+		}
 	}
 	else {
 		if(rule_translate(msg, input, rulep, rulep->subst_comp, output)!=0){




More information about the sr-dev mailing list