Comparison

plugins/mod_register_ibr.lua @ 8737:6d71845bf56f

mod_register_ibr: Return a textual error to the user for problems with parsing form data
author Kim Alvefur <zash@zash.se>
date Mon, 09 Apr 2018 22:05:49 +0200
parent 8736:a071c203a1a0
child 9453:b6cdadb1175d
comparison
equal deleted inserted replaced
8736:a071c203a1a0 8737:6d71845bf56f
138 end 138 end
139 139
140 local data, errors = parse_response(query); 140 local data, errors = parse_response(query);
141 if errors then 141 if errors then
142 log("debug", "Error parsing registration form:"); 142 log("debug", "Error parsing registration form:");
143 local textual_errors = {};
143 for field, err in pairs(errors) do 144 for field, err in pairs(errors) do
144 log("debug", "Field %q: %s", field, err); 145 log("debug", "Field %q: %s", field, err);
146 table.insert(textual_errors, ("%s: %s"):format(field:gsub("^%a", string.upper), err));
145 end 147 end
146 session.send(st.error_reply(stanza, "modify", "not-acceptable")); 148 session.send(st.error_reply(stanza, "modify", "not-acceptable", table.concat(textual_errors, "\n")));
147 return true; 149 return true;
148 end 150 end
149 151
150 local username, password = nodeprep(data.username), data.password; 152 local username, password = nodeprep(data.username), data.password;
151 data.username, data.password = nil, nil; 153 data.username, data.password = nil, nil;