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
Wed, 19 Jul 2023 17:01:40 +0200 mod_muc_block_pm: Advertise that Moderators are allowed to send PMs
Kim Alvefur <zash@zash.se> [Wed, 19 Jul 2023 17:01:40 +0200] rev 5614
mod_muc_block_pm: Advertise that Moderators are allowed to send PMs But there appears to be no way in XEP-0045 to advertise that Anyone can send PMs *to* Moderators.
Wed, 19 Jul 2023 16:59:16 +0200 mod_muc_block_pm: Allow private messages to yourself
Kim Alvefur <zash@zash.se> [Wed, 19 Jul 2023 16:59:16 +0200] rev 5613
mod_muc_block_pm: Allow private messages to yourself No harm in it. Beagle apparently uses it for XEP-0333 in public channels
Wed, 19 Jul 2023 13:05:47 +0200 mod_http_oauth2: Show errors on device flow user code entry page
Kim Alvefur <zash@zash.se> [Wed, 19 Jul 2023 13:05:47 +0200] rev 5612
mod_http_oauth2: Show errors on device flow user code entry page If the user enters the code incorrectly, having to click back to try again is no fun. Instead, show the error and the code entry form again.
Wed, 19 Jul 2023 12:58:04 +0200 mod_http_oauth2: Namespace the various codes to minimize confusion
Kim Alvefur <zash@zash.se> [Wed, 19 Jul 2023 12:58:04 +0200] rev 5611
mod_http_oauth2: Namespace the various codes to minimize confusion Both for the programmer and in OAuth flows. While unlikely, it should not be possible to cause weirdness e.g. by typing a client id and authorization code into the device code entry.
Mon, 17 Jul 2023 16:40:45 +0200 mod_default_bookmarks: Include 'autojoin' in examples
Kim Alvefur <zash@zash.se> [Mon, 17 Jul 2023 16:40:45 +0200] rev 5610
mod_default_bookmarks: Include 'autojoin' in examples The text does mention this, but who reads that?
Sat, 15 Jul 2023 12:27:24 +0200 mod_http_oauth2: Improve a description in schema
Kim Alvefur <zash@zash.se> [Sat, 15 Jul 2023 12:27:24 +0200] rev 5609
mod_http_oauth2: Improve a description in schema
Sat, 15 Jul 2023 10:45:26 +0200 editorconfig: Document established conventions
Kim Alvefur <zash@zash.se> [Sat, 15 Jul 2023 10:45:26 +0200] rev 5608
editorconfig: Document established conventions
Sat, 15 Jul 2023 09:16:19 +0200 mod_muc_limits: Drop unsupported Prosody versions from Compatibility table
Kim Alvefur <zash@zash.se> [Sat, 15 Jul 2023 09:16:19 +0200] rev 5607
mod_muc_limits: Drop unsupported Prosody versions from Compatibility table
Sat, 15 Jul 2023 09:14:57 +0200 mod_muc_limits: Set syntax of config snippets to enable syntax highlighting
Kim Alvefur <zash@zash.se> [Sat, 15 Jul 2023 09:14:57 +0200] rev 5606
mod_muc_limits: Set syntax of config snippets to enable syntax highlighting
Sat, 15 Jul 2023 09:09:41 +0200 mod_muc_limits: Reduce cost of multi-line messages, make configurable
Kim Alvefur <zash@zash.se> [Sat, 15 Jul 2023 09:09:41 +0200] rev 5605
mod_muc_limits: Reduce cost of multi-line messages, make configurable Typing a 5-line message preceded by a few chat states would have hit the default limit.
Fri, 14 Jul 2023 16:20:54 +0200 mod_client_management: Make ID column dynamically sized
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 16:20:54 +0200] rev 5604
mod_client_management: Make ID column dynamically sized Its width can vary more than expected (because it can contain resources)
Fri, 14 Jul 2023 16:09:43 +0200 mod_client_management: Fix traceback if no last seen timestamp available
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 16:09:43 +0200] rev 5603
mod_client_management: Fix traceback if no last seen timestamp available
Fri, 14 Jul 2023 16:04:11 +0200 mod_http_oauth2: Add titles and descriptions to registration schema
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 16:04:11 +0200] rev 5602
mod_http_oauth2: Add titles and descriptions to registration schema Since it is exposed publicly, it can serve as documentation.
Fri, 14 Jul 2023 15:44:55 +0200 mod_client_management: Fix missing equality check
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 15:44:55 +0200] rev 5601
mod_client_management: Fix missing equality check
Fri, 14 Jul 2023 15:16:06 +0200 mod_client_management: Allow revoking a specific client version
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 15:16:06 +0200] rev 5600
mod_client_management: Allow revoking a specific client version Could be useful in case of a security issue affecting a particular version. Even if in that case, the more likely use case is revoking all older versions except the fixed one(s), this can be done with a loop or improved later.
Fri, 14 Jul 2023 15:01:56 +0200 mod_client_management: Add way to revoke (one) client by software
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 15:01:56 +0200] rev 5599
mod_client_management: Add way to revoke (one) client by software This is a bit hacky but it works.
Fri, 14 Jul 2023 13:25:30 +0200 mod_client_management: Add shell command to revoke client access
Kim Alvefur <zash@zash.se> [Fri, 14 Jul 2023 13:25:30 +0200] rev 5598
mod_client_management: Add shell command to revoke client access Could be used if an operator detects a compromised client.
Thu, 13 Jul 2023 23:26:02 +0200 mod_client_management: Include software version in table (when known)
Kim Alvefur <zash@zash.se> [Thu, 13 Jul 2023 23:26:02 +0200] rev 5597
mod_client_management: Include software version in table (when known) Showing software versions could be useful for statistical reasons, e.g. determining how quickly (or not) users upgrade, but most importantly for revoking vulnerable clients versions in case of a security issue.
Thu, 13 Jul 2023 23:24:23 +0200 mod_client_management: Include the client id in table in shell command
Kim Alvefur <zash@zash.se> [Thu, 13 Jul 2023 23:24:23 +0200] rev 5596
mod_client_management: Include the client id in table in shell command Since this is the identifier used when revoking clients it is useful to show it.
Wed, 12 Jul 2023 15:47:20 +0200 mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations
Kim Alvefur <zash@zash.se> [Wed, 12 Jul 2023 15:47:20 +0200] rev 5595
mod_muc_block_pm: Update to 0.12+ API, use roles instead of affiliations The module was possibly broken with 0.12 before. This changes the behavior to allow only messages to or from moderators.
Mon, 10 Jul 2023 16:10:57 +0200 mod_http_muc_log: Fix redirect bug
Kim Alvefur <zash@zash.se> [Mon, 10 Jul 2023 16:10:57 +0200] rev 5594
mod_http_muc_log: Fix redirect bug If you somehow went to /muc_log/room/yyyy-mm-dd/something it would send you in a redirect loop that continuously added path components until the path can't be parsed anymore. This should ensure that /muc_log/room/date/ is simply 404'd
Mon, 10 Jul 2023 07:16:54 +0200 mod_http_oauth2: Implement RFC 8628 Device Authorization Grant
Kim Alvefur <zash@zash.se> [Mon, 10 Jul 2023 07:16:54 +0200] rev 5593
mod_http_oauth2: Implement RFC 8628 Device Authorization Grant Meant for devices without easy access to a web browser, such as refrigerators and toasters, which definitely need to be running OAuth-enabled XMPP clients! Could be used for CLI tools that might have trouble running a http server needed for the authorization code flow.
Fri, 07 Jul 2023 19:45:48 +0200 mod_http_oauth2: Mention support for RFC 9207
Kim Alvefur <zash@zash.se> [Fri, 07 Jul 2023 19:45:48 +0200] rev 5592
mod_http_oauth2: Mention support for RFC 9207
Fri, 07 Jul 2023 02:02:09 +0100 mod_muc_members_json: Set imported hats to active by default
Matthew Wild <mwild1@gmail.com> [Fri, 07 Jul 2023 02:02:09 +0100] rev 5591
mod_muc_members_json: Set imported hats to active by default
Fri, 07 Jul 2023 01:25:44 +0100 mod_muc_members_json: New module to import MUC membership from a JSON URL
Matthew Wild <mwild1@gmail.com> [Fri, 07 Jul 2023 01:25:44 +0100] rev 5590
mod_muc_members_json: New module to import MUC membership from a JSON URL
Fri, 07 Jul 2023 00:10:37 +0200 mod_rest: Use logger of HTTP request in trunk
Kim Alvefur <zash@zash.se> [Fri, 07 Jul 2023 00:10:37 +0200] rev 5589
mod_rest: Use logger of HTTP request in trunk In Prosody trunk rev c975dafa4303 each HTTP request gained its own log sink, to make it easy to log things related to each request and group those messages. Especially where async is used, spreading the request and response apart as mod_rest does with iq stanzas, this grouped logging should help find related messages.
Fri, 30 Jun 2023 23:58:03 +0200 mod_measure_lua: Add brief README
Kim Alvefur <zash@zash.se> [Fri, 30 Jun 2023 23:58:03 +0200] rev 5588
mod_measure_lua: Add brief README
Fri, 30 Jun 2023 23:57:37 +0200 mod_groups_oidc: Add dependency on mod_groups_internal
Kim Alvefur <zash@zash.se> [Fri, 30 Jun 2023 23:57:37 +0200] rev 5587
mod_groups_oidc: Add dependency on mod_groups_internal Doesn't make much sense without it, no?
Thu, 29 Jun 2023 15:58:33 +0100 Multiple modules: Update for split prosody:user role (prosody 082c7d856e61)
Matthew Wild <mwild1@gmail.com> [Thu, 29 Jun 2023 15:58:33 +0100] rev 5586
Multiple modules: Update for split prosody:user role (prosody 082c7d856e61)
Wed, 28 Jun 2023 21:47:22 +0200 mod_http_muc_log: Hide joins and parts by default
Kim Alvefur <zash@zash.se> [Wed, 28 Jun 2023 21:47:22 +0200] rev 5585
mod_http_muc_log: Hide joins and parts by default Now both ?p=s(how) and ?p=h(ide) are understood and propagated trough links, with unset being being hide.
Mon, 26 Jun 2023 00:19:05 +0200 mod_http_oauth2: Only add nonce when issuing a client_secret
Kim Alvefur <zash@zash.se> [Mon, 26 Jun 2023 00:19:05 +0200] rev 5584
mod_http_oauth2: Only add nonce when issuing a client_secret Not as important that the client_id be unique if there's no client_secret since the point was to make each issued client_secret distinct.
Sun, 25 Jun 2023 23:53:15 +0200 mod_pubsub_feeds: Specify acceptable formats in Accept header
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 23:53:15 +0200] rev 5583
mod_pubsub_feeds: Specify acceptable formats in Accept header Don't need to a condition on the etag, if it's nil it's left out.
Sun, 25 Jun 2023 20:15:44 +0200 mod_pubsub_feeds: Pass feed data as argument instead of storing on object
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 20:15:44 +0200] rev 5582
mod_pubsub_feeds: Pass feed data as argument instead of storing on object Feeds can be quite large, why were we keeping them after parsing???
Sun, 25 Jun 2023 19:58:45 +0200 mod_pubsub_feeds: Retrieve only the most recent item to compare
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 19:58:45 +0200] rev 5581
mod_pubsub_feeds: Retrieve only the most recent item to compare Only need one item id. Fetching all items probably caused memory usage peaks.
Sun, 25 Jun 2023 19:52:24 +0200 mod_pubsub_feeds: Handle node already existing
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 19:52:24 +0200] rev 5580
mod_pubsub_feeds: Handle node already existing Don't need to create it if it exists
Sun, 25 Jun 2023 16:48:21 +0200 mod_pubsub_feeds: Remove comment, this text is in the README
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:48:21 +0200] rev 5579
mod_pubsub_feeds: Remove comment, this text is in the README
Sun, 25 Jun 2023 16:45:25 +0200 mod_pubsub_feeds: Remove broken attempt to generate an ID from content
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:45:25 +0200] rev 5578
mod_pubsub_feeds: Remove broken attempt to generate an ID from content This seems to never have worked correctly and now the timestamp is out of scope anyway.
Sun, 25 Jun 2023 16:42:57 +0200 mod_pubsub_feeds: Fix mixup between feed object and parsed feed
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:42:57 +0200] rev 5577
mod_pubsub_feeds: Fix mixup between feed object and parsed feed Did the HMAC thing ever work?
Sun, 25 Jun 2023 16:41:50 +0200 mod_pubsub_feeds: Create pubsub nodes on module load instead of later
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:41:50 +0200] rev 5576
mod_pubsub_feeds: Create pubsub nodes on module load instead of later Should produce faster feedback of things being wrong.
Sun, 25 Jun 2023 16:27:55 +0200 mod_pubsub_feeds: Track latest timestamp seen in feeds instead of last poll
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:27:55 +0200] rev 5575
mod_pubsub_feeds: Track latest timestamp seen in feeds instead of last poll This should ensure that an entry that has a publish timestmap after the previously oldest post, but before the time of the last poll check, is published to the node. Previously if an entry would be skipped if it was published at 13:00 with a timestamp of 12:30, where the last poll was at 12:45. For feeds that lack a timestamp, it now looks for the first post that is not published, assuming that the feed is in reverse chronological order, then iterates back up from there.
Sun, 25 Jun 2023 16:24:12 +0200 mod_pubsub_feeds: Add new interval setting in seconds (old still works)
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:24:12 +0200] rev 5574
mod_pubsub_feeds: Add new interval setting in seconds (old still works) To match most other such settings.
Sun, 25 Jun 2023 16:20:57 +0200 mod_pubsub_feeds: Disable WebSub (formerly PubSubHubbub) by default
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 16:20:57 +0200] rev 5573
mod_pubsub_feeds: Disable WebSub (formerly PubSubHubbub) by default I have seen no recent evidence of this being used or supported by anything anywhere anymore.
Sun, 25 Jun 2023 11:12:07 +0200 mod_http_oauth2: Always show list of requested scopes
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 11:12:07 +0200] rev 5572
mod_http_oauth2: Always show list of requested scopes Upon further reflection, these are probably too important to hide behind a <details> thing.
Sun, 25 Jun 2023 00:00:02 +0200 mod_muc_limits: Add a limit on number of bytes in a message body
Kim Alvefur <zash@zash.se> [Sun, 25 Jun 2023 00:00:02 +0200] rev 5571
mod_muc_limits: Add a limit on number of bytes in a message body
Sat, 24 Jun 2023 23:56:13 +0200 mod_muc_limits: Add a limit on number of lines per message
Kim Alvefur <zash@zash.se> [Sat, 24 Jun 2023 23:56:13 +0200] rev 5570
mod_muc_limits: Add a limit on number of lines per message More vertical space -> more cost
Sat, 24 Jun 2023 23:53:48 +0200 mod_muc_limits: Normalise README markdown syntax (thanks pandoc)
Kim Alvefur <zash@zash.se> [Sat, 24 Jun 2023 23:53:48 +0200] rev 5569
mod_muc_limits: Normalise README markdown syntax (thanks pandoc)
Sat, 24 Jun 2023 23:51:31 +0200 mod_muc_limits: Raise cost for multi-line messages
Kim Alvefur <zash@zash.se> [Sat, 24 Jun 2023 23:51:31 +0200] rev 5568
mod_muc_limits: Raise cost for multi-line messages
Thu, 22 Jun 2023 22:00:51 +0200 Back out 22784f001b7f: Documentation change did not match code (thanks bronko)
Kim Alvefur <zash@zash.se> [Thu, 22 Jun 2023 22:00:51 +0200] rev 5567
Back out 22784f001b7f: Documentation change did not match code (thanks bronko)
Thu, 22 Jun 2023 21:59:49 +0200 mod_http_oauth2: Rearrange description of redirect URIs requirements
Kim Alvefur <zash@zash.se> [Thu, 22 Jun 2023 21:59:49 +0200] rev 5566
mod_http_oauth2: Rearrange description of redirect URIs requirements So that they're in one place only instead of sorta twice.
Thu, 22 Jun 2023 09:18:32 +0200 mod_http_oauth2: Add a more complete client registration example
Kim Alvefur <zash@zash.se> [Thu, 22 Jun 2023 09:18:32 +0200] rev 5565
mod_http_oauth2: Add a more complete client registration example More fields from RFC 7591. We should probably mention and recommend more of them, especially the ones that are recorded in grants.
Tue, 20 Jun 2023 01:13:51 +0200 mod_http_oauth2: Strip JWKS metadata since we do not understand that
Kim Alvefur <zash@zash.se> [Tue, 20 Jun 2023 01:13:51 +0200] rev 5564
mod_http_oauth2: Strip JWKS metadata since we do not understand that Maybe one day whatever this is will be understood, but not this day!
Tue, 20 Jun 2023 01:11:34 +0200 mod_http_oauth2: Strip unknown client metadata
Kim Alvefur <zash@zash.se> [Tue, 20 Jun 2023 01:11:34 +0200] rev 5563
mod_http_oauth2: Strip unknown client metadata Per RFC 7591 > The authorization server MUST ignore any client metadata sent by the > client that it does not understand (for instance, by silently removing > unknown metadata from the client's registration record during > processing). This was previously done but unintentionally removed in 90449babaa48
Mon, 19 Jun 2023 01:26:56 +0200 mod_rest: Map the archive-id attribute in MAM result items
Kim Alvefur <zash@zash.se> [Mon, 19 Jun 2023 01:26:56 +0200] rev 5562
mod_rest: Map the archive-id attribute in MAM result items I was wondering why this wasn't in the JSON output
Sun, 18 Jun 2023 22:23:24 +0200 mod_rest: Include full_jid property on origin
Kim Alvefur <zash@zash.se> [Sun, 18 Jun 2023 22:23:24 +0200] rev 5561
mod_rest: Include full_jid property on origin Fixes permission check in disco#info query to your own account, where the 'to' would have been stripped since it equals the account JID, leaving mod_disco passing nil, which triggers an error in module:may()
Sun, 18 Jun 2023 15:28:23 +0200 mod_oidc_userinfo_vcard4: Remove unused import
Kim Alvefur <zash@zash.se> [Sun, 18 Jun 2023 15:28:23 +0200] rev 5560
mod_oidc_userinfo_vcard4: Remove unused import
Sun, 18 Jun 2023 15:28:13 +0200 mod_oidc_userinfo_vcard4: Fix typo
Kim Alvefur <zash@zash.se> [Sun, 18 Jun 2023 15:28:13 +0200] rev 5559
mod_oidc_userinfo_vcard4: Fix typo
Sat, 17 Jun 2023 19:03:32 +0200 mod_http_oauth2: Make allowed locales configurable
Kim Alvefur <zash@zash.se> [Sat, 17 Jun 2023 19:03:32 +0200] rev 5558
mod_http_oauth2: Make allowed locales configurable Explicit > Implicit Instead of allowing anything after #, allow only the explicitly configured locales to be used. Default to empty list because using these is not supported yet. This potentially limits the size of the client_id, which is already quite large. Nothing prevents clients from registering a whole client_id per locale, which would not require translation support on this side.
Sat, 17 Jun 2023 18:15:00 +0200 mod_http_oauth2: Improve error messages for URI properties
Kim Alvefur <zash@zash.se> [Sat, 17 Jun 2023 18:15:00 +0200] rev 5557
mod_http_oauth2: Improve error messages for URI properties Since there are separate validation checks for URI properties, including that they should use https, with better and more specific error reporting. Reverts 'luaPattern' to 'pattern' which is not currently supported by util.jsonschema, but allows anything that retrieves the schema over http to validate against it, should they wish to do so.
Sat, 17 Jun 2023 16:28:13 +0200 mod_rest: Describe the error 'by' property in OpenAPI spec
Kim Alvefur <zash@zash.se> [Sat, 17 Jun 2023 16:28:13 +0200] rev 5556
mod_rest: Describe the error 'by' property in OpenAPI spec
Sat, 17 Jun 2023 16:26:33 +0200 mod_rest: List all error conditions in OpenAPI spec
Kim Alvefur <zash@zash.se> [Sat, 17 Jun 2023 16:26:33 +0200] rev 5555
mod_rest: List all error conditions in OpenAPI spec These are not handled by datamanager but by util.stanza and util.error, so they are not represented in the JSON schema file.
Fri, 16 Jun 2023 00:10:46 +0200 mod_http_oauth2: Make note about handling repeated
Kim Alvefur <zash@zash.se> [Fri, 16 Jun 2023 00:10:46 +0200] rev 5554
mod_http_oauth2: Make note about handling repeated RFC 6749 states > If an authorization code is used more than once, the authorization > server MUST deny the request and SHOULD revoke (when possible) all > tokens previously issued based on that authorization code. We should follow the SHOULD. The MUST is already covered by removing the code state from the cache.
Fri, 16 Jun 2023 00:06:53 +0200 mod_http_oauth2: Add TODO about disabling password grant
Kim Alvefur <zash@zash.se> [Fri, 16 Jun 2023 00:06:53 +0200] rev 5553
mod_http_oauth2: Add TODO about disabling password grant Per recommendation in draft-ietf-oauth-security-topics-23 it should at the very least be disabled by default. However since this is used by the Snikket web portal some care needs to be taken not to break this, unless it's already broken by other changes to this module.
Fri, 16 Jun 2023 00:05:57 +0200 mod_http_oauth2: Disable CORS for authorization endpoint
Kim Alvefur <zash@zash.se> [Fri, 16 Jun 2023 00:05:57 +0200] rev 5552
mod_http_oauth2: Disable CORS for authorization endpoint Per recommendation in draft-ietf-oauth-security-topics-23 Hopefully it is enough to return an error status, since mod_http will add CORS headers from a handler with higher priority, even for OPTIONS.
Sun, 11 Jun 2023 14:06:28 +0200 mod_http_oauth2: Make CSP configurable
Kim Alvefur <zash@zash.se> [Sun, 11 Jun 2023 14:06:28 +0200] rev 5551
mod_http_oauth2: Make CSP configurable E.g. to enable forbidding all scripts if you don't use any scripts, or allow scripts from your separate static content domain, etc.
Sun, 11 Jun 2023 14:03:27 +0200 mod_http_oauth2: Link to RFC 7628 in README
Kim Alvefur <zash@zash.se> [Sun, 11 Jun 2023 14:03:27 +0200] rev 5550
mod_http_oauth2: Link to RFC 7628 in README Links are good.
Sun, 11 Jun 2023 14:02:47 +0200 mod_http_oauth2: Use code spans for some config options in README
Kim Alvefur <zash@zash.se> [Sun, 11 Jun 2023 14:02:47 +0200] rev 5549
mod_http_oauth2: Use code spans for some config options in README To make them more recognisable as code things.
Sat, 10 Jun 2023 12:04:00 +0200 mod_http_oauth2: Remove underscore prefix
Kim Alvefur <zash@zash.se> [Sat, 10 Jun 2023 12:04:00 +0200] rev 5548
mod_http_oauth2: Remove underscore prefix LuaCheck considers this to mean that a variable it unused, but this one is not.
Fri, 09 Jun 2023 18:07:15 +0200 mod_cloud_notify_extensions: Fix Markdown syntax of Compatibility table
Kim Alvefur <zash@zash.se> [Fri, 09 Jun 2023 18:07:15 +0200] rev 5547
mod_cloud_notify_extensions: Fix Markdown syntax of Compatibility table
Thu, 08 Jun 2023 19:47:35 +0100 mod_firewall: Add console commands to mark/unmark users
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 19:47:35 +0100] rev 5546
mod_firewall: Add console commands to mark/unmark users
Thu, 08 Jun 2023 19:19:46 +0100 mod_firewall: Load marks from storage on demand rather than at login
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 19:19:46 +0100] rev 5545
mod_firewall: Load marks from storage on demand rather than at login This ensures people who don't use marks, or use them infrequently, don't pay a perf cost on every resource bind.
Thu, 08 Jun 2023 19:15:12 +0100 mod_firewall: Log warning when attempting to mark/unmark remote users
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 19:15:12 +0100] rev 5544
mod_firewall: Log warning when attempting to mark/unmark remote users
Thu, 08 Jun 2023 17:00:04 +0100 mod_firewall: enable marks by default
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 17:00:04 +0100] rev 5543
mod_firewall: enable marks by default
Thu, 08 Jun 2023 16:59:22 +0100 mod_firewall: Improve error when mark name contains invalid characters
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 16:59:22 +0100] rev 5542
mod_firewall: Improve error when mark name contains invalid characters
Thu, 08 Jun 2023 16:53:12 +0100 mod_firewall: marks: Fix marking a user with no previous marks
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 16:53:12 +0100] rev 5541
mod_firewall: marks: Fix marking a user with no previous marks
Thu, 08 Jun 2023 16:20:42 +0100 mod_firewall: Update user marks to store instantly via map store
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 16:20:42 +0100] rev 5540
mod_firewall: Update user marks to store instantly via map store The original approach was to keep marks in memory only, and persist them at shutdown. That saves I/O, at the cost of potentially losing marks on an unclean shutdown. This change persists marks instantly, which may have some performance overhead but should be more "correct". It also splits the marking/unmarking into an event which may be watched or even fired by other modules.
Thu, 08 Jun 2023 16:17:25 +0100 mod_firewall: Split some long lines [luacheck]
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 16:17:25 +0100] rev 5539
mod_firewall: Split some long lines [luacheck]
Thu, 08 Jun 2023 13:04:19 +0100 mod_firewall: Fix inverted logic of 'FROM FULL JID?'
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 13:04:19 +0100] rev 5538
mod_firewall: Fix inverted logic of 'FROM FULL JID?'
Thu, 08 Jun 2023 12:20:34 +0100 mod_firewall: spam-blocking.pfw: Remove requirement for invites to have no body
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 12:20:34 +0100] rev 5537
mod_firewall: spam-blocking.pfw: Remove requirement for invites to have no body Some clients (e.g. Gajim) send a body, which I guess makes sense. The bare JID sender check should already make it hard to bypass this (i.e. a normal client putting muc#user into a normal chat message shouldn't bypass the usual message filters).
Thu, 08 Jun 2023 11:30:39 +0100 mod_firewall: scripts: spam-blocklists: Check sender and inviter of MUC invitations against blocklist
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 11:30:39 +0100] rev 5536
mod_firewall: scripts: spam-blocklists: Check sender and inviter of MUC invitations against blocklist
Thu, 08 Jun 2023 11:28:56 +0100 mod_firewall: scripts: spam-blocking.pfw: Add special handling for MUC invites
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 11:28:56 +0100] rev 5535
mod_firewall: scripts: spam-blocking.pfw: Add special handling for MUC invites
Thu, 08 Jun 2023 11:28:06 +0100 mod_firewall: Add 'FROM FULL JID?' condition
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 11:28:06 +0100] rev 5534
mod_firewall: Add 'FROM FULL JID?' condition
Thu, 08 Jun 2023 11:25:40 +0100 mod_firewall: README: Add some emphasis on the exact behaviour of TO FULL JID
Matthew Wild <mwild1@gmail.com> [Thu, 08 Jun 2023 11:25:40 +0100] rev 5533
mod_firewall: README: Add some emphasis on the exact behaviour of TO FULL JID
Wed, 07 Jun 2023 15:59:34 +0200 mod_rest: Merge some common properties between openapi and schema
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 15:59:34 +0200] rev 5532
mod_rest: Merge some common properties between openapi and schema
Wed, 07 Jun 2023 15:52:02 +0200 mod_rest: Apply normalization to openapi spec
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 15:52:02 +0200] rev 5531
mod_rest: Apply normalization to openapi spec Using https://github.com/mikefarah/yq v4.34.1 --prettyPrint
Wed, 07 Jun 2023 12:54:52 +0200 mod_http_oauth2: Simplify template using if-falsy operator
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 12:54:52 +0200] rev 5530
mod_http_oauth2: Simplify template using if-falsy operator Relies on Prosody rev af1e3b7d9ea3 which added the {var~if-falsy}, released in 0.12. Since this module requires trunk this is fine.
Wed, 07 Jun 2023 12:31:52 +0200 mod_http_dir_listing2: Fix wrong name for resource directory
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 12:31:52 +0200] rev 5529
mod_http_dir_listing2: Fix wrong name for resource directory
Wed, 07 Jun 2023 12:27:13 +0200 mod_http_dir_listing2: Include html resources with plugin installer
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 12:27:13 +0200] rev 5528
mod_http_dir_listing2: Include html resources with plugin installer
Wed, 07 Jun 2023 12:26:27 +0200 mod_http_dir_listing: Strip path to using plugin installer
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 12:26:27 +0200] rev 5527
mod_http_dir_listing: Strip path to using plugin installer
Wed, 07 Jun 2023 12:23:31 +0200 mod_firewall: Include scripts with plugin installer (thanks gooya)
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 12:23:31 +0200] rev 5526
mod_firewall: Include scripts with plugin installer (thanks gooya)
Wed, 07 Jun 2023 01:51:23 +0200 mod_http_oauth2: Add some words about supported flows and defaults
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 01:51:23 +0200] rev 5525
mod_http_oauth2: Add some words about supported flows and defaults
Wed, 07 Jun 2023 01:43:35 +0200 mod_http_oauth2/README: Expand summary to include OAuth 2.0 role
Kim Alvefur <zash@zash.se> [Wed, 07 Jun 2023 01:43:35 +0200] rev 5524
mod_http_oauth2/README: Expand summary to include OAuth 2.0 role This module implements the Authorization Server parts of OAuth 2.0, so having the summary say that seems sensible.
Mon, 05 Jun 2023 22:32:44 +0200 mod_http_oauth2: Return Authentication Time per OpenID Core Section 2
Kim Alvefur <zash@zash.se> [Mon, 05 Jun 2023 22:32:44 +0200] rev 5523
mod_http_oauth2: Return Authentication Time per OpenID Core Section 2 Mandatory To Implement, either MUST include or OPTIONAL depending on things we don't look at, so might as well include it all the time. Since we do not persist authentication state with cookies or such, the authentication time will always be some point between the user being sent to the authorization endpoint and the time they are sent back to the client application.
Mon, 05 Jun 2023 22:19:17 +0200 mod_http_oauth2: Validate the OpenID 'prompt' parameter
Kim Alvefur <zash@zash.se> [Mon, 05 Jun 2023 22:19:17 +0200] rev 5522
mod_http_oauth2: Validate the OpenID 'prompt' parameter Without support for affecting the login and consent procedure, it seems sensible to inform the client that they can't change anything with this parameter.
Sat, 03 Jun 2023 20:04:40 +0200 mod_http_oauth2: Apply text color to OOB input field
Kim Alvefur <zash@zash.se> [Sat, 03 Jun 2023 20:04:40 +0200] rev 5521
mod_http_oauth2: Apply text color to OOB input field Was using the browser default color
Sat, 03 Jun 2023 19:21:39 +0200 mod_client_management: Include client software version number in listing
Kim Alvefur <zash@zash.se> [Sat, 03 Jun 2023 19:21:39 +0200] rev 5520
mod_client_management: Include client software version number in listing Should you ever wish to revoke a client by version number, e.g. for security reasons affecting certain versions, then it would be good to at the very least see which version is used. Also includes the OAuth2 software ID, an optional unique identifier that should be the same for all installations of a particular software.
Fri, 02 Jun 2023 11:28:04 +0200 mod_http_oauth2: Present OOB code in an input field for easier selection
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 11:28:04 +0200] rev 5519
mod_http_oauth2: Present OOB code in an input field for easier selection Should also avoid stray whitespace making it into the selection.
Fri, 02 Jun 2023 11:20:08 +0200 mod_http_oauth2: Revert strict form check to allow consent of multiple scopes
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 11:20:08 +0200] rev 5518
mod_http_oauth2: Revert strict form check to allow consent of multiple scopes Untested commit breaks everything, news at 11
Fri, 02 Jun 2023 11:03:57 +0200 mod_http_oauth2: Reject duplicate form-urlencoded parameters
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 11:03:57 +0200] rev 5517
mod_http_oauth2: Reject duplicate form-urlencoded parameters Per RFC 6749 section 3.1 > Request and response parameters MUST NOT be included more than once. Thanks to OAuch for pointing out Also cleans up some of the icky behavior of formdecode(), like returning a string if no '=' is included.
Fri, 02 Jun 2023 10:40:48 +0200 mod_http_oauth2: Bind refresh tokens to client
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 10:40:48 +0200] rev 5516
mod_http_oauth2: Bind refresh tokens to client Prevent one OAuth client from using the refresh tokens issued to another client as required by RFC 6819 section 5.2.2.2 See also draft-ietf-oauth-security-topics-22 section 2.2.2 Thanks to OAuch for pointing out this issue
Fri, 02 Jun 2023 10:14:16 +0200 mod_http_oauth2: Record hash of client_id to allow future verification
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 10:14:16 +0200] rev 5515
mod_http_oauth2: Record hash of client_id to allow future verification RFC 6819 section 5.2.2.2 states that refresh tokens MUST be bound to the client. In order to do that, we must record something that can definitely tie the client to the grant. Since the full client_id is so large (why we have this client_subset function), a hash is stored instead.
Fri, 02 Jun 2023 10:12:46 +0200 mod_http_oauth2: Add client verification wrapper function
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 10:12:46 +0200] rev 5514
mod_http_oauth2: Add client verification wrapper function Fixes the weird ok, data return format from util.jit, but the real reason is to add some preparation steps here.
Fri, 02 Jun 2023 08:59:59 +0200 mod_http_oauth2: Add Cache-Control and Pragma headers per by RFC 6749
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 08:59:59 +0200] rev 5513
mod_http_oauth2: Add Cache-Control and Pragma headers per by RFC 6749 These are mostly for the various Client-facing endpoints, so the chance of browsers being involved is slightly lower than with the User-facing authorization endpoint, which already sent the Cache-Control header. Thanks to OAuch for pointing out.
Fri, 02 Jun 2023 08:59:29 +0200 mod_http_oauth2: Linkify mod_client_management in README
Kim Alvefur <zash@zash.se> [Fri, 02 Jun 2023 08:59:29 +0200] rev 5512
mod_http_oauth2: Linkify mod_client_management in README
Thu, 01 Jun 2023 20:02:45 +0200 mod_http_oauth2: Fix messed up section about redirect_uris requirements
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 20:02:45 +0200] rev 5511
mod_http_oauth2: Fix messed up section about redirect_uris requirements
Thu, 01 Jun 2023 19:55:36 +0200 mod_http_oauth2: Restructure description of client metadata requirements
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 19:55:36 +0200] rev 5510
mod_http_oauth2: Restructure description of client metadata requirements Previously quite a compact block of text, maybe this is easier to read.
Thu, 01 Jun 2023 19:37:17 +0200 mod_http_oauth2: Correct loopback URL example
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 19:37:17 +0200] rev 5509
mod_http_oauth2: Correct loopback URL example The s in the scheme should not be there, only unencrypted http to loopback interface is allowed.
Thu, 01 Jun 2023 18:32:59 +0200 mod_groups_oidc: Expose groups to OAuth clients
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 18:32:59 +0200] rev 5508
mod_groups_oidc: Expose groups to OAuth clients
Thu, 01 Jun 2023 18:16:18 +0200 mod_oidc_userinfo_vcard4: Advertise OpenID scopes via new mechanism
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 18:16:18 +0200] rev 5507
mod_oidc_userinfo_vcard4: Advertise OpenID scopes via new mechanism
Thu, 01 Jun 2023 18:16:13 +0200 mod_http_oauth2: Add provisions for dynamically adding simple scopes
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 18:16:13 +0200] rev 5506
mod_http_oauth2: Add provisions for dynamically adding simple scopes This lets additional modules define what scopes they might add to the userinfo endpoint, or other things.
Thu, 01 Jun 2023 16:37:03 +0200 mod_http_oauth2: Sort imports
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 16:37:03 +0200] rev 5505
mod_http_oauth2: Sort imports Piped through `sort -k5` thus sorting by module name. Sort order makes it easy to know where to insert new imports.
Thu, 01 Jun 2023 02:33:05 +0200 mod_http_oauth2: Fix closing h1 tag
Kim Alvefur <zash@zash.se> [Thu, 01 Jun 2023 02:33:05 +0200] rev 5504
mod_http_oauth2: Fix closing h1 tag
Wed, 31 May 2023 22:37:51 +0200 mod_auth_oauth_external: Correct docs about default scope
Kim Alvefur <zash@zash.se> [Wed, 31 May 2023 22:37:51 +0200] rev 5503
mod_auth_oauth_external: Correct docs about default scope Yet another failure of auto-complete?
(0) -3000 -1000 -120 +120 tip