Sat, 14 Oct 2023 21:40:20 +0200 mod_storage_s3: Handle signing of request ?query part
Kim Alvefur <zash@zash.se> [Sat, 14 Oct 2023 21:40:20 +0200] rev 5674
mod_storage_s3: Handle signing of request ?query part
Sat, 14 Oct 2023 17:31:06 +0200 mod_storage_s3: Beginnings of an experimental S3 storage driver
Kim Alvefur <zash@zash.se> [Sat, 14 Oct 2023 17:31:06 +0200] rev 5673
mod_storage_s3: Beginnings of an experimental S3 storage driver Tested against MinIO
Fri, 06 Oct 2023 18:34:39 +0200 mod_measure_modules: Report module statuses via OpenMetrics
Kim Alvefur <zash@zash.se> [Fri, 06 Oct 2023 18:34:39 +0200] rev 5672
mod_measure_modules: Report module statuses via OpenMetrics Someone in the chat asked about a health check endpoint, which reminded me of mod_http_status, which provides access to module statuses with full details. After that, this idea came about, which seems natural. As noted in the README, it could be used to monitor that critical modules are in fact loaded correctly. As more modules use the status API, the more useful this module and mod_http_status becomes.
Fri, 06 Oct 2023 16:49:57 +0200 mod_http_health: Provide a health check HTTP endpoint
Kim Alvefur <zash@zash.se> [Fri, 06 Oct 2023 16:49:57 +0200] rev 5671
mod_http_health: Provide a health check HTTP endpoint Someone in the chat asked about a health check endpoint, which reminded me of mod_http_status, which was simplified to produce this module.
Sun, 01 Oct 2023 16:39:48 +0200 mod_rest/rest.sh: Restore default read-only behavior and the -rw flag
Kim Alvefur <zash@zash.se> [Sun, 01 Oct 2023 16:39:48 +0200] rev 5670
mod_rest/rest.sh: Restore default read-only behavior and the -rw flag
Thu, 28 Sep 2023 16:38:29 +0200 mod_http_oauth2: Include 'amr' claim in ID Token
Kim Alvefur <zash@zash.se> [Thu, 28 Sep 2023 16:38:29 +0200] rev 5669
mod_http_oauth2: Include 'amr' claim in ID Token This essentially just says "password authentication was used". This field could later be used to indicate whether e.g. MFA was used.
Thu, 21 Sep 2023 18:47:27 -0500 mod_push2: restore offline message hook
Stephen Paul Weber <singpolyma@singpolyma.net> [Thu, 21 Sep 2023 18:47:27 -0500] rev 5668
mod_push2: restore offline message hook Filtering is mostly handled in handle_notify_request now
Wed, 20 Sep 2023 23:05:29 -0500 mod_push2: Need to include the public key with the JWT
Stephen Paul Weber <singpolyma@singpolyma.net> [Wed, 20 Sep 2023 23:05:29 -0500] rev 5667
mod_push2: Need to include the public key with the JWT
Tue, 19 Sep 2023 21:39:14 -0500 mod_push2: Add note about luaossl patch
Stephen Paul Weber <singpolyma@singpolyma.net> [Tue, 19 Sep 2023 21:39:14 -0500] rev 5666
mod_push2: Add note about luaossl patch
Tue, 19 Sep 2023 21:36:13 -0500 mod_push2: Fix unbalanced quote in readme
Stephen Paul Weber <singpolyma@singpolyma.net> [Tue, 19 Sep 2023 21:36:13 -0500] rev 5665
mod_push2: Fix unbalanced quote in readme
Tue, 19 Sep 2023 21:33:40 -0500 mod_push2: Add back body truncation logic
Stephen Paul Weber <singpolyma@singpolyma.net> [Tue, 19 Sep 2023 21:33:40 -0500] rev 5664
mod_push2: Add back body truncation logic
Tue, 19 Sep 2023 21:21:17 -0500 Initial work on Push 2.0
Stephen Paul Weber <singpolyma@singpolyma.net> [Tue, 19 Sep 2023 21:21:17 -0500] rev 5663
Initial work on Push 2.0
Tue, 19 Sep 2023 15:03:01 +0200 mod_muc_adhoc_bots: Fix unbalanced quote in metadata section
Kim Alvefur <zash@zash.se> [Tue, 19 Sep 2023 15:03:01 +0200] rev 5662
mod_muc_adhoc_bots: Fix unbalanced quote in metadata section
Tue, 19 Sep 2023 14:55:56 +0200 mod_muc_members_json: Fix potential error when removing old affiliations
Kim Alvefur <zash@zash.se> [Tue, 19 Sep 2023 14:55:56 +0200] rev 5661
mod_muc_members_json: Fix potential error when removing old affiliations Found this uncommitted change on a production server... The affiliation data may been `nil` at some point, triggering an error?
Tue, 19 Sep 2023 13:22:00 +0200 mod_http_muc_log: Correctly handle changed or retracted reactions
Kim Alvefur <zash@zash.se> [Tue, 19 Sep 2023 13:22:00 +0200] rev 5660
mod_http_muc_log: Correctly handle changed or retracted reactions Since per XEP-0444 each reaction should overwrite all previous reactions on a particular message from a particular occupant. Previously repeated reactions would be counted again and retractions were not handled.
Mon, 18 Sep 2023 18:34:55 +0200 mod_muc_members_json: Demonstrate support for more than one JID per list
Kim Alvefur <zash@zash.se> [Mon, 18 Sep 2023 18:34:55 +0200] rev 5659
mod_muc_members_json: Demonstrate support for more than one JID per list
Mon, 18 Sep 2023 18:33:01 +0200 mod_muc_members_json: Fix invalid JSON in README
Kim Alvefur <zash@zash.se> [Mon, 18 Sep 2023 18:33:01 +0200] rev 5658
mod_muc_members_json: Fix invalid JSON in README
Mon, 18 Sep 2023 08:24:19 -0500 Merge
Stephen Paul Weber <singpolyma@singpolyma.net> [Mon, 18 Sep 2023 08:24:19 -0500] rev 5657
Merge
Mon, 18 Sep 2023 08:22:07 -0500 mod_muc_adhoc_bots: add module
Stephen Paul Weber <singpolyma@singpolyma.net> [Mon, 18 Sep 2023 08:22:07 -0500] rev 5656
mod_muc_adhoc_bots: add module
Sat, 06 May 2023 19:42:08 -0500 mod_pubsub_subscription: support subscribing from a bare JID
Stephen Paul Weber <singpolyma@singpolyma.net> [Sat, 06 May 2023 19:42:08 -0500] rev 5655
mod_pubsub_subscription: support subscribing from a bare JID Allow subscribing from a bare JID on the component instead of only the component host, useful for subscribing to whitelist access model nodes that want to see a particular JID in the from.
Sat, 06 May 2023 19:40:23 -0500 merge
Stephen Paul Weber <singpolyma@singpolyma.net> [Sat, 06 May 2023 19:40:23 -0500] rev 5654
merge
Wed, 22 Feb 2023 22:47:45 -0500 mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Stephen Paul Weber <singpolyma@singpolyma.net> [Wed, 22 Feb 2023 22:47:45 -0500] rev 5653
mod_muc_restrict_avatars: Block MUC participant avatars for non-members
Sun, 17 Sep 2023 13:36:30 +0200 misc/mtail: Start of an mtail config
Kim Alvefur <zash@zash.se> [Sun, 17 Sep 2023 13:36:30 +0200] rev 5652
misc/mtail: Start of an mtail config Stashing it here in case anyone wants to continue working on it. Currently it's only counting log messages by level. Due to the permissions set by systemd on Prosody logs, mtail never managed to start correctly until permissions were manually relaxed.
Mon, 11 Sep 2023 18:03:18 +0200 mod_muc_moderation: Mention that it works with mod_storage_xmlarchive (thanks Menel)
Kim Alvefur <zash@zash.se> [Mon, 11 Sep 2023 18:03:18 +0200] rev 5651
mod_muc_moderation: Mention that it works with mod_storage_xmlarchive (thanks Menel)
Mon, 11 Sep 2023 10:48:31 +0200 mod_http_oauth2: Apply refresh token ttl to refresh token instead of grant
Kim Alvefur <zash@zash.se> [Mon, 11 Sep 2023 10:48:31 +0200] rev 5650
mod_http_oauth2: Apply refresh token ttl to refresh token instead of grant The intent in 59d5fc50f602 was for refresh tokens to extend the lifetime of the grant, but the refresh token ttl was applied to the grant and mod_tokenauth does not change it, leading to the grant expiring regardless of refresh token usage. This makes grant lifetimes unlimited, which seems to be standard practice in the wild.
Mon, 11 Sep 2023 10:19:38 +0200 mod_client_management: Show grant expiry in shell command
Kim Alvefur <zash@zash.se> [Mon, 11 Sep 2023 10:19:38 +0200] rev 5649
mod_client_management: Show grant expiry in shell command I want to know when my OAuth2 grant expires and that it really is extended by refreshing.
Sat, 09 Sep 2023 22:51:25 +0200 mod_http_oauth2: Tweak wording in README to point out that this is an AS
Kim Alvefur <zash@zash.se> [Sat, 09 Sep 2023 22:51:25 +0200] rev 5648
mod_http_oauth2: Tweak wording in README to point out that this is an AS
Sat, 09 Sep 2023 21:42:24 +0200 mod_http_oauth2: Allow 'login_hint' as a substitute for OIDC 'select_account' prompt
Kim Alvefur <zash@zash.se> [Sat, 09 Sep 2023 21:42:24 +0200] rev 5647
mod_http_oauth2: Allow 'login_hint' as a substitute for OIDC 'select_account' prompt If the OIDC 'prompt' parameter does not contain the 'select_account' then it wants us to skip account selection, which means we have to figure which account to authenticate somehow. One way could be have this stored in a cookie from a previous successful login. Another way would be to have the account passed as a hint, which is what we add here.
Sun, 27 Aug 2023 09:49:35 +0200 mod_http_oauth2: Remove broken in-CSS templating
Kim Alvefur <zash@zash.se> [Sun, 27 Aug 2023 09:49:35 +0200] rev 5646
mod_http_oauth2: Remove broken in-CSS templating Because util.interpolation with a "%b{}" pattern only matches the outer brackets, so variables inside them would not work unless the pattern is changed (also considered).
Sun, 27 Aug 2023 15:33:14 +0200 mod_bidi: Really extra finally fix auto-linking to mod_s2s_bidi
Kim Alvefur <zash@zash.se> [Sun, 27 Aug 2023 15:33:14 +0200] rev 5645
mod_bidi: Really extra finally fix auto-linking to mod_s2s_bidi
Sun, 27 Aug 2023 15:31:46 +0200 mod_bidi: Fix README again
Kim Alvefur <zash@zash.se> [Sun, 27 Aug 2023 15:31:46 +0200] rev 5644
mod_bidi: Fix README again
Sun, 27 Aug 2023 15:30:00 +0200 mod_bidi: Fix autolink syntax
Kim Alvefur <zash@zash.se> [Sun, 27 Aug 2023 15:30:00 +0200] rev 5643
mod_bidi: Fix autolink syntax Thanks pandoc ... not
Sun, 27 Aug 2023 15:28:53 +0200 mod_bidi: Add warning about use with 0.12
Kim Alvefur <zash@zash.se> [Sun, 27 Aug 2023 15:28:53 +0200] rev 5642
mod_bidi: Add warning about use with 0.12
Sat, 26 Aug 2023 14:49:45 +0200 mod_rest/rest.sh: Silence shellcheck SC1091
Kim Alvefur <zash@zash.se> [Sat, 26 Aug 2023 14:49:45 +0200] rev 5641
mod_rest/rest.sh: Silence shellcheck SC1091 Stops it from trying and failing to read the config file, since the path uses variables.
Sat, 26 Aug 2023 14:37:04 +0200 mod_rest/rest.sh: Update to use httpie-oauth2 plugin
Kim Alvefur <zash@zash.se> [Sat, 26 Aug 2023 14:37:04 +0200] rev 5640
mod_rest/rest.sh: Update to use httpie-oauth2 plugin This bash implementation of OAuth2/OIDC was growing to the point where it needed a massive refactor, which made me look into alternatives where I finally settled on implementing oauth2 in a plugin for HTTPie.
Sat, 26 Aug 2023 01:40:23 +0200 mod_http_oauth2: Specify language in templates
Kim Alvefur <zash@zash.se> [Sat, 26 Aug 2023 01:40:23 +0200] rev 5639
mod_http_oauth2: Specify language in templates Might be used as hint to translation systems. Maybe one day we'll have i18n built in, but this is not that day!
Thu, 17 Aug 2023 08:34:17 +0200 mod_http_oauth2: Remove duplicated word in README introduced in 734788d8bfc3
Kim Alvefur <zash@zash.se> [Thu, 17 Aug 2023 08:34:17 +0200] rev 5638
mod_http_oauth2: Remove duplicated word in README introduced in 734788d8bfc3
Wed, 16 Aug 2023 23:56:40 +0200 mod_http_oauth2: Allow omitting application type for native apps
Kim Alvefur <zash@zash.se> [Wed, 16 Aug 2023 23:56:40 +0200] rev 5637
mod_http_oauth2: Allow omitting application type for native apps This derives "application_type":"native" from the first redirect URI when registering a client, so that it can be omitted without the default value of "web" causing the very same redirect URIs to be rejected.
Wed, 16 Aug 2023 11:17:28 +0200 mod_client_management: Show timestamp of first client appearance
Kim Alvefur <zash@zash.se> [Wed, 16 Aug 2023 11:17:28 +0200] rev 5636
mod_client_management: Show timestamp of first client appearance
Tue, 08 Aug 2023 17:04:50 +0200 mod_http_oauth2: Improve templates
Kim Alvefur <zash@zash.se> [Tue, 08 Aug 2023 17:04:50 +0200] rev 5635
mod_http_oauth2: Improve templates XML-ness by avoiding value-less attributes or whatever they're called Plus some Aria label tweaks
Mon, 07 Aug 2023 22:52:14 +0200 mod_http_oauth2: Add autocomplete hint to username field
Kim Alvefur <zash@zash.se> [Mon, 07 Aug 2023 22:52:14 +0200] rev 5634
mod_http_oauth2: Add autocomplete hint to username field
Sun, 06 Aug 2023 12:07:05 +0200 mod_http_oauth2: Make storage of various code more consistent
Kim Alvefur <zash@zash.se> [Sun, 06 Aug 2023 12:07:05 +0200] rev 5633
mod_http_oauth2: Make storage of various code more consistent I'm not sure how any of this worked at all.
Fri, 04 Aug 2023 01:11:01 +0200 mod_http_oauth2: Bail on invalid or expired device flow state token
Kim Alvefur <zash@zash.se> [Fri, 04 Aug 2023 01:11:01 +0200] rev 5632
mod_http_oauth2: Bail on invalid or expired device flow state token
Mon, 31 Jul 2023 07:28:09 +0200 mod_http_oauth2: Tweak method of centering the UI
Kim Alvefur <zash@zash.se> [Mon, 31 Jul 2023 07:28:09 +0200] rev 5631
mod_http_oauth2: Tweak method of centering the UI The percentage here was relative to the viewport width, which on some very wide screens may put the UI slightly outside of the view, requiring scrolling to see. By using a unit relative to the height of the viewport, this is avoided and should work better. But no guarantees, it's still possible to resize the browser or adjust font sizes so that the UI goes out of view.
Mon, 31 Jul 2023 02:07:58 +0200 mod_http_oauth2: Optionally enforce authentication on revocation endpoint
Kim Alvefur <zash@zash.se> [Mon, 31 Jul 2023 02:07:58 +0200] rev 5630
mod_http_oauth2: Optionally enforce authentication on revocation endpoint But why do OAuth require this? If a token leaks, why couldn't anyone revoke it?
Mon, 31 Jul 2023 02:07:24 +0200 mod_http_oauth2: Present errors in HTML <dialog>
Kim Alvefur <zash@zash.se> [Mon, 31 Jul 2023 02:07:24 +0200] rev 5629
mod_http_oauth2: Present errors in HTML <dialog> Nice semantic things that don't require JavaScript
Mon, 31 Jul 2023 02:05:49 +0200 mod_http_oauth2: Move site name into <header>
Kim Alvefur <zash@zash.se> [Mon, 31 Jul 2023 02:05:49 +0200] rev 5628
mod_http_oauth2: Move site name into <header> Because it's the site header
Mon, 31 Jul 2023 02:04:05 +0200 mod_http_oauth2: Conform to XHTML in templates
Kim Alvefur <zash@zash.se> [Mon, 31 Jul 2023 02:04:05 +0200] rev 5627
mod_http_oauth2: Conform to XHTML in templates Mostly because pedantic. Seems appropriate. Nice to be able to use an XML parser.
Thu, 27 Jul 2023 15:04:38 +0200 mod_s2sout_override: Add support for one-level wildcards (e.g. *.example.net)
Kim Alvefur <zash@zash.se> [Thu, 27 Jul 2023 15:04:38 +0200] rev 5626
mod_s2sout_override: Add support for one-level wildcards (e.g. *.example.net)
Thu, 27 Jul 2023 15:00:26 +0200 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se> [Thu, 27 Jul 2023 15:00:26 +0200] rev 5625
mod_s2sout_override: Add support for a catch-all target
Wed, 26 Jul 2023 16:23:13 +0200 mod_invites_page: Produce URL without config from prosodyctl in trunk
Kim Alvefur <zash@zash.se> [Wed, 26 Jul 2023 16:23:13 +0200] rev 5624
mod_invites_page: Produce URL without config from prosodyctl in trunk Requires Prosody trunk rev 5884d58707fa or later.
Tue, 25 Jul 2023 11:01:58 +0200 mod_http_oauth2: Don't use new time period API just yet
Kim Alvefur <zash@zash.se> [Tue, 25 Jul 2023 11:01:58 +0200] rev 5623
mod_http_oauth2: Don't use new time period API just yet Mistake in commit splitting, this was meant for later. On the other hand, this is trunk only anyway.
Mon, 24 Jul 2023 01:26:41 +0200 mod_http_oauth2: Clean cache less frequently
Kim Alvefur <zash@zash.se> [Mon, 24 Jul 2023 01:26:41 +0200] rev 5622
mod_http_oauth2: Clean cache less frequently Seems unlikely that enough unused and expired codes accumulate to warrant an hourly job.
Mon, 24 Jul 2023 01:30:14 +0200 mod_http_oauth2: Shorten default token validity periods
Kim Alvefur <zash@zash.se> [Mon, 24 Jul 2023 01:30:14 +0200] rev 5621
mod_http_oauth2: Shorten default token validity periods With refresh tokens, short lifetime for access tokens is not a problem. The arbitrary choice of one hour seems reasonable. RFC 6749 has it as example value. One week for refresh tokens matching the default archive retention period. This means that a client that remains unused for one week will have to sign in again. An actively used client will continually push that forward with each used refresh token.
Sun, 23 Jul 2023 02:56:08 +0200 mod_http_oauth2: Implement refresh token rotation
Kim Alvefur <zash@zash.se> [Sun, 23 Jul 2023 02:56:08 +0200] rev 5620
mod_http_oauth2: Implement refresh token rotation Makes refresh tokens one-time-use, handing out a new refresh token with each access token. Thus if a refresh token is stolen and used by an attacker, the next time the legitimate client tries to use the previous refresh token, it will not work and the attack will be noticed. If the attacker does not use the refresh token, it becomes invalid after the legitimate client uses it. This behavior is recommended by draft-ietf-oauth-security-topics
Fri, 21 Jul 2023 00:38:04 +0200 mod_http_oauth2: Hint at future deprecation of resource owner password grant
Kim Alvefur <zash@zash.se> [Fri, 21 Jul 2023 00:38:04 +0200] rev 5619
mod_http_oauth2: Hint at future deprecation of resource owner password grant It is strongly discouraged by all the modern OAuth 2.0 (and 2.1) documents.
Fri, 21 Jul 2023 00:37:34 +0200 mod_http_oauth2: Allow a shorter form of the device grant in config
Kim Alvefur <zash@zash.se> [Fri, 21 Jul 2023 00:37:34 +0200] rev 5618
mod_http_oauth2: Allow a shorter form of the device grant in config Long URI is long
Fri, 21 Jul 2023 00:29:24 +0200 mod_http_oauth2: Mention Device flow in list of flows in README
Kim Alvefur <zash@zash.se> [Fri, 21 Jul 2023 00:29:24 +0200] rev 5617
mod_http_oauth2: Mention Device flow in list of flows in README
Thu, 20 Jul 2023 10:38:33 +0200 mod_muc_moderation: Stamp XEP-0421 occupant-id for the acting moderator
Kim Alvefur <zash@zash.se> [Thu, 20 Jul 2023 10:38:33 +0200] rev 5616
mod_muc_moderation: Stamp XEP-0421 occupant-id for the acting moderator Gives clients some hint about which moderator it was who did the deed. The @by attribute does have the nick of the actor, but they could change their nickname at some point, which is what occupant-id solves. Ref #1816
Thu, 20 Jul 2023 10:37:27 +0200 mod_muc_moderation: Copy XEP-0421 occupant-id from retracted message
Kim Alvefur <zash@zash.se> [Thu, 20 Jul 2023 10:37:27 +0200] rev 5615
mod_muc_moderation: Copy XEP-0421 occupant-id from retracted message Lets clients correlate the sender of whatever was retracted by moderators. Behavior limited to Prosody 0.12, otherwise there are no assurances of the origin of the occupant-id tag. Ref #1816
(0) -3000 -1000 -300 -100 -60 +60 +100 tip