Hi, we have tested the patch, it does not work. We have done some minor changes. Now it works.
Here are the diff: diff -u xcap_misc.c xcap_misc.c_patch --- xcap_misc.c 2011-09-08 14:23:37.000000000 +0200 +++ xcap_misc.c_patch 2011-09-08 14:29:24.000000000 +0200 @@ -465,7 +465,7 @@ goto error; } nodes = xpathObj->nodesetval; - if(nodes==NULL) + if(nodes==NULL || nodes->nodeNr==0 || nodes->nodeTab == NULL) { /* no selection for xpath expression */ LM_DBG("no selection for xpath expression [%s]\n", xpaths->s); @@ -488,7 +488,7 @@ } *p = '/'; nodes = xpathObj->nodesetval; - if(nodes==NULL) + if(nodes==NULL || nodes->nodeNr==0 || nodes->nodeTab == NULL) { LM_DBG("no selection for xpath parent expression [%s]\n", xpaths->s); Please see the patch file in the attachment. Thanks again Best Regards, Laura On Wed, Sep 7, 2011 at 10:12 PM, Daniel-Constantin Mierla <mico...@gmail.com> wrote: > Hello, > > inserting a new node seems not to be possible through xpath operations only, > so I made a patch to be able to add new nodes (entries) -- see it attached > -- it is for devel version (master branch), hopefully it applies clean to > 3.1 if you are using that version. > > There was no option to test it at all, I just made sure it compiles. Let me > know the results, if it runs but fails, send me the output with debug=4. If > all is ok, I will commit to git repository. > > Cheers, > Daniel > > On 9/7/11 3:21 PM, laura testi wrote: >> >> Hi, >> we have patch the xcap_misc.h with "#define XCAP_MAX_URI_SIZE 255" >> which was 127, and extended the length of field doc_uri in the xcap >> table to 256 from 128. Now the errror is gone. >> >> After that we have done some test with curl, following are the results: >> - DELETE an Entry from the list: OK >> i.e.: curl -X DELETE >> >> http://<ip>:5060/xcap-root/resource-lists/users/sip:user@domain/index/~~/resource-lists/list/entry%5b@uri=%22sip:u1@d1%22%5d >> after this command, the contact u1@d1 is removed from the contact list. >> >> - UPDATE an Entry from the list: OK >> i.e., >> curl -T entry.xml -X PUT >> >> http://<ip>:5060/xcap-root/resource-lists/users/sip:user@domain/index/~~/resource-lists/list%5b@name=%22RootGroup%22%5d/entry%5b@uri=%22sip:u2@d2%22%5d >> >> if the sip:u2@d2 entry exists, the entry is replaced with the entry in >> the entry.xml (<entry >> uri="sip:u3@d3"><display-name>u3</display-name></entry>), which is >> sip:u3@d3 >> >> if the sip:u2@d2 entry is not exists, the entry of u3@d3 is not added >> to the list!!! follow the rfc4825, it should be added to the list if >> the entry does not exits. >> >> - Add an Entry from the list: KO >> i.e., >> curl -T entry.xml -X PUT >> >> http://<ip>:5060/xcap-root/resource-lists/users/sip:user@domain/index/~~/resource-lists/list%5b@name=%22RootGroup%22%5d/entry%5b@uri=%22sip:u2@d2%22%5d >> >> the entry.xml is (<entry >> uri="sip:u2@d2"><display-name>u2</display-name></entry>) >> >> the entry sip:u2@d2 was not in the list before the command and is not >> added after the command. >> >> I think it's a bug of xcap server. >> >> >> Many thanks! >> >> Laura >> >> >> >> >> On Wed, Sep 7, 2011 at 12:17 PM, Juha Heinanen<j...@tutpro.com> wrote: >>> >>> Daniel-Constantin Mierla writes: >>> >>>> Feel free to do it, however I think it has to be reviewed where is used, >>>> though -- it should be safe even size in db is longer as long as the >>>> insert is done by kamailio itself, not sure we have affected cases when >>>> the insert is done by external apps, so better double check... >>> >>> every module that reads data from db should check size of received >>> string so that it is not longer than space reserved for it in data >>> structures. i hope that no module assumes that received data cannot be >>> bigger than what db schema says. >>> >>> -- juha >>> >> _______________________________________________ >> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >> sr-users@lists.sip-router.org >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > > -- > Daniel-Constantin Mierla -- http://www.asipto.com > Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat > http://linkedin.com/in/miconda -- http://twitter.com/miconda > >
xcap_misc.c_patch
Description: Binary data
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users