Commit graph

13803 commits

Author SHA1 Message Date
Matthew Wild
7bf3a56ec6 Merge 13.0->trunk 2025-02-24 17:49:55 +00:00
Matthew Wild
faf20e5dc9 certmanager: Add more debug logging around cert indexing
Currently it's not obvious which directories have been indexed (especially
when the resulting index is empty), or why certain files have been skipped.
2025-02-24 17:48:58 +00:00
Kim Alvefur
70ee43995c Merge 13.0->trunk 2025-02-22 21:49:59 +01:00
Kim Alvefur
e52cc0126d mod_component: Don't return error reply for errors, fixes #1897 2025-02-22 21:48:07 +01:00
Kim Alvefur
68296b6a8e mod_bosh,mod_websocket: Don't load mod_http_altconnect in global context
It blocked loading on VirtualHosts since it was already loaded globally

Thanks eTaurus
2025-02-22 21:45:34 +01:00
Matthew Wild
4537e07daa Merge 13.0->trunk 2025-02-22 09:41:29 +00:00
Matthew Wild
783c8fcc81 prosodyctl: check features: stop searching after finding a matching component 2025-02-22 09:35:04 +00:00
Kim Alvefur
263b7e1e16 Merge 13.0->trunk 2025-02-22 00:26:35 +01:00
Kim Alvefur
6b1e056142 core.configmanager: Pass name and line number in context
Delays the string interpolation until the warning is logged, which may
slightly lower memory usage.

Allows retrieving the filename and line number easily.
2025-02-22 00:04:51 +01:00
Kim Alvefur
5e41daac79 core.configmanager: Fix reporting delayed warnings from global section
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.
2025-02-22 00:08:18 +01:00
Kim Alvefur
9eedb15c6f core.configmanager: Remove dependency on 'prosody' global for Credential
Minimizing dependencies on global state is nice, as it makes using
configmanager outside of Prosody easier.
2025-02-22 00:00:41 +01:00
Matthew Wild
bde377c10a Merge 13.0->trunk 2025-02-17 23:06:26 +00:00
Matthew Wild
13dc010593 mod_invites: Hide --group flag unless mod_invites_groups is enabled
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.
2025-02-17 23:06:06 +00:00
Matthew Wild
edc68f5407 mod_invites: Fix traceback when no flags passed 2025-02-17 22:57:58 +00:00
Matthew Wild
7b6ff43ec4 Merge 13.0->trunk 2025-02-17 19:22:54 +00:00
Matthew Wild
764c388d38 mod_invites: Deprecate 'mod_invites generate' in favour of new shell commands 2025-02-17 19:12:40 +00:00
Matthew Wild
6855f5c8c3 mod_admin_shell: Improve help listing in non-REPL mode 2025-02-17 19:10:48 +00:00
Matthew Wild
75b8824b00 mod_admin_shell: Fix simple command execution (e.g. help) 2025-02-17 19:10:26 +00:00
Matthew Wild
efc31d66ef mod_admin_shell: Set flag on session when in REPL mode 2025-02-17 19:09:11 +00:00
Matthew Wild
c8cf32b614 mod_admin_shell: Improved error handling for shell-invoked commands 2025-02-17 18:25:52 +00:00
Matthew Wild
43be6cb1c6 util.argparse: Add strict mode + tests 2025-02-17 18:24:23 +00:00
Matthew Wild
79381510cf mod_admin_shell, util.prosodyctl.shell: Process command-line args on 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.
2025-02-17 17:02:35 +00:00
Matthew Wild
edafb195e1 util.argparse: Optionally continue processing past positional parameters 2025-02-17 16:38:48 +00:00
Kim Alvefur
12790afdf0 Merge 13.0->trunk 2025-02-17 12:37:58 +01:00
Matthew Wild
fb80b33824 Merge 13.0->trunk 2025-02-17 11:36:26 +00:00
Matthew Wild
2c0af0666b prosodyctl: check features: Fix traceback for components with no recommended modules (thanks Menel, riau) 2025-02-17 11:35:03 +00:00
Kim Alvefur
5cdef4e2cc Merge 13.0->trunk 2025-02-17 01:01:54 +01:00
Kim Alvefur
f21ea48481 mod_invites: Fix storing --group (thanks lissine)
This made it ignore `--group` completely, but if you incorrectly used
`--group foo` it would store `groups=true`.

Introduced in 9ba11ef91ce4
2025-02-17 00:55:27 +01:00
Matthew Wild
2c39c676ce Merge 13.0->trunk 2025-02-16 14:29:02 +00:00
Matthew Wild
3ba87d07a9 util.prosodyctl.check: Recognise http_upload_external as a file upload service 2025-02-16 14:19:16 +00:00
Matthew Wild
f7f794c5c6 util.prosodyctl.check: Fix typo in informational message 2025-02-16 14:17:11 +00:00
Matthew Wild
14c171ab61 Merge 13.0->trunk 2025-02-16 13:44:23 +00:00
Matthew Wild
573e9f2716 mod_bosh, mod_websocket: Add soft dependency on mod_http_altconnect 2025-02-16 13:32:59 +00:00
Matthew Wild
1bb0fa47bc moduleapi: Allow soft dependencies via module:depends(mod, true) 2025-02-16 13:29:07 +00:00
Matthew Wild
83e4560a6c mod_http_altconnect: Imported from prosody-modules 6d5a19bdd718 w/changes
Changes from community version:

  - Add options to allow explicit control over whether BOSH/WS is advertised
  - Always serve XML at /host-meta (no guessing based on Accept), least surprising
2025-02-16 13:19:05 +00:00
Matthew Wild
8edde6a299 prosodyctl: check features: check for mod_muc_mam on MUC components 2025-02-16 13:17:00 +00:00
Kim Alvefur
5c2dbef89d Merge 13.0->trunk 2025-02-16 11:57:18 +01:00
Kim Alvefur
037c70246d util.sql: Don't send SQLCipher key to Postgres or MySQL (thanks gllmhyt)
This was copied from util.sqlite3 which only deals with SQLite3, but
here Postgres or MySQL are also possibilities, which wouldn't support
this.
2025-02-16 11:52:07 +01:00
Matthew Wild
1b8170a1d2 Merge 13.0->trunk 2025-02-15 17:13:23 +00:00
Matthew Wild
9bae17a0bb mod_http_file_share: Persist total storage usage when it increases (fixes #1891) 2025-02-15 17:10:30 +00:00
Matthew Wild
8a12586fc7 Merge 13.0->trunk 2025-02-15 16:48:45 +00:00
Matthew Wild
bdc573f17b CHANGES: add 'prosodyctl check features' 2025-02-15 16:48:27 +00:00
Matthew Wild
c7554fdba8 prosodyctl: check: Fix variable name (thanks luacheck) 2025-02-15 16:48:11 +00:00
Matthew Wild
645c9dfca8 Merge 13.0->trunk 2025-02-15 16:40:26 +00:00
Matthew Wild
500d0df0a4 prosodyctl: check: Skip DNS checks for known invalid domains (fixes traceback) 2025-02-15 16:38:50 +00:00
Matthew Wild
f585db3acf prosodyctl: check features: Check for recommended feature availability
Inspired by mod_compliance_*, this command will help people (especially those
with older configs, upgrading from previous releases) learn what features
their Prosody configuration may be missing.
2025-02-15 16:34:16 +00:00
Matthew Wild
fb733fb549 util.prosodyctl.check: Sort hosts in iterator for more stable output 2025-02-15 16:31:10 +00:00
Matthew Wild
35e48b2bac prosodyctl: check: Fix indentation in warning message 2025-02-15 16:29:32 +00:00
Kim Alvefur
7b02dd0ed1 Merge 13.0->trunk 2025-02-15 16:57:31 +01:00
Matthew Wild
6218150e93 Merge 13.0->trunk 2025-02-15 10:34:26 +00:00