Module: kamailio Branch: master Commit: cffe67566f206a6c4e76d76a36e0e1783d056369 URL: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e178...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2015-09-23T01:15:46+02:00
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
---
Modified: modules/tsilo/ts_store.c Modified: modules/tsilo/tsilo.c
---
Diff: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e178... Patch: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e178...
---
diff --git a/modules/tsilo/ts_store.c b/modules/tsilo/ts_store.c index 2cec2ef..e4f11ba 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 843804c..411cbc4 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); }
Hi Daniel, at this point I think we can totally remove use_domain and dependency from usrloc module. Do you agree?
Regards,
Federico
On Wed, Sep 23, 2015 at 1:17 AM, Daniel-Constantin Mierla <miconda@gmail.com
wrote:
Module: kamailio Branch: master Commit: cffe67566f206a6c4e76d76a36e0e1783d056369 URL: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e178...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2015-09-23T01:15:46+02:00
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
Modified: modules/tsilo/ts_store.c Modified: modules/tsilo/tsilo.c
Diff: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e178... Patch: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e178...
diff --git a/modules/tsilo/ts_store.c b/modules/tsilo/ts_store.c index 2cec2ef..e4f11ba 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 843804c..411cbc4 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);
}
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
Hi Federico,
yes, that's right.
Because only ts_store() was checking the use_domain and used only username when use_domain=0, the ts_append() with a uri didn't match any record, so I pushed the patch to be able to test it on some remote system and it is matching now.
Cheers, Daniel
On 23/09/15 08:18, Federico Cabiddu wrote:
Hi Daniel, at this point I think we can totally remove use_domain and dependency from usrloc module. Do you agree?
Regards,
Federico
On Wed, Sep 23, 2015 at 1:17 AM, Daniel-Constantin Mierla <miconda@gmail.com mailto:miconda@gmail.com> wrote:
Module: kamailio Branch: master Commit: cffe67566f206a6c4e76d76a36e0e1783d056369 URL: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e1783d056369 Author: Daniel-Constantin Mierla <miconda@gmail.com <mailto:miconda@gmail.com>> Committer: Daniel-Constantin Mierla <miconda@gmail.com <mailto:miconda@gmail.com>> Date: 2015-09-23T01:15:46+02:00 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 --- Modified: modules/tsilo/ts_store.c Modified: modules/tsilo/tsilo.c --- Diff: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e1783d056369.diff Patch: https://github.com/kamailio/kamailio/commit/cffe67566f206a6c4e76d76a36e0e1783d056369.patch --- diff --git a/modules/tsilo/ts_store.c b/modules/tsilo/ts_store.c index 2cec2ef..e4f11ba 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 843804c..411cbc4 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); } _______________________________________________ sr-dev mailing list sr-dev@lists.sip-router.org <mailto:sr-dev@lists.sip-router.org> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev