Hi Luis,
It would be interesting to understand where the issue with document versioning was first introduced - it was working fine prior to 4.3 as far as I can tell.
We noticed some weirdness with BLF after upgrading to 4.3.4 on some production machines and soon realised it was due to the version being incorrect - however, these recent patches have only led to other issues/crashes in our offline tests today.
Can you shed any light on when it might have been introduced? I've not had much chance look myself but happy to spend some time over the weekend.
Cheers, Charles
On 17 Dec 2015 10:09 pm, "Luis Azedo" luis@2600hz.com wrote:
Module: kamailio Branch: master Commit: b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35 URL: https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6...
Author: Luis Azedo luis@2600hz.com Committer: Luis Azedo luis@2600hz.com Date: 2015-12-17T21:02:43Z
presence_dialoginfo : aux_body should return xmldoc instead of char
Modified: modules/presence/notify.c Modified: modules/presence_dialoginfo/notify_body.c
Diff: https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6... Patch: https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6...
diff --git a/modules/presence/notify.c b/modules/presence/notify.c index efb8a48..f6a0ba9 100644 --- a/modules/presence/notify.c +++ b/modules/presence/notify.c @@ -1535,8 +1535,7 @@ int send_notify_request(subs_t* subs, subs_t * watcher_subs, { aux_body = subs->event->aux_body_processing(subs, notify_body); if(aux_body) {
xmlFree(notify_body->s);
pkg_free(notify_body);
free_notify_body(notify_body, subs->event); notify_body = aux_body; } } diff --git a/modules/presence_dialoginfo/notify_body.c b/modules/presence_dialoginfo/notify_body.c index e6dc050..710fe91 100644 --- a/modules/presence_dialoginfo/notify_body.c +++ b/modules/presence_dialoginfo/notify_body.c @@ -595,5 +595,18 @@ str *dlginfo_body_setversion(subs_t *subs, str *body) { memcpy(version_start, version, version_len); memset(version_start + version_len, ' ', 12 - version_len);
xmlDocPtr doc = xmlReadMemory(aux_body->s, aux_body->len,
"noname.xml", NULL, 0);
if (doc == NULL) {
LM_ERR("error allocation xmldoc\n");
pkg_free(aux_body->s);
pkg_free(aux_body);
return NULL;
}
pkg_free(aux_body->s);
xmlDocDumpFormatMemory(doc,(xmlChar**)(void*)&aux_body->s,
&aux_body->len, 1);
xmlCleanupParser();
xmlMemoryDump();
return aux_body;
}
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev