Mercurial > psgxs
diff psgxs.js @ 22:0f42c9c8085a
Fix configure setting error and handle cancelling of configure.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Sat, 23 Oct 2010 02:31:09 +0200 |
parents | e55b31f12f8c |
children | 5fc4ee90c1bc |
line wrap: on
line diff
--- a/psgxs.js +++ b/psgxs.js @@ -793,6 +793,8 @@ function onIq(stanza) { if (!config.enabled('config-node')) return makeError(response, errors.owner.configure.node_configuration_not_supported.n); + var configure = pubsub.getChild('configure'); + var nodeID = configure.getAttribute('node'); if (!nodeID) return makeError(response, errors.nodeid_required.n); @@ -804,7 +806,15 @@ function onIq(stanza) { return makeError(response, errors.forbidden.n); var x = configure.getChild('x', 'jabber:x:data'); - if (!x || x.getAttribute(type) != 'submit') + if (!x) + return makeError(response, errors.bad_request.n); + + var type = x.getAttribute('type'); + if (type == 'cancel') { + conn.send(response); + return; + } + if (type != 'submit') return makeError(response, errors.bad_request.n); var form = forms.parse(x, true);