diff options
author | Alec L Davis <sivad.a@paradise.net.nz> | 2013-04-16 23:44:18 +0000 |
---|---|---|
committer | Alec L Davis <sivad.a@paradise.net.nz> | 2013-04-16 23:44:18 +0000 |
commit | fed7249ad1a20f5c6ecf8e657a2e83f4af8b379b (patch) | |
tree | d64c14190bf3809d81f21bd953a6970d6504af28 /res | |
parent | 1f71abdfaeeaea0273e862b8fe9585e8e9dbd370 (diff) |
res_xmpp and res_jabber need to search 'cachable' in the attrib section of the received IE, not data.
(issue ASTERISK-20175)
(closes issue ASTERISK-21429)
(closes issue ASTERISK-21069)
(closes issue ASTERISK-21164)
Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)
Review https://reviewboard.asterisk.org/r/2452/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@385939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res')
-rw-r--r-- | res/res_jabber.c | 4 | ||||
-rw-r--r-- | res/res_xmpp.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/res/res_jabber.c b/res/res_jabber.c index 04bc614e9..69f366522 100644 --- a/res/res_jabber.c +++ b/res/res_jabber.c @@ -3355,10 +3355,10 @@ static int aji_handle_pubsub_event(void *data, ikspak *pak) return IKS_FILTER_EAT; } if (!strcasecmp(iks_name(item_content), "state")) { - device_state = iks_find_cdata(item, "state"); - if ((cachable_str = iks_find_cdata(item, "cachable"))) { + if ((cachable_str = iks_find_attrib(item_content, "cachable"))) { sscanf(cachable_str, "%30d", &cachable); } + device_state = iks_find_cdata(item, "state"); ast_publish_device_state_full(item_id, ast_devstate_val(device_state), cachable == AST_DEVSTATE_CACHABLE ? AST_DEVSTATE_CACHABLE : AST_DEVSTATE_NOT_CACHABLE, diff --git a/res/res_xmpp.c b/res/res_xmpp.c index f9cfdac11..dea837204 100644 --- a/res/res_xmpp.c +++ b/res/res_xmpp.c @@ -1470,10 +1470,10 @@ static int xmpp_pubsub_handle_event(void *data, ikspak *pak) return IKS_FILTER_EAT; } if (!strcasecmp(iks_name(item_content), "state")) { - device_state = iks_find_cdata(item, "state"); - if ((cachable_str = iks_find_cdata(item, "cachable"))) { + if ((cachable_str = iks_find_attrib(item_content, "cachable"))) { sscanf(cachable_str, "%30d", &cachable); } + device_state = iks_find_cdata(item, "state"); ast_publish_device_state_full(item_id, ast_devstate_val(device_state), cachable == AST_DEVSTATE_CACHABLE ? AST_DEVSTATE_CACHABLE : AST_DEVSTATE_NOT_CACHABLE, |