comparison mod_easy_invite/mod_easy_invite.lua @ 4023:7e2db4d61f6c

mod_easy_invite: backport: ensure session exists before accessing it Backport from https://github.com/snikket-im/snikket-server This prevents a 500 issue when using mod_register_web.
author Maxime “pep” Buquet <pep@bouah.net>
date Sun, 17 May 2020 22:38:55 +0200
parents 3ac31ddab7eb
children 6cdbca89b8be
comparison
equal deleted inserted replaced
4022:3ac31ddab7eb 4023:7e2db4d61f6c
135 return true; 135 return true;
136 end); 136 end);
137 137
138 -- Registration attempt - ensure a valid preauth token has been supplied 138 -- Registration attempt - ensure a valid preauth token has been supplied
139 module:hook("user-registering", function (event) 139 module:hook("user-registering", function (event)
140 local validated_invite = event.session.validated_invite; 140 local validated_invite = event.validated_invite or (event.session and event.session.validated_invite);
141 if invite_only and not validated_invite then 141 if invite_only and not validated_invite then
142 event.allowed = false; 142 event.allowed = false;
143 event.reason = "Registration on this server is through invitation only"; 143 event.reason = "Registration on this server is through invitation only";
144 return; 144 return;
145 end 145 end
167 subscribe(host, user2, user1); 167 subscribe(host, user2, user1);
168 end 168 end
169 169
170 -- Registration successful, if there was a preauth token, mark it as used 170 -- Registration successful, if there was a preauth token, mark it as used
171 module:hook("user-registered", function (event) 171 module:hook("user-registered", function (event)
172 local validated_invite = event.session.validated_invite; 172 local validated_invite = event.validated_invite or (event.session and event.session.validated_invite);
173 if not validated_invite then 173 if not validated_invite then
174 return; 174 return;
175 end 175 end
176 local inviter_username = validated_invite.inviter; 176 local inviter_username = validated_invite.inviter;
177 validated_invite:use(); 177 validated_invite:use();