# HG changeset patch # User Kim Alvefur # Date 1569771287 -7200 # Node ID b2ce3300f26a6291b1abd26d4b7611ecbe02f3c9 # Parent 8c59b20f71dc2e6f854830d226cb1342413ea692 mod_register_ibr: Distinguish between failure to create account or save extra data diff -r 8c59b20f71dc -r b2ce3300f26a plugins/mod_register_ibr.lua --- a/plugins/mod_register_ibr.lua Sun Sep 29 17:30:54 2019 +0200 +++ b/plugins/mod_register_ibr.lua Sun Sep 29 17:34:47 2019 +0200 @@ -179,14 +179,13 @@ return true; end - -- TODO unable to write file, file may be locked, etc, what's the correct error? - local error_reply = st.error_reply(stanza, "wait", "internal-server-error", "Failed to write data to disk."); - if usermanager_create_user(username, password, host) then + local created, err = usermanager_create_user(username, password, host); + if created then data.registered = os.time(); if not account_details:set(username, data) then log("debug", "Could not store extra details"); usermanager_delete_user(username, host); - session.send(error_reply); + session.send(st.error_reply(stanza, "wait", "internal-server-error", "Failed to write data to disk.")); return true; end session.send(st.reply(stanza)); -- user created! @@ -195,8 +194,8 @@ username = username, host = host, source = "mod_register", session = session }); else - log("debug", "Could not create user"); - session.send(error_reply); + log("debug", "Could not create user", err); + session.send(st.error_reply(stanza, "cancel", "feature-not-implemented", err)); end return true; end);