]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip_pidf_body_generator / res_pjsip_xpidf_body_generator: Ensure local entity...
authorJoshua Colp <jcolp@digium.com>
Tue, 29 Jul 2014 09:50:13 +0000 (09:50 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 29 Jul 2014 09:50:13 +0000 (09:50 +0000)
The local entity as provided by PJSIP is quoted within '<' and '>'. As a result placing
this value into XML will result in malformed XML being produced. This patch now unquotes
the local entity so it can go safely into the XML.

Review: https://reviewboard.asterisk.org/r/3851/

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@419750 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_pjsip_pidf_body_generator.c
res/res_pjsip_xpidf_body_generator.c

index 875a65fda485fc3414d484d52631cd21b5b50ab3..2c99f5cfdafd3d21f55cc22f690825a24754d734 100644 (file)
 static void *pidf_allocate_body(void *data)
 {
        struct ast_sip_exten_state_data *state_data = data;
+       char *local = ast_strdupa(state_data->local);
        pjpidf_pres *pres;
        pj_str_t entity;
 
-       pres = pjpidf_create(state_data->pool, pj_cstr(&entity, state_data->local));
+       pres = pjpidf_create(state_data->pool, pj_cstr(&entity, ast_strip_quoted(local, "<", ">")));
 
        return pres;
 }
index fba6152b3cd6606a7de458ba4d9fe9fe56ad59e6..a844cab9369d72153a9ed6012cc2ddaa648b1307 100644 (file)
 static void *xpidf_allocate_body(void *data)
 {
        struct ast_sip_exten_state_data *state_data = data;
+       char *local = ast_strdupa(state_data->local);
        pjxpidf_pres *pres;
        pj_str_t name;
 
-       pres = pjxpidf_create(state_data->pool, pj_cstr(&name, state_data->local));
+       pres = pjxpidf_create(state_data->pool, pj_cstr(&name, ast_strip_quoted(local, "<", ">")));
        return pres;
 }