From cffe67566f206a6c4e76d76a36e0e1783d056369 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Wed, 23 Sep 2015 01:15:46 +0200 Subject: [PATCH] tsilo: removed check of use_domain for uri parameter in ts_store() - ts_append() is using full sip uri and will not match if ts_store() with use_domain=0 will store only username --- modules/tsilo/ts_store.c | 19 +++++++------------ modules/tsilo/tsilo.c | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/modules/tsilo/ts_store.c b/modules/tsilo/ts_store.c index 2cec2efd857..e4f11ba22c5 100644 --- a/modules/tsilo/ts_store.c +++ b/modules/tsilo/ts_store.c @@ -60,19 +60,14 @@ int ts_store(struct sip_msg* msg, str *puri) { } } - if (use_domain) { - aor = suri; - } - else { - if (parse_uri(suri.s, suri.len, &ruri)!=0) - { - LM_ERR("bad uri [%.*s]\n", - suri.len, - suri.s); - return -1; - } - aor = ruri.user; + if (parse_uri(suri.s, suri.len, &ruri)!=0) + { + LM_ERR("bad uri [%.*s]\n", + suri.len, + suri.s); + return -1; } + aor = suri; t = _tmb.t_gett(); if (!t || t==T_UNDEFINED) { diff --git a/modules/tsilo/tsilo.c b/modules/tsilo/tsilo.c index 843804cc5d7..411cbc465d2 100644 --- a/modules/tsilo/tsilo.c +++ b/modules/tsilo/tsilo.c @@ -212,10 +212,21 @@ static void destroy(void) return; } +static int ts_check_uri(str *uri) +{ + struct sip_uri ruri; + if (parse_uri(uri->s, uri->len, &ruri)!=0) + { + LM_ERR("bad uri [%.*s]\n", + uri->len, + uri->s); + return -1; + } + return 0; +} /** * */ - static int fixup_ts_append_to(void** param, int param_no) { if (param_no==1 || param_no==2) { @@ -263,6 +274,8 @@ static int w_ts_append(struct sip_msg* _msg, char *_table, char *_ruri) LM_ERR("invalid ruri parameter\n"); return -1; } + if(ts_check_uri(&ruri)<0) + return -1; return ts_append(_msg, &ruri, _table); } /** @@ -309,6 +322,8 @@ static int w_ts_append_to2(struct sip_msg* msg, char *idx, char *lbl, char *tabl LM_ERR("failed to conert r-uri parameter\n"); return -1; } + if(ts_check_uri(&suri)<0) + return -1; return ts_append_to(msg, tindex, tlabel, table, &suri); }