aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
* | mod_tokenauth: Fix revoking a single token without revoking whole grantKim Alvefur2023-07-231-4/+18
| | | | | | | | | | | | This appears to have been a copy-paste of the grant revocation function, or maybe the other way around. Either way, it deleted the whole grant instead of the individual token as might be expected.
* | util.array: Fix new() library functionKim Alvefur2023-07-222-1/+10
| |
* | tests: Add hack to test only a single storage driverKim Alvefur2023-07-221-0/+5
| | | | | | | | | | Fixes that LuaDBI being unavailable makes these produce nothing but endless stack overflows in luarocks.
* | tests: Update storagemanager tests for prosody.* namespace changeKim Alvefur2023-07-221-8/+6
| | | | | | | | | | Part of an attempt to make these tests work again. Previously they would just explode in a million luarocks stack overflows
* | mod_storage_sql: Spell out missing dependenciesKim Alvefur2023-07-221-3/+16
| | | | | | | | | | Using util.dependencies appeared to cause problems with running tests in Busted, so this also removes that and uses pcall directly.
* | mod_storage_sql: Pass variables as arguments instead of upvaluesKim Alvefur2023-07-221-10/+5
| | | | | | | | | | Probably a workaround for the lack of argument passing when using xpcall in Lua 5.1, no longer relevant.
* | util.sql: Remove unused String() and Integer() functionsKim Alvefur2023-07-221-4/+0
| | | | | | | | According to MattJ, leftovers from an earlier vision for util.sql
* | util.sqlite3: Clean up unused variablesKim Alvefur2023-07-221-42/+6
| | | | | | | | | | Many leftovers from the earlier version of util.sql this was based on and cleanup applied there since then.
* | util.datamanager: Always reset index after list shiftKim Alvefur2023-07-221-39/+4
| | | | | | | | | | | | Shifting the index does not work reliably yet, better to rebuild it from scratch. Since there is minimal parsing involved in that, it should be more efficient anyway.
* | core.moduleapi: Parse period min/max argumentsKim Alvefur2023-07-221-0/+6
| | | | | | | | | | Allows specifying them the same way as the default and in the config, for consistency
* | util.datamanager: Add way to close indexed list storeKim Alvefur2023-07-211-1/+9
| |
* | util.datamanager: Close file handle when done using itKim Alvefur2023-07-211-0/+1
| | | | | | | | | | It gets closed eventually but at high load they could potentially lead to reaching FD limits faster.
* | util.datamanager: Disable blockwise removalKim Alvefur2023-07-211-1/+4
| | | | | | | | In desperate need of tests
* | mod_muc: Use enum config API for 'restrict_room_creation'Kim Alvefur2023-07-211-1/+1
| | | | | | | | | | | | This communicates the accepted values in case the config diverges from them. Note that older documentation used an "admin" value behaving like an alias to true, but this is no longer handled. Should it?
* | plugins: Use get_option_array for some list shaped optionsKim Alvefur2023-07-212-2/+2
| | | | | | | | | | Passing something from module:get_option() to ipairs() suggests that the option is a list of some sort.
* | util.datamanager: Disable block alignmentKim Alvefur2023-07-211-0/+2
| | | | | | | | | | Until we have more test coverage. Somehow the index becomes incorrect after inserting padding, unclear why.
* | plugins: Handle how get_option_period returns "never"Kim Alvefur2023-07-213-4/+4
| |
* | plugins: Use boolean config method in some placesKim Alvefur2023-07-183-9/+7
| | | | | | | | Because it makes sense and improves feedback via logging
* | mod_storage_internal: Use integer option method for cache sizeKim Alvefur2023-07-181-1/+1
| | | | | | | | Missed this one in previous sweep
* | mod_muc_mam: Use period option methodKim Alvefur2023-07-181-13/+3
| |
* | mod_muc: Use enum option method for 'muc_room_default_presence_broadcast'Kim Alvefur2023-07-181-1/+2
| |
* | mod_storage_xep0227: Use enum option methodKim Alvefur2023-07-181-1/+1
| |
* | mod_auth_ldap: Use enum option methodKim Alvefur2023-07-181-2/+2
| |
* | mod_storage_sql: Use integer config option for cache sizeKim Alvefur2023-07-181-1/+1
| | | | | | | | Missed this one, was probably only looking for get_option_number
* | mod_storage_sql: Use config enum for 'sqlite_tune'Kim Alvefur2023-07-181-1/+1
| |
* | mod_storage_sql: Allow higher precision timestamps in SQLite3Kim Alvefur2023-07-171-1/+5
| | | | | | | | Since it doesn't actually do strict typing :)
* | Merge 0.12->trunkKim Alvefur2023-07-171-0/+5
|\|
| * util.prosodyctl.check: Hint about the 'external_addresses' config optionKim Alvefur2023-07-171-0/+5
| |
* | Merge 0.12->trunkKim Alvefur2023-07-171-41/+82
|\|
| * util.prosodyctl.check: Validate format of module list optionsKim Alvefur2023-07-171-0/+28
| | | | | | | | Should detect things like misplaced settings inside modules_enabled
| * util.prosodyctl.check: Get some config options via minimal moduleapi #896Kim Alvefur2023-07-171-41/+54
| | | | | | | | | | | | The module API has certain coercion features that are useful. Fixes traceback reported in #1812 and other duplicates