Comparison

plugins/mod_register.lua @ 7815:f8d25a2e80ea

mod_register: Verify that fields are known to prevent traceback
author Kim Alvefur <zash@zash.se>
date Fri, 06 Jan 2017 13:09:09 +0100
parent 7814:2120d71b0d56
child 7816:2624f4ee34a2
comparison
equal deleted inserted replaced
7814:2120d71b0d56 7815:f8d25a2e80ea
61 61
62 for _, field in ipairs(additional_fields) do 62 for _, field in ipairs(additional_fields) do
63 if type(field) == "table" then 63 if type(field) == "table" then
64 registration_form[#registration_form + 1] = field; 64 registration_form[#registration_form + 1] = field;
65 else 65 else
66 elseif field_map[field] or field_map[field:sub(1, -2) then
66 if field:match("%+$") then 67 if field:match("%+$") then
67 field = field:sub(1, -2); 68 field = field:sub(1, -2);
68 field_map[field].required = true; 69 field_map[field].required = true;
69 end 70 end
70 71
71 registration_form[#registration_form + 1] = field_map[field]; 72 registration_form[#registration_form + 1] = field_map[field];
72 registration_query:tag(field):up(); 73 registration_query:tag(field):up();
74 else
75 module:log("error", "Unknown field %q", field);
73 end 76 end
74 end 77 end
75 registration_query:add_child(registration_form:form()); 78 registration_query:add_child(registration_form:form());
76 79
77 module:add_feature("jabber:iq:register"); 80 module:add_feature("jabber:iq:register");