aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mod_admin_shell: Add muc:affiliations(room) command to list membershipsKim Alvefur2023-01-292-1/+29
| | | | | Easier than going trough muc:room():each_affiliation() since you have to do fiddly things to reach the print() function.
* mod_admin_shell: Add muc:occupants(room) command to list occupantsKim Alvefur2023-01-292-1/+31
| | | | | Easier than going trough muc:room():each_occupant() since you have to do fiddly things to reach the print() function.
* Merge 0.12->trunkKim Alvefur2023-01-223-7/+7
|\
| * util.startup: Close state on exit to ensure GC finalizers are calledKim Alvefur2023-01-222-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Ensures a last round of garbage collection and that finalizers are called. Fixes things like proper closing of SQLite3 state. There are more calls to os.exit() but most of them exit with an error or in a case where a final GC sweep might not matter as much. It would be nice if this was the default. Calling util.statup.exit() everywhere may be sensible, but would be more involved, requiring imports everywhere.
| * util.prosodyctl.shell: Close state on exit to fix saving shell historyKim Alvefur2023-01-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures a last round of garbage collection and finalizers, which should include flushing the readline history file. Test procedure: ``` $ ./prosodyctl shell prosody> s2s:show() -- any command that is not the last in history ... output prosody> bye $ ./prosodyctl shell prosody> ^P ``` After this, the shell prompt should contain the last command from before the "bye". Before this patch, recent history is gone most of the time.
* | mod_muc_mam: Use higher precision timestampsKim Alvefur2023-01-211-1/+1
| | | | | | | | See also 781772c8b6d9
* | Merge 0.12->trunkKim Alvefur2023-01-212-8/+25
|\|
| * mod_muc_mam: Copy "include total" behavior from mod_mamKim Alvefur2023-01-211-1/+5
| | | | | | | | | | Not sure why this was missing from MUC MAM, it already had some of the code for dealing with it.
| * mod_muc_mam: Add mam#extended form fields #1796 (Thanks Rain)Kim Alvefur2023-01-211-0/+10
| | | | | | | | Oversight in cabb022f31c0
| * mod_mam,mod_muc_mam: Minimize differences (reorder, copy some comments)Kim Alvefur2023-01-212-8/+11
| | | | | | | | | | Should have no functional difference, but makes it easier keeping mod_mam and mod_muc_mam in sync.
* | util.dnsregistry: Remove unintentional 'Unassigned' recordKim Alvefur2023-01-201-2/+1
| |
* | tools/dnsregistry: Fix to ignore unassigned entriesKim Alvefur2023-01-201-1/+1
| |
* | MUC: Add note about non-existant room methodKim Alvefur2023-01-201-1/+1
| |
* | util.struct: Fix typo in commentKim Alvefur2023-01-201-1/+1
| |
* | mod_admin_socket: Fix typo in commentsKim Alvefur2023-01-202-2/+2
| | | | | | | | Introduced in 6966026262f4
* | Merge 0.12->trunkKim Alvefur2023-01-191-0/+1
|\|
| * mod_smacks: Log something when hibernation startsKim Alvefur2023-01-191-0/+1
| | | | | | | | | | Will hopefully save future confusion about sessions being destroyed when they are in fact not.
* | luacheck: Remove long gone mod_storage_sql1 from excludesKim Alvefur2023-01-191-2/+0
| | | | | | | | No point not checking a file that doesn't exist
* | util.sqlite3: Skip prepared statements when no parameters are givenKim Alvefur2022-08-011-0/+10
| | | | | | | | | | Seems CREATE INDEX is unhappy as a prepared statement. Perhaps because the table has not been COMMIT-ed yet?
* | util.sqlite3: Create util.error registry from headersKim Alvefur2021-10-011-35/+44
| | | | | | | | The 'type' fields are a first guess.
* | mod_storage_sql: Support SQLite3 without LuaDBIKim Alvefur2023-01-192-1/+9
| |
* | util.sqlite3: SQLite3-only variant of util.sql using LuaSQLite3Kim Alvefur2022-08-011-0/+390
| | | | | | | | http://lua.sqlite.org/
* | util.hashes: Silence compiler warning about char pointer signednessKim Alvefur2023-01-171-1/+1
| | | | | | | | Introduced in dbe9781fd278
* | Merge 0.12->trunkKim Alvefur2023-01-141-4/+8
|\|
| * prosodyctl check dns: Check for Direct TLS SRV records even if not ↵Kim Alvefur2023-01-141-4/+8
| | | | | | | | | | | | | | configured (fix #1793) Existing such records may cause timeouts or errors in clients and servers trying to connect, despite prosodyctl check saying all is well
* | spec: Suppress some harmless luacheck warnings in testsMatthew Wild2023-01-132-0/+3
| |
* | util.paseto: Add support for v3.local tokensMatthew Wild2023-01-132-18/+289
| |
* | util.paseto: Fix omitted parameterMatthew Wild2023-01-131-1/+1
| |
* | util.paseto: Stricter base64 decoding, as per specMatthew Wild2023-01-131-0/+11
| |
* | util.crypto: Add support for AES-256-CTRMatthew Wild2023-01-132-21/+61
| | | | | | | | This is required by PASETO v3.local
* | util.hashes: Add HKDF-HMAC-SHA256/HKDF-HMAC-SHA384Matthew Wild2023-01-132-0/+97
| | | | | | | | These are needed for PASETO v3.local.
* | Merge 0.12->trunkKim Alvefur2023-01-101-2/+2
|\|
| * mod_invites: Prefer landing page over xmpp URI in shell commandKim Alvefur2023-01-101-2/+2
| | | | | | | | To mirror behavior of prosodyctl invocation
* | net.http.server: Close file handle earlierKim Alvefur2023-01-081-1/+1
| | | | | | | | | | Frees unneeded resources earlier, so they're not held on to while potentially sending the chunk trailer.
* | Merge 0.12->trunkKim Alvefur2023-01-081-1/+1
|\|
| * net.http.server: Fix #1789Kim Alvefur2023-01-081-1/+1
| | | | | | | | | | | | | | | | | | Unregistering the response before sending the trailer of the chunked transfer encoding prevents opportunistic writes from being invoked and running this code again when, which may cause an error when closing the file handle a second time. Normally the file size is known, so no chuck headers are sent.
* | Merge 0.12->trunkKim Alvefur2023-01-061-14/+12
|\|
| * mod_storage_sql: Fix #1639Kim Alvefur2023-01-011-14/+12
| | | | | | | | Patch by Peter Kieser
* | net.server_epoll: Remove delay on last main loop iteration when quittingKim Alvefur2023-01-061-7/+8
| | | | | | | | | | | | | | Main difference is that timers are not checked unconditionally before each poll, only when running out of previous poll results (hidden by util.poll). This removes a final poll at shutdown that usually delays the 'not quitting' condition check by one second.
* | net.server_epoll: Factor out single main loop step into its own functionKim Alvefur2023-01-061-1/+26
| | | | | | | | | | This isn't actually used in Prosody, so no value in complicating the real main loop because of it
* | Merge 0.12->trunkKim Alvefur2022-12-290-0/+0
|\|
| * configure: Fix quoting of $LUA_SUFFIX (thanks shellcheck/Zash)Matthew Wild2022-12-291-1/+1
| | | | | | | | Transplanted 6b43bf85032b from trunk
* | Merge 0.12->trunkKim Alvefur2022-12-291-1/+0
|\|
| * mod_storage_sql: Don't avoid initialization under prosodyctl (fix #1787)Kim Alvefur2022-12-291-1/+0
| | | | | | | | | | | | | | | | | | Fixes `prosodyctl adduser` etc. Prior to d580e6a57cbb the line did nothing. Sometimes storage in the prosodyctl context does cause weirdness, as it is not in a host context, but rather a variant of global.
* | configure: Fix quoting of $LUA_SUFFIX (thanks shellcheck/Zash)Matthew Wild2022-12-291-1/+1
| |
* | sessionmanager: Fire event before retiring old sessionMatthew Wild2022-12-291-3/+4
| | | | | | | | | | This allows for modules to update fields, which is generally better than maintaining this hard-coded list of transferable properties here.
* | sessionmanager: Pluck sasl_handler from old session when resuming (fixes #1785)Matthew Wild2022-12-291-0/+1
| |
* | doap: Fix RDF syntax (thanks Link Mauve)Kim Alvefur2022-12-281-2/+4
| |
* | util.datamapper: Simplify test schemaKim Alvefur2022-12-201-12/+12
| | | | | | | | | | Don't need the function, more compact to just reference the same reference table.
* | util.openmetrics: Update tools.ietf.org URL to datatrackerKim Alvefur2022-12-191-1/+1
| | | | | | | | See bd9e006a7a74 for more context