aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_external_services.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mod_external_services.lua')
-rw-r--r--plugins/mod_external_services.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/mod_external_services.lua b/plugins/mod_external_services.lua
index 1a6c80bd..6fafdb1f 100644
--- a/plugins/mod_external_services.lua
+++ b/plugins/mod_external_services.lua
@@ -175,7 +175,7 @@ local function handle_credentials(event)
local action = stanza.tags[1];
if origin.type ~= "c2s" then
- origin.send(st.error_reply(stanza, "auth", "forbidden"));
+ origin.send(st.error_reply(stanza, "auth", "forbidden", "The 'port' and 'type' attributes are required."));
return true;
end
@@ -188,6 +188,11 @@ local function handle_credentials(event)
local requested_credentials = {};
for service in action:childtags("service") do
+ if not service.attr.type or not service.attr.host then
+ origin.send(st.error_reply(stanza, "modify", "bad-request"));
+ return true;
+ end
+
table.insert(requested_credentials, {
type = service.attr.type;
host = service.attr.host;