Comparison

plugins/mod_pubsub/pubsub.lib.lua @ 8317:ff57b3cc5a8e

mod_pubsub: Make sure that a dataform is given to configure
author Kim Alvefur <zash@zash.se>
date Wed, 11 Oct 2017 22:18:26 +0200
parent 8308:ab189d3f55d1
child 8318:d0a7fc7614de
comparison
equal deleted inserted replaced
8316:8648cb171213 8317:ff57b3cc5a8e
292 end 292 end
293 if not service:may(node, stanza.attr.from, "configure") then 293 if not service:may(node, stanza.attr.from, "configure") then
294 origin.send(pubsub_error_reply(stanza, "forbidden")); 294 origin.send(pubsub_error_reply(stanza, "forbidden"));
295 return true; 295 return true;
296 end 296 end
297 local new_config, err = node_config_form:data(config.tags[1]); 297 local config_form = config:get_child("x", "jabber:x:data");
298 if not config_form then
299 origin.send(st.error_reply(stanza, "modify", "bad-request", "Missing dataform"));
300 return true;
301 end
302 local new_config, err = node_config_form:data(config_form);
298 if not new_config then 303 if not new_config then
299 origin.send(st.error_reply(stanza, "modify", "bad-request", err)); 304 origin.send(st.error_reply(stanza, "modify", "bad-request", err));
300 return true; 305 return true;
301 end 306 end
302 local ok, err = service:set_node_config(node, stanza.attr.from, new_config); 307 local ok, err = service:set_node_config(node, stanza.attr.from, new_config);