Software /
code /
prosody
Changeset
7917:1ea3a8dc7dd5
Merge 0.9->0.10
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 25 Feb 2017 18:08:30 +0100 |
parents | 7915:e3d3ebd417f4 (current diff) 7916:72b6d5ab4137 (diff) |
children | 7918:12e5a54907b6 |
files | plugins/mod_register.lua |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/plugins/mod_register.lua Sat Feb 25 17:57:22 2017 +0100 +++ b/plugins/mod_register.lua Sat Feb 25 18:08:30 2017 +0100 @@ -21,6 +21,7 @@ local compat = module:get_option_boolean("registration_compat", true); local allow_registration = module:get_option_boolean("allow_registration", false); local additional_fields = module:get_option("additional_registration_fields", {}); +local require_encryption = module:get_option("c2s_require_encryption") or module:get_option("require_encryption"); local account_details = module:open_store("account_details"); @@ -83,7 +84,7 @@ local session, features = event.origin, event.features; -- Advertise registration to unauthorized clients only. - if not(allow_registration) or session.type ~= "c2s_unauthed" then + if not(allow_registration) or session.type ~= "c2s_unauthed" or (require_encryption and not session.secure) then return end @@ -213,6 +214,8 @@ if not(allow_registration) or session.type ~= "c2s_unauthed" then log("debug", "Attempted registration when disabled or already authenticated"); session.send(st.error_reply(stanza, "cancel", "service-unavailable")); + elseif require_encryption and not session.secure then + session.send(st.error_reply(stanza, "modify", "policy-violation", "Encryption is required")); else local query = stanza.tags[1]; if stanza.attr.type == "get" then