Software / code / prosody-modules
File
mod_http_auth_check/mod_http_auth_check.lua @ 6250:c6afc572e316
mod_warn_legacy_tls: update Compability
diff --git a/mod_warn_legacy_tls/README.md b/mod_warn_legacy_tls/README.md
--- a/mod_warn_legacy_tls/README.md
+++ b/mod_warn_legacy_tls/README.md
@@ -43,5 +43,6 @@ legacy_tls_versions = { "TLSv1", "TLSv1.
Prosody-Version Status
--------------- ---------------------
-trunk Works as of 24-12-16
+trunk Works as of 25-05-25
+0.13 Works
0.12 Works
| author | Menel <menel@snikket.de> |
|---|---|
| date | Mon, 12 May 2025 11:00:48 +0200 |
| parent | 2886:5ca6d53d3186 |
line wrap: on
line source
-- HTTP Is User Valid -- By Nicolas Cedilnik <nicoco@nicoco.fr> local jid_prep = require "util.jid".prep; local jid_split = require "util.jid".split; local test_password = require "core.usermanager".test_password; local b64_decode = require "util.encodings".base64.decode; local saslprep = require "util.encodings".stringprep.saslprep; local realm = module:get_host() .. "/" .. module:get_name(); module:depends"http"; local function authenticate (event, path) local request = event.request; local response = event.response; local headers = request.headers; if not headers.authorization then response.headers.www_authenticate = ("Basic realm=%q"):format(realm); return 401 end local from_jid, password = b64_decode(headers.authorization:match"[^ ]*$"):match"([^:]*):(.*)"; from_jid = jid_prep(from_jid); password = saslprep(password); if from_jid and password then local user, host = jid_split(from_jid); local ok, err = test_password(user, host, password); if ok and user and host then return 200 elseif err then return 401 end end end module:provides("http", { route = { GET = authenticate }; });