[sr-dev] git:master:9670bd80: cfgutils: update route_if_exists() to have same behaviour as route()

Daniel-Constantin Mierla miconda at gmail.com
Fri Apr 27 08:59:24 CEST 2018


Module: kamailio
Branch: master
Commit: 9670bd80550b9e0c2af1d5d61df618292346ba28
URL: https://github.com/kamailio/kamailio/commit/9670bd80550b9e0c2af1d5d61df618292346ba28

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2018-04-27T08:56:32+02:00

cfgutils: update route_if_exists() to have same behaviour as route()

- do not run the route block as a top route
- related to GH #1503

---

Modified: src/modules/cfgutils/cfgutils.c

---

Diff:  https://github.com/kamailio/kamailio/commit/9670bd80550b9e0c2af1d5d61df618292346ba28.diff
Patch: https://github.com/kamailio/kamailio/commit/9670bd80550b9e0c2af1d5d61df618292346ba28.patch

---

diff --git a/src/modules/cfgutils/cfgutils.c b/src/modules/cfgutils/cfgutils.c
index eedef71691..c0872ec33c 100644
--- a/src/modules/cfgutils/cfgutils.c
+++ b/src/modules/cfgutils/cfgutils.c
@@ -801,11 +801,10 @@ static int w_check_route_exists(struct sip_msg *msg, char *route)
 static int w_route_exists(struct sip_msg *msg, char *route)
 {
 	struct run_act_ctx ctx;
-	int newroute, backup_rt, ret;
+	int newroute, ret;
 	str s;
 
-	if (fixup_get_svalue(msg, (gparam_p) route, &s) != 0)
-	{
+	if (fixup_get_svalue(msg, (gparam_p) route, &s) != 0) {
 			LM_ERR("invalid route parameter\n");
 			return -1;
 	}
@@ -814,12 +813,8 @@ static int w_route_exists(struct sip_msg *msg, char *route)
 	if (newroute<0) {
 		return -1;
 	}
-	backup_rt = get_route_type();
-	set_route_type(REQUEST_ROUTE);
-
 	init_run_actions_ctx(&ctx);
-	ret = run_top_route(main_rt.rlist[newroute], msg, &ctx);
-	set_route_type(backup_rt);
+	ret=run_actions(&ctx, main_rt.rlist[newroute], msg);
 	if (ctx.run_flags & EXIT_R_F) {
 		return 0;
 	}




More information about the sr-dev mailing list