aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | migrator: Add mod_http_file_share example to config templateKim Alvefur2023-11-011-0/+6
| |
* | migrator: Update default config template with new storesKim Alvefur2023-11-011-0/+4
| | | | | | | | | | | | * mod_authz_internal adds account_roles * mod_cron has its state * mod_smacks also has some non-critical state
* | core.certmanager: Tweak log level of message about SNI being requiredKim Alvefur2023-10-291-1/+1
| | | | | | | | Everything supports SNI today, so this is not useful information.
* | mod_bosh: Include stream attributes in stream-features eventMatthew Wild2023-10-281-1/+1
| | | | | | | | | | This matches what mod_c2s does, and fixes a traceback in mod_sasl2_fast when used with BOSH (that module tries to use event.stream.from).
* | Merge 0.12->trunkKim Alvefur2023-10-271-1/+4
|\|
| * core.certmanager: Validate that 'tls_profile' is one of the valid valuesKim Alvefur2023-10-271-1/+4
| | | | | | | | A typo should not result in ending up with "legacy"
* | mod_saslauth: Clear 'auto' from endpoint hash var, it's not a real hash ↵Matthew Wild2023-10-261-0/+1
| | | | | | | | (thanks tmolitor)
* | mod_saslauth, mod_c2s: Disable tls-server-end-point channel binding by defaultMatthew Wild2023-10-262-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This channel binding method is now enabled when a hash is manually set in the config, or it attempts to discover the hash automatically if the value is the special string "auto". A related change to mod_c2s prevents complicated certificate lookups in the client connection hot path - this work now happens only when this channel binding method is used. I'm not aware of anything else that uses ssl_cfg (vs ssl_ctx). Rationale for disabling by default: - Minor performance impact in automatic cert detection - This method is weak against a leaked/stolen private key (other methods such as 'tls-exporter' would not be compromised in such a case) Rationale for keeping the implementation: - For some deployments, this may be the only method available (e.g. due to TLS offloading in another process/server).
* | mod_saslauth: Fix traceback in tls-server-end-point channel bindingMatthew Wild2023-10-261-3/+8
| |
* | mod_admin_shell: Make 'Role' column dynamically sizedKim Alvefur2023-10-261-1/+1
| | | | | | | | | | | | | | Some of the new roles don't quite fit nicely into 4 characters (excluding ellipsis). Given the ability to dynamically add additional roles from the config and possibly from modules, it seems better to just make it a relative size since we can't know how long they will be.
* | mod_saslauth: Actively close cert file after readingMatthew Wild2023-10-241-0/+1
| | | | | | | | Explicit > implicit
* | mod_saslauth: Fix read format string (thanks tmolitor)Matthew Wild2023-10-241-1/+1
| |
* | mod_cron: Make task frequencies configurable in overly generic mannerKim Alvefur2023-10-223-10/+10
| | | | | | | | Requested feature for many modules, notably MAM and file sharing.
* | mod_cron: Fix missing restore method in Teal record definitionKim Alvefur2023-10-221-0/+1
| |
* | CHANGES: Mention 'tls-server-end-point'Kim Alvefur2023-10-221-0/+1
| |
* | mod_saslauth: Get correct 'tls-server-end-point' with new LuaSec APIKim Alvefur2022-10-231-12/+15
| | | | | | | | | | | | MattJ contributed new APIs for retrieving the actually used certificate and chain to LuaSec, which are not in a release at the time of this commit.
* | mod_c2s: Add session.ssl_cfg/ssl_ctx for direct TLS connectionsMatthew Wild2022-09-071-0/+8
| |
* | portmanager: Expose API to get at SSL/TLS config for a given interface/portMatthew Wild2022-09-071-0/+8
| |
* | mod_saslauth: Derive hash from certificate per tls-server-end-pointKim Alvefur2021-06-291-0/+34
| | | | | | | | | | | | | | | | | | | | | | This originally used a WIP implementation of cert:sigalg(), a method to retrieve certificate signature algorithm, but it was never submitted upstream. https://github.com/Zash/luasec/tree/zash/sigalg cert:getsignaturename() was merged in https://github.com/brunoos/luasec/commit/de393417b7c7566caf1e0a0ad54132942ac4f049 XEP-0440 v0.3.0 made implementing tls-server-end-point a MUST
* | mod_saslauth: Support tls-server-end-point via manually specified hashKim Alvefur2020-12-071-0/+13
| | | | | | | | | | | | | | | | Since this channel binding method is said to enable TLS offloading then you need tell Prosody the hash (or the full cert), so this seems like a good start. Support is RECOMMENDED in XEP-0440 version 0.2
* | mod_tokenauth: Set name/description on cleanup jobKim Alvefur2023-10-211-1/+1
| |
* | mod_tokenauth: Save grant after removing expired tokensKim Alvefur2023-10-211-0/+5
| | | | | | | | Ensures the periodic cleanup really does remove expired tokens.
* | mod_tokenauth: Periodically clear out expired tokens and grantsKim Alvefur2023-10-091-0/+6
| | | | | | | | This should ensure expired grants eventually disappear.
* | mod_tokenauth: Delete grants without tokens after periodKim Alvefur2023-10-161-0/+8
| | | | | | | | | | | | | | | | | | | | Generally it is expected that a grant would have at least one token as long as the grant is in active use. Refresh tokens issued by mod_http_oauth2 have a lifetime of one week by default, so the idea here is that if that refresh token expired and another week goes by without the grant being used, then the whole grant can be removed.
* | mod_tokenauth: Clear expired tokens on grant retrievalKim Alvefur2023-10-091-1/+8
| |
* | mod_tokenauth: Delete grants in the wrong formats on retrievalKim Alvefur2023-10-091-0/+5
| |
* | lint: Teach luacheck about module:onceKim Alvefur2023-10-151-0/+1
| | | | | | | | Silence warning for using this introduced in 9c62ffbdf2ae
* | mod_cron: Remove unused import [luacheck]Kim Alvefur2023-10-152-2/+0
| | | | | | | | Use of datetime was removed in 6ac5ad578565
* | Merge 0.12->trunkKim Alvefur2023-10-151-1/+1
|\|
| * mod_muc_mam: Improve wording of enable settingKim Alvefur2023-10-151-1/+1
| | | | | | | | | | | | | | | | Suggested by jstein in the chat This option label is used by XMPP clients to explain what the option does. a) The user should know where the data is archived. b) The user needs a statement that can be enabled/disabled by the variable. A question would have the wrong logic here.
| * Added tag 0.12.4 for changeset a2ba3f06dcf4Kim Alvefur2023-09-050-0/+0
| |
* | mod_http_file_share: Retrieve stored total in async-friendly wayKim Alvefur2023-10-141-2/+2
| | | | | | | | Does this run in a thread?
* | mod_cron: Load last task run time inside task runner to fix asyncKim Alvefur2023-10-142-17/+41
| | | | | | | | | | This ensures that all interactions with storage happen inside an async thread, allowing async waiting to be performed in storage drivers.
* | mod_cron: Revert bbd3ac65640dKim Alvefur2023-07-302-9/+0
| | | | | | | | | | | | | | Maybe it is better to run daily and weekly tasks 'now' on the theory that people set these things up during times that are appropriate for maintenance already, so the same time next day or next week might be fine for periodic cleanup.
* | mod_storage_internal: Don't report error when attempting to trim empty archiveKim Alvefur2023-10-081-1/+7
| | | | | | | | Fixes "Could not delete messages for room 'x': (nil)"
* | mod_storage_internal: Fix fast trimming of archive with exactly one itemKim Alvefur2023-09-241-0/+7
| | | | | | | | | | | | | | | | | | This method would previously never delete the first (and only) item since it works out which item should become the first item after the trim operation, which doesn't make sense when all should be removed. This also works as an optimization for when all the last item should be trimmed, thus items should be removed.
* | net.http.server: Fix typo in previous commitKim Alvefur2023-09-231-1/+1
| |
* | net.http.server: Support setting Content-Type of uncaught HTTP errorsKim Alvefur2023-09-221-1/+6
| | | | | | | | | | | | | | | | mod_http_errors normally sets the Content-Type header via the response object, which isn't available when handling these uncaught errors. Without a Content-Type header the browser is forced to guess, which may or may not result in something sensible.
* | mod_http_file_share: Switch to the new authz API (BC)Kim Alvefur2023-09-162-1/+4
| | | | | | | | | | | | | | | | | | Behavior change: It becomes up to the authorization module whether to allow requests. The default, mod_authz_internal, will allow users on the *parent* host only, breaking use by some components. Remaining question is whether to deprecate the `http_file_share_access` setting or leave as a way to complement/bypass access control?
* | core.storagemanager: Remove 0.10 era sql2 driver COMPATKim Alvefur2023-09-041-18/+2
| | | | | | | | | | | | | | | | Unlikely that anyone has had sql2 in their configs for a long time, so this serves little purpose. Leaving the indirection function in case some similar compat code is needed in the future.
* | Merge 0.12->trunkKim Alvefur2023-08-301-1/+1
|\|
| * util.prosodyctl.check: Correct modern replacement for 'disallow_s2s'0.12.4Kim Alvefur2023-08-271-1/+1
| | | | | | | | | | The code would have suggested adding to modules_enabled instead of modules_disabled
* | tools: Reflect bash-ness of mod2spec in shebangKim Alvefur2023-08-261-1/+1
| | | | | | | | Non-portable substitution syntax? Oh well.
* | mod_s2s: Fix reporting of DANE mismatchKim Alvefur2023-08-051-1/+3
| | | | | | | | | | | | Thought it was a case mismatch at first, fixed that, but it changed nothing because the error was in the leaf part of the errors, not the chain part.
* | core.portmanager: Join strings broken into multiple linesKim Alvefur2023-07-291-6/+3
| | | | | | | | | | | | | | Improves readability. Reduces line count. What's not to like? The code style and luacheck rules allows longer lines, and these strings aren't long enough to need breaking into multiple lines like this.
* | core.portmanager: Hint at HTTP servers for conflicts over port 443Kim Alvefur2023-07-291-1/+1
| | | | | | | | | | | | Since 443 is just as much a web port as port 80 these days, if not more. What's with port 81 here?
* | net.websocket.frames: Remove completed TODOKim Alvefur2023-07-291-1/+0
| | | | | | | | The XOR is done in C since 4e5a2af9dd19
* | mod_http: Generate URL from configuration in prosodyctlKim Alvefur2023-07-261-0/+31
| | | | | | | | | | | | This removes the need to configure e.g. http_external_url or similar settings in order to get correct URLs out of prosodyctl, as the API depends on portmanager to know the actual ports that are used.
* | Merge 0.12->trunkKim Alvefur2023-07-250-0/+0
|\|
| * util.array: Fix new() library functionKim Alvefur2023-07-222-1/+10
| | | | | | | | Backport of ffe4adbd2af9 since new was added in the 0.12 branch