[sr-dev] git:master:b6b7de88: presence_dialoginfo : aux_body should return xmldoc instead of char

Charles Chance charles.chance at sipcentric.com
Fri Dec 18 01:11:20 CET 2015


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 at 2600hz.com> wrote:

> Module: kamailio
> Branch: master
> Commit: b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35
> URL:
> https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35
>
> Author: Luis Azedo <luis at 2600hz.com>
> Committer: Luis Azedo <luis at 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/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35.diff
> Patch:
> https://github.com/kamailio/kamailio/commit/b6b7de8832e4ab22ef2c00ebb2c1e1b6ced9ff35.patch
>
> ---
>
> 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 at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>

-- 
*** We're rebranding! Learn more here 
<http://www.sipcentric.com/2015/07/were-rebranding/> ***

www.sipcentric.com

Follow us on twitter @sipcentric <http://twitter.com/sipcentric>

Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered 
office: Faraday Wharf, Innovation Birmingham Campus, Holt Street, 
Birmingham Science Park, Birmingham B7 4BB.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20151218/d6a7d723/attachment.html>


More information about the sr-dev mailing list