aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* scansion: Use captures or wildcards instead of mocking timeKim Alvefur2023-12-175-24/+14
| | | | | > Mockery is one of the things I hold dear! And he's making a mockery of it!! -- Belkar Bitterleaf
* util.xtemplate: Test the each template functionKim Alvefur2023-12-161-0/+8
| | | | | | | | It iterates over childtags, so a template like {foo|each{...}} would be equivalent to root:childtags("foo"), while a deeper query needs the bit that becomes arguments to :childtags as an argument to each, e.g. {foo/bar|each(baz)} would behave like root:get_child("foo"):get_child("bar"):childtags("baz")
* tools: Fix selection of container engineKim Alvefur2023-12-121-1/+6
| | | | | Seems command -v in sh only checks and returns one argument, unlike bash.
* mod_storage_internal, tests: Fix before/after combined with the 'reverse' flagMatthew Wild2023-12-122-0/+25
|
* util.http: Silence strict luacheck warning in testsKim Alvefur2023-12-091-0/+1
|
* core.moduleapi: Silence strict luacheck warnings in testsKim Alvefur2023-12-091-3/+3
|
* util.throttle: Silence some strict luacheck warningsKim Alvefur2023-12-091-0/+1
|
* util.prosodyctl.shell: Fix lint [luacheck]Kim Alvefur2023-12-091-1/+0
|
* CHANGES: Mention new prosodyctl shell method behaviorKim Alvefur2023-12-091-0/+1
|
* util.prosodyctl.shell: Add :method syntax to make e.g. MUC commands easierKim Alvefur2023-12-091-2/+11
| | | | | e.g. prosodyctl shell muc room room@muc.example.com :set_name "This Room"
* util.xtemplate: Add some initial testsKim Alvefur2023-12-091-0/+35
| | | | Strict typing does not magically make code correct
* util.xtemplate: Adopt {-path-} syntax to strip preceding and/or trailing ↵Kim Alvefur2023-12-092-8/+24
| | | | | | whitespace Seen in some other template languages
* mod_http_errors: Simplify CSS via built-in dark modeKim Alvefur2023-12-061-2/+2
|
* CHANGES: Document some of the recent changes and features in trunkMatthew Wild2023-12-081-0/+8
|
* configmanager: Fix linter issuesMatthew Wild2023-12-081-2/+10
|
* configmanager: Support for appending to existing config optionsMatthew Wild2023-12-081-3/+56
| | | | ...and some other useful operations
* configmanager: Make _G accessible via `Lua` variable, deprecate direct accessMatthew Wild2023-12-081-1/+12
|
* configmanager: Allow referencing previously-set options in the config fileMatthew Wild2023-12-081-0/+14
|
* mod_user_account_management: Clear pending deletion if account re-enabledMatthew Wild2023-12-071-0/+6
|
* mod_saslauth: Fire event per SASL stepMatthew Wild2023-12-051-2/+5
| | | | | This matches the behaviour of the newer mod_sasl2 implementation. It allows plugins to observe (and potentially, with caution, modify) the SASL exchange.
* util.jsonschema: Return basic structured validation responseKim Alvefur2023-12-023-115/+218
|
* mod_c2s: Make c2s_timeout timer reachable to allow access from other modulesKim Alvefur2023-12-031-1/+3
| | | | E.g. the timeout could be extended under certain conditions.
* tools: Add a tool for comparing DOAP to the latest XEP versionsKim Alvefur2023-12-031-0/+14
| | | | Needs wget, awk, sed and xml2
* mod_s2s: Close connection on smacks timeoutKim Alvefur2023-12-022-0/+7
| | | | | | | | | | | This merges the mod_s2s_smacks_timeout behavior from prosody-modules This event is fired by mod_smacks when the connection has not responded to an ack-request for a period of time defaulting to 30 seconds, indicating that the connection has become stuck or non-responsive. Closing it prevents routing further messages via this connection and frees resources. A stuck connection may otherwise remain until for a time determined by the OS TCP subsystem, which can be quite long.
* mod_saslauth: Fire event at start of authentication attemptKim Alvefur2023-12-011-0/+6
| | | | | | As extension point for rate limiting and similar checks, so they can hook a single event instead of <{sasl1}auth> or stream features, which might not be fired in case of SASL2 or e.g. HTTP based login.
* net.http.server: Fix whitespace-ignoring syntaxKim Alvefur2023-12-011-2/+2
|
* Merge 0.12->trunkKim Alvefur2023-12-012-1/+34
|\
| * net.http.parser: Reject overlarge header section earlierKim Alvefur2023-08-232-1/+34
| | | | | | | | This case would eventually be rejected by the buffer size limit.
* | lua-format: Let simple things be one lineKim Alvefur2023-11-301-2/+2
| | | | | | | | This doesn't really handle nesting all that nicely tho.
* | lua-format: Further tweaksKim Alvefur2023-01-181-3/+3
| | | | | | | | | | Keeping things a single line makes very deeply nested things "pyramids" a single line, which makes them hard to read.
* | lua-format: Add new settingsKim Alvefur2021-07-281-0/+6
| |
* | lua-format: Tweaks attempting to fit our code styleKim Alvefur2020-07-071-12/+12
| |
* | lua-format: Check in defaultsKim Alvefur2020-07-071-0/+26
| | | | | | | | | | | | | | By starting with the built-in defaults, we get a nice history of differences from those as we figure out what settings suit us Sorted make comparisons easier.
* | mod_user_account_management: Fire events with a fake (not destroyed) sessionMatthew Wild2023-11-301-3/+24
| | | | | | | | | | | | | | Previously these events fired after the session had been destroyed, which removes many of the useful properties. The ones I chose to preserve here are the ones used by the community module mod_audit, which seems like a good baseline.
* | mod_cron: Rebuild with new LuaFormatter settings (tabs!)Kim Alvefur2023-11-301-77/+59
| |
* | util.datamanager: Fix missing pack format when reading first index entryKim Alvefur2023-11-301-1/+1
| | | | | | | | Thanks MattJ
* | mod_user_account_management: Add support for soft-deletion of accounts via IBRMatthew Wild2023-11-301-13/+137
| | | | | | | | | | | | | | | | | | | | | | | | When registration_delete_grace_period is set, accounts will be disabled for the specified grace period before they are fully deleted. During the grace period, accounts can be restored with the user:restore() shell command. The primary purpose is to prevent accidental or malicious deletion of a user's account, which is traditionally very easy for any XMPP client to do with a single stanza.
* | moduleapi: Log error message when ambiguous period spec is found in configMatthew Wild2023-11-301-1/+9
| |
* | util.human.io: Don't accept ambiguous durations by defaultMatthew Wild2023-11-302-4/+49
| | | | | | | | | | The new method parse_duration_lax() exports the old behaviour, mainly for compatibility purposes.
* | mod_cron: Update Teal source and rebuildMatthew Wild2023-11-302-77/+101
| |
* | mod_cron: Rename variable to fix shadowing (#luacheck)Matthew Wild2023-11-301-2/+2
| |
* | mod_cron: Add shell command to list registered cron tasks with statusMatthew Wild2023-11-301-0/+28
| |
* | mod_saslauth: Allow plugins to override return SASL condition/textMatthew Wild2023-11-301-1/+3
| |
* | luacheckrc, mod_http_file_share: Update for module API change (once->on_ready)Matthew Wild2023-11-302-2/+2
| |
* | modulemanager: Allow modules to expose module.ready - to be called after initMatthew Wild2023-11-301-0/+4
| | | | | | | | | | | | | | | | This is a shortcut for module:on_ready() which exposes the functionality in an idiomatic way consistent with module.load, module.unload, etc. module.ready runs when the module is loaded and the server has finished starting up.
* | moduleapi: Rename :once() to :on_ready() for clarityMatthew Wild2023-11-301-1/+7
| | | | | | | | | | | | | | 'Once' is ambiguous - once per what? on_ready() executes its parameter when the module is loaded *and* the server has finished starting.
* | usermanager, mod_auth_internal_hashed: Support metadata when disabling a userMatthew Wild2023-11-302-4/+5
| | | | | | | | | | This allows us to store a time, actor, comment and/or reason why an account was disabled, which seems a generally useful thing to support.
* | util.datamanager: Load first item into index earlierKim Alvefur2023-11-271-1/+2
| | | | | | | | Should get rid of fseek() call
* | mod_mam: Use for loop in metadata queryKim Alvefur2023-11-261-4/+2
| | | | | | | | | | | | Some storage drivers will perform cleanup after the last iteration, but if only one step is taken this might be delayed until the garbage collector gets to it.
* | mod_tokenauth: Ignore invalid grants in storage that have no idMatthew Wild2023-11-291-1/+1
| |