Hi, You're right. I always updated it in the past, I'd never noticed that it wasn't called.
Very strange. Peter On Thu, 2012-10-25 at 11:42 +0200, Daniel-Constantin Mierla wrote: > Hello, > > you mean xcaps_path_get_auid_type(), right? > > The function seems to be only defined, but not used, did I miss > something? > > Cheers, > Daniel > > > On 10/25/12 11:31 AM, Peter Dunkley wrote: > > > > > Hi, > > > > I think xcap_server.c:xcaps_path_get_auid() needs to be updated for > > this too? > > > > Regards, > > > > Peter > > > > On Thu, 2012-10-25 at 10:58 +0200, Daniel-Constantin Mierla wrote: > > > > > Module: sip-router > > > Branch: master > > > Commit: 5f813fdab34cb7507bc4dcc1b66ff87f90f69c9a > > > URL: > > > http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=5f813fdab34cb7507bc4dcc1b66ff87f90f69c9a > > > > > > Author: Daniel-Constantin Mierla <[email protected]> > > > Committer: Daniel-Constantin Mierla <[email protected]> > > > Date: Thu Oct 25 10:56:41 2012 +0200 > > > > > > xcap_server: use a static table to keep the list of supported auids > > > > > > - adding new auid requires an entry in this table and define of the > > > internal type > > > > > > --- > > > > > > modules_k/xcap_server/xcap_misc.c | 99 > > > +++++++++++++++++++++---------------- > > > 1 files changed, 57 insertions(+), 42 deletions(-) > > > > > > diff --git a/modules_k/xcap_server/xcap_misc.c > > > b/modules_k/xcap_server/xcap_misc.c > > > index 146e941..9e294c0 100644 > > > --- a/modules_k/xcap_server/xcap_misc.c > > > +++ b/modules_k/xcap_server/xcap_misc.c > > > @@ -40,6 +40,59 @@ extern str xcaps_root; > > > > > > static param_t *_xcaps_xpath_ns_root = NULL; > > > > > > +typedef struct xcaps_auid_list { > > > + str auid; /* auid value */ > > > + char term; /* ending char (next one after auid) */ > > > + int type; /* internaly type id for auid */ > > > +} xcaps_auid_list_t; > > > + > > > +/* list of supported auid */ > > > +static xcaps_auid_list_t _xcaps_auid_list[] = { > > > + { { "pres-rules", 10 }, > > > + '/', PRES_RULES }, > > > + { { "org.openmobilealliance.pres-rules", 33 }, > > > + '/', PRES_RULES }, > > > + { { "rls-services", 12 }, > > > + '/', RLS_SERVICE }, > > > + { { "pidf-manipulation", 17 }, > > > + '/', PIDF_MANIPULATION }, > > > + { { "resource-lists", 14 }, > > > + '/', RESOURCE_LIST }, > > > + { { "xcap-caps", 9 }, > > > + '/', XCAP_CAPS }, > > > + { { "org.openmobilealliance.user-profile", 35}, > > > + '/', USER_PROFILE }, > > > + { { "org.openmobilealliance.pres-content", 15}, > > > + '/', PRES_CONTENT }, > > > + { { "org.openmobilealliance.search", 29}, > > > + '?', SEARCH }, > > > + > > > + { { 0, 0 }, 0, 0 } > > > +}; > > > + > > > +static int xcaps_find_auid(str *s, xcap_uri_t *xuri) > > > +{ > > > + int i; > > > + for(i=0; _xcaps_auid_list[i].auid.s!=NULL; i++) > > > + { > > > + if(s->len > _xcaps_auid_list[i].auid.len > > > + && s->s[_xcaps_auid_list[i].auid.len] == > > > _xcaps_auid_list[i].term > > > + && strncmp(s->s, _xcaps_auid_list[i].auid.s, > > > + > > > _xcaps_auid_list[i].auid.len) == 0) > > > + { > > > + LM_DBG("matched %.*s\n", _xcaps_auid_list[i].auid.len, > > > + _xcaps_auid_list[i].auid.s); > > > + xuri->type = _xcaps_auid_list[i].type; > > > + xuri->auid.s = s->s; > > > + xuri->auid.len = _xcaps_auid_list[i].auid.len; > > > + return 0; > > > + } > > > + } > > > + LM_ERR("unsupported auid in [%.*s]\n", xuri->uri.len, > > > + xuri->uri.s); > > > + return -1; > > > +} > > > + > > > /** > > > * parse xcap uri > > > */ > > > @@ -127,45 +180,11 @@ int xcap_parse_uri(str *huri, str *xroot, > > > xcap_uri_t *xuri) > > > } > > > > > > /* auid */ > > > - xuri->auid.s = s.s; > > > - if(s.len>11 && strncmp(s.s, "pres-rules/", 11)==0) > > > - { > > > - LM_DBG("matched pres-rules\n"); > > > - xuri->type = PRES_RULES; > > > - xuri->auid.len = 10; > > > - } else if(s.len>34 && strncmp(s.s, > > > "org.openmobilealliance.pres-rules/", 34)==0) { > > > - LM_DBG("matched oma pres-rules\n"); > > > - xuri->type = PRES_RULES; > > > - xuri->auid.len = 33; > > > - } else if(s.len>13 && strncmp(s.s, "rls-services/", 13)==0) { > > > - LM_DBG("matched rls-services\n"); > > > - xuri->type = RLS_SERVICE; > > > - xuri->auid.len = 12; > > > - } else if(s.len>18 && strncmp(s.s, "pidf-manipulation/", 18)==0) { > > > - LM_DBG("matched pidf-manipulation\n"); > > > - xuri->type = PIDF_MANIPULATION; > > > - xuri->auid.len = 17; > > > - } else if(s.len>15 && strncmp(s.s, "resource-lists/", 15)==0) { > > > - LM_DBG("matched resource-lists\n"); > > > - xuri->type = RESOURCE_LIST; > > > - xuri->auid.len = 14; > > > - } else if(s.len>10 && strncmp(s.s, "xcap-caps/", 10)==0) { > > > - LM_DBG("matched xcap-caps\n"); > > > - xuri->type = XCAP_CAPS; > > > - xuri->auid.len = 9; > > > - } else if(s.len> 36 && strncmp(s.s, > > > "org.openmobilealliance.user-profile/", 36)==0) { > > > - LM_DBG("matched oma user-profile\n"); > > > - xuri->type = USER_PROFILE; > > > - xuri->auid.len = 35; > > > - } else if(s.len> 36 && strncmp(s.s, > > > "org.openmobilealliance.pres-content/", 36)==0) { > > > - LM_DBG("matched oma pres-content\n"); > > > - xuri->type = PRES_CONTENT; > > > - xuri->auid.len = 35; > > > - } else if(s.len> 30 && strncmp(s.s, "org.openmobilealliance.search?", > > > 30)==0) { > > > - LM_DBG("matched oma search\n"); > > > - xuri->type = SEARCH; > > > - xuri->auid.len = 29; > > > + if(xcaps_find_auid(&s, xuri)<0) > > > + return -1; > > > > > > + /* handling special auids */ > > > + if(xuri->type == SEARCH) { > > > s.s += xuri->auid.len + 1; > > > s.len -= xuri->auid.len + 1; > > > > > > @@ -197,10 +216,6 @@ int xcap_parse_uri(str *huri, str *xroot, xcap_uri_t > > > *xuri) > > > } > > > > > > return 0; > > > - } else { > > > - LM_ERR("unsupported auid in [%.*s]\n", xuri->uri.len, > > > - xuri->uri.s); > > > - return -1; > > > } > > > > > > s.s += xuri->auid.len + 1; > > > > > > > > > _______________________________________________ > > > sr-dev mailing list > > > [email protected] > > > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev > > > > > > -- > > Peter Dunkley > > Technical Director > > Crocodile RCS Ltd > > > > > > > > _______________________________________________ > > sr-dev mailing list > > [email protected] > > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev > > > > -- > Daniel-Constantin Mierla - http://www.asipto.com > http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda > Kamailio Advanced Training, Berlin, Nov 5-8, 2012 - http://asipto.com/u/kat > Kamailio Advanced Training, Miami, USA, Nov 12-14, 2012 - > http://asipto.com/u/katu -- Peter Dunkley Technical Director Crocodile RCS Ltd
_______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
