Annotate

mod_http_authentication/mod_http_authentication.lua @ 6258:86989059de5b

:multibe Readme.md: correct prosody 0.13 to 13 diff --git a/mod_muc_anonymize_moderation_actions/README.md b/mod_muc_anonymize_moderation_actions/README.md --- a/mod_muc_anonymize_moderation_actions/README.md +++ b/mod_muc_anonymize_moderation_actions/README.md @@ -34,7 +34,7 @@ Component "muc.example.com" "muc" ------ ---------------------- trunk Works as of 25-05-12 - 0.13 Works + 13 Works 0.12 Works ------ ---------------------- diff --git a/mod_sasl2/README.md b/mod_sasl2/README.md --- a/mod_sasl2/README.md +++ b/mod_sasl2/README.md @@ -32,6 +32,6 @@ This module requires Prosody **trunk** a Prosody Version Status ----------------------- ---------------- trunk as of 2025-05-25 Works - 0.13 Works + 13 Works 0.12 Does not work ----------------------- ---------------- diff --git a/mod_sasl2_bind2/README.md b/mod_sasl2_bind2/README.md --- a/mod_sasl2_bind2/README.md +++ b/mod_sasl2_bind2/README.md @@ -17,5 +17,5 @@ This module depends on [mod_sasl2]. It e Prosody-Version Status --------------- ---------------------- trunk Works as of 2025-05-25 - 0.13 Works + 13 Works 0.12 Does not work diff --git a/mod_sasl2_fast/README.md b/mod_sasl2_fast/README.md --- a/mod_sasl2_fast/README.md +++ b/mod_sasl2_fast/README.md @@ -34,5 +34,5 @@ clients being logged out unexpectedly. Prosody-Version Status --------------- ---------------------- trunk Works as of 2025-05-25 - 0.13 Work + 13 Work 0.12 Does not work diff --git a/mod_sasl2_sm/README.md b/mod_sasl2_sm/README.md --- a/mod_sasl2_sm/README.md +++ b/mod_sasl2_sm/README.md @@ -18,5 +18,5 @@ configuration options. Prosody-Version Status --------------- ---------------------- trunk Works as of 2025-05-25 - 0.13 Work + 13 Work 0.12 Does not work diff --git a/mod_sasl_ssdp/README.md b/mod_sasl_ssdp/README.md --- a/mod_sasl_ssdp/README.md +++ b/mod_sasl_ssdp/README.md @@ -21,5 +21,5 @@ There are no configuration options for t Prosody-Version Status --------------- ---------------------- trunk Works as of 2025-05-25 - 0.13 Works + 13 Works 0.12 Does not work diff --git a/mod_vcard_muc/README.md b/mod_vcard_muc/README.md --- a/mod_vcard_muc/README.md +++ b/mod_vcard_muc/README.md @@ -23,7 +23,7 @@ modules_enabled = { # Compatibility ------------------------- ---------------------------------------- - 0.13 Room avatar feature included in Prosody + 13 Room avatar feature included in Prosody 0.12 Works ------------------------- ---------------------------------------- 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 @@ -44,5 +44,5 @@ legacy_tls_versions = { "TLSv1", "TLSv1. Prosody-Version Status --------------- --------------------- trunk Works as of 25-05-25 -0.13 Works +13 Works 0.12 Works
author Menel <menel@snikket.de>
date Wed, 14 May 2025 23:32:04 +0200
parent 3442:05725785e3a6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2337
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
1
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
2 module:set_global();
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
3
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
4 local b64_decode = require "util.encodings".base64.decode;
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
5 local server = require "net.http.server";
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
6
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
7 local credentials = module:get_option_string("http_credentials", "username:secretpassword");
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
8 local unauthed_endpoints = module:get_option_set("unauthenticated_http_endpoints", { "/http-bind", "/http-bind/" })._items;
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
9
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
10 module:wrap_object_event(server._events, false, function (handlers, event_name, event_data)
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
11 local request = event_data.request;
3442
05725785e3a6 mod_http_authentication: Allow HTTP error events to pass through (fixes #1293)
Kim Alvefur <zash@zash.se>
parents: 2337
diff changeset
12 if event_name ~= "http-error" and request and not unauthed_endpoints[request.path] then
2337
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
13 local response = event_data.response;
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
14 local headers = request.headers;
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
15 if not headers.authorization then
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
16 response.headers.www_authenticate = ("Basic realm=%q"):format(module.host.."/"..module.name);
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
17 return 401;
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
18 end
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
19 local user_password = b64_decode(headers.authorization:match("%s(%S*)$"));
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
20 if user_password ~= credentials then
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
21 return 401;
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
22 end
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
23 end
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
24 return handlers(event_name, event_data);
c6e86b74f62e Add mod_http_authentication.lua
JC Brand <jcbrand@minddistrict.com>
parents:
diff changeset
25 end);