Software /
code /
prosody-modules
Diff
mod_register_json/mod_register_json.lua @ 357:59345fd38ad9
mod_register_json: Changed a few bits to allow the service to be specified as standalone (by default uses port 9443), Q: Does it work?
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Tue, 12 Apr 2011 17:13:38 +0000 |
parent | 356:5dacfbc9cd86 |
child | 358:4483bb889d12 |
line wrap: on
line diff
--- a/mod_register_json/mod_register_json.lua Tue Apr 12 15:36:30 2011 +0000 +++ b/mod_register_json/mod_register_json.lua Tue Apr 12 17:13:38 2011 +0000 @@ -8,7 +8,7 @@ local b64_decode = require "util.encodings".base64.decode; local json_decode = require "util.json".decode; -module.host = "*" -- HTTP/BOSH Servlets need to be loaded globally. +module.host = "*" -- HTTP/BOSH Servlets need to be global. local set_realm_name = module:get_option("reg_servlet_realm") or "Restricted"; @@ -50,10 +50,9 @@ else -- Various sanity checks. if req_body == nil then module:log("debug", "JSON data submitted for user registration by %s failed to Decode.", user); return http_response(400, "JSON Decoding failed."); end - if req_body["password"]:match("%s") then module:log("debug", "Password submitted for user registration by %s contained spaces.", user); return http_response(400, "Supplied user passwords can't contain spaces."); end -- We first check if the supplied username for registration is already there. if not usermanager.user_exists(req_body["username"], req_body["host"]) then - usermanager.create_user(req_body["username"], req_body["password"], req_body["host"]); + usermanager.create_user(req_body["username"], req_body["password"], req_body["host]); module:log("debug", "%s registration data submission for %s is successful", user, req_body["user"]); return http_response(200, "Done."); else @@ -64,9 +63,15 @@ end local function setup() - local ports = module:get_option("reg_servlet_port") or { 5280 }; + local ports = module:get_option("reg_servlet_port") or { 9443 }; local base_name = module:get_option("reg_servlet_base") or "register_account"; - require "net.httpserver".new_from_config(ports, handle_req, { base = base_name }); + local ssl_cert = module:get_option("reg_servlet_sslcert") or false; + local ssl_key = module:get_option("reg_servlet_sslkey") or false; + if not ssl_cert or not ssl_key then + require "net.httpserver".new_from_config(ports, handle_req, { base = base_name }); + else + require "net.httpserver".new_from_config(ports, handle_req, { ssl = { key = ssl_key, certificate = ssl_cert }, base = base_name }); + end end if prosody.start_time then -- already started setup();