aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge 13.0->trunkHEADorigin/mastermasterMatthew Wild2 days3-20/+45
|\
| * prosodyctl shell: More reliable detection of REPL/interactive mode (fixes #1895)origin/13.013.0Matthew Wild2 days2-7/+5
| |
| * mod_admin_shell: Remove outdated help text (fixes #1898)Matthew Wild2 days1-7/+2
| | | | | | | | | | | | | | | | The ! commands have been broken for some time, and we're not going to implement them right now. If we want fancier editing, we can now do that on the client side (with readline and stuff). Also removes mention of telnet!
| * prosodyctl check features: Report size limit for HTTP uploadMatthew Wild2 days1-3/+21
| | | | | | | | This also adds a generic "meta" mechanism where checks can return annotations.
| * prosodyctl check features: Add descriptions to featuresMatthew Wild2 days1-3/+17
| | | | | | | | | | Also shuffles mod_pep check to multi-device sync, as I think that's a better fit.
* | Merge 13.0->trunkMatthew Wild4 days7-18/+56
|\|
| * mod_websocket: Merge session close handling changes from mod_c2s (bug fixes)Matthew Wild4 days1-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should bring some fixes and general robustness that mod_websocket had missed out on. The duplicated code here is not at all ideal. To prevent this happening again, we should figure out how to have the common logic in a single place, while still being able to do the websocket-specific parts that we need. The main known bug that this fixes is that it's possible for a session to get into a non-destroyable state. For example, if we try to session:close() a hibernating session, then session.conn is nil and the function will simply return without doing anything. In the mod_c2s code we already handle this, and just destroy the session. But if a hibernating websocket session is never resumed or becomes non-resumable, it will become immortal! By merging the fix from mod_c2s, the session should now be correctly destroyed.
| * mod_c2s: Code formatting changeMatthew Wild4 days1-2/+6
| | | | | | | | | | | | Although we do sometimes use single-line if blocks, I'm expanding this one to make it easier to compare with the duplicated (but modified) code in mod_websocket that we plan to de-duplicate one day.
| * CHANGES: Add list of new modulesMatthew Wild4 days1-0/+9
| |
| * util.argparse: Fix bug (regression?) in argument parsing with --foo=barMatthew Wild4 days2-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After recent changes, '--foo bar' was working, but '--foo=bar' was not. The test had a typo (?) (bar != baz) and because util.argparse is not strict by default, the typo was not caught. The typo caused the code to take a different path, and bypassed the buggy handling of --foo=bar options. I've preserved the existing test (typo and all!) because it's still an interesting test, and ensures no unintended behaviour changes compared to the old code. However I've added a new variant of the test, with strict mode enabled and the typo fixed. This test failed due to the bug, and this commit introduces a fix.
| * mod_storage_internal: Use UUIDv7 for message idsMatthew Wild5 days1-2/+2
| | | | | | | | | | | | This matches what we use for SQL already, so provides some consistency. Client developers prefer sortable ids.
| * usermanager: Add info logging for all usermanager account changesMatthew Wild5 days1-1/+10
| |
* | Merge 13.0->trunkMatthew Wild9 days1-3/+8
|\|
| * util.sasl: Preserve 'userdata' field between clonesMatthew Wild9 days1-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The :clean_clone() method is designed to provide a new cloned SASL handler, to be used when starting a fresh SASL negotiation on an existing connection. The userdata field is currently populated by mod_saslauth with the "read-only" information that the channel binding methods need to do their stuff. When :clean_clone() does not preserve this, it causes tracebacks in the cb profile handlers due to the property being nil. This does mean that SASL handlers should now not be reused (even when cloned) across different connections, if they ever could.
* | Merge 13.0->trunkMatthew Wild2025-03-011-0/+1
|\|
| * mod_external_services: Also use TURN REST credential algo for 'turns' ↵Matthew Wild2025-03-011-0/+1
| | | | | | | | (thanks moreroid)
* | Merge 13.0->trunkKim Alvefur2025-02-271-1/+1
|\|
| * net.server_epoll: Improve readability of DANE noiseKim Alvefur2025-02-271-1/+1
| | | | | | | | Serialized Lua is not the most readable form of TLSA records.
* | Merge 13.0->trunkMatthew Wild2025-02-241-2/+6
|\|
| * certmanager: Add more debug logging around cert indexingMatthew Wild2025-02-241-2/+6
| | | | | | | | | | Currently it's not obvious which directories have been indexed (especially when the resulting index is empty), or why certain files have been skipped.
* | Merge 13.0->trunkKim Alvefur2025-02-223-3/+9
|\|
| * mod_component: Don't return error reply for errors, fixes #1897Kim Alvefur2025-02-221-1/+3
| |
| * mod_bosh,mod_websocket: Don't load mod_http_altconnect in global contextKim Alvefur2025-02-222-2/+6
| | | | | | | | | | | | It blocked loading on VirtualHosts since it was already loaded globally Thanks eTaurus
* | Merge 13.0->trunkMatthew Wild2025-02-221-0/+1
|\|
| * prosodyctl: check features: stop searching after finding a matching componentMatthew Wild2025-02-221-0/+1
| |
* | Merge 13.0->trunkKim Alvefur2025-02-222-18/+29
|\|
| * core.configmanager: Pass name and line number in contextKim Alvefur2025-02-221-5/+4
| | | | | | | | | | | | | | Delays the string interpolation until the warning is logged, which may slightly lower memory usage. Allows retrieving the filename and line number easily.
| * core.configmanager: Fix reporting delayed warnings from global sectionKim Alvefur2025-02-221-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A Credential in the global section would be stored at delayed_warnings["*/secret"], but get("example.com","secret") would look for delayed_warnings["example.com/secret"] Storing the warnings in the config itself has the unfortunate side-effect that the config now contains util.error objects, which may be awkward if something bypasses get(). Should rawget() also do this filtering? getconfig() too? Currently this only affects prosodyctl, so maybe it won't be much of a problem.
| * core.configmanager: Remove dependency on 'prosody' global for CredentialKim Alvefur2025-02-222-4/+21
| | | | | | | | | | Minimizing dependencies on global state is nice, as it makes using configmanager outside of Prosody easier.
* | Merge 13.0->trunkMatthew Wild2025-02-171-7/+12
|\|
| * mod_invites: Hide --group flag unless mod_invites_groups is enabledMatthew Wild2025-02-171-1/+6
| | | | | | | | | | | | The WIP groups support is not complete yet, and won't work without extra modules (which are not yet a part of Prosody). For now we hide --group support unless mod_invites_groups (community module) is specified in modules_enabled.
| * mod_invites: Fix traceback when no flags passedMatthew Wild2025-02-171-6/+6
| |
* | Merge 13.0->trunkMatthew Wild2025-02-175-175/+322
|\|
| * mod_invites: Deprecate 'mod_invites generate' in favour of new shell commandsMatthew Wild2025-02-171-108/+61
| |
| * mod_admin_shell: Improve help listing in non-REPL modeMatthew Wild2025-02-171-2/+36
| |
| * mod_admin_shell: Fix simple command execution (e.g. help)Matthew Wild2025-02-171-3/+15
| |
| * mod_admin_shell: Set flag on session when in REPL modeMatthew Wild2025-02-171-0/+4
| |
| * mod_admin_shell: Improved error handling for shell-invoked commandsMatthew Wild2025-02-171-5/+25
| |
| * util.argparse: Add strict mode + testsMatthew Wild2025-02-172-9/+56
| |
| * mod_admin_shell, util.prosodyctl.shell: Process command-line args on ↵Matthew Wild2025-02-172-29/+96
| | | | | | | | | | | | | | | | | | | | | | | | server-side, with argparse support This allow a shell-command to provide a 'flags' field, which will automatically cause the parameters to be fed through argparse. The rationale is to make it easier for more complex commands to be invoked from the command line (`prosodyctl shell foo bar ...`). Until now they were limited to accepting a list of strings, and any complex argument processing was non-standard and awkward to implement.
| * util.argparse: Optionally continue processing past positional parametersMatthew Wild2025-02-171-30/+40
| |
* | Merge 13.0->trunkKim Alvefur2025-02-173-44/+9
|\|
| * util.x509: Per RFC 9525, remove obsolete Common Name checkKim Alvefur2024-02-113-44/+9
| |
* | Merge 13.0->trunkMatthew Wild2025-02-171-13/+15
|\|
| * prosodyctl: check features: Fix traceback for components with no recommended ↵Matthew Wild2025-02-171-13/+15
| | | | | | | | modules (thanks Menel, riau)
* | Merge 13.0->trunkKim Alvefur2025-02-171-1/+1
|\|
| * mod_invites: Fix storing --group (thanks lissine)Kim Alvefur2025-02-171-1/+1
| | | | | | | | | | | | | | This made it ignore `--group` completely, but if you incorrectly used `--group foo` it would store `groups=true`. Introduced in 9ba11ef91ce4
* | Merge 13.0->trunkMatthew Wild2025-02-161-2/+2
|\|
| * util.prosodyctl.check: Recognise http_upload_external as a file upload serviceMatthew Wild2025-02-161-1/+1
| |
| * util.prosodyctl.check: Fix typo in informational messageMatthew Wild2025-02-161-1/+1
| |