aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MUC: Start on a Teal description of MUC roomsKim Alvefur2023-02-201-0/+163
| | | | Started as part of a documentation project for the MUC API
* Merge 0.12->trunkMatthew Wild2023-02-172-5/+53
|\
| * net.http.parser: Fix off-by-one error in chunk parserMatthew Wild2023-02-172-5/+53
| |
* | Merge 0.12->trunkKim Alvefur2023-02-162-1/+7
|\|
| * mod_admin_socket: Return error on unhandled input to prevent apparent freezeKim Alvefur2023-02-162-1/+7
| | | | | | | | | | | | When mod_admin_socket is loaded without mod_admin_shell, attempt to use `prosodyctl shell` will appear to freeze after any input, since no response is returned.
* | Merge 0.12->trunkMatthew Wild2023-02-161-0/+4
|\|
| * net.http.server: Add new API to get HTTP request from a connectionMatthew Wild2023-02-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | This information is sometimes necessary in the context where we have a connection that we know (or believe to be) associated with an incoming HTTP request. For example, it can be used to retrieve the IP address of a request (which may differ from the IP address of the connection, due to X-Forwarded-For and co). Thanks to the Jitsi team for highlighting this gap in the API.
* | util.poll: Include unistd.h only for epollKim Alvefur2023-02-101-1/+1
| | | | | | | | | | This defines close(), which is only used with epoll, hence we don't need to include it when building in poll or select mode.
* | Merge 0.12->trunkMatthew Wild2023-02-093-10/+15
|\|
| * net.http.parser: Improve handling of responses without content-lengthMatthew Wild2023-02-092-9/+14
| | | | | | | | | | | | This ensures that we support responses without a content-length header, and allow streaming them through the streaming handler interface. An example of such a response would be Server-Sent Events streams.
| * net.http: Add missing log parameterMatthew Wild2023-02-091-1/+1
| |
* | Merge 0.12->trunkMatthew Wild2023-02-091-4/+11
|\|
| * sessionmanager: Improve logging around session destructionMatthew Wild2023-02-091-3/+10
| |
| * core.sessionmanager: Mark session as destroyed to prevent reentryKim Alvefur2023-01-191-0/+1
| | | | | | | | | | If it reaches this point, then the session will be most definitely be destroyed, so try to prevent destroy_session() from being called again.
| * core.sessionmanager: Skip log when (not) destroying destroyed sessionsKim Alvefur2023-01-191-2/+1
| | | | | | | | | | | | | | | | | | On regular disconnects, </stream> is sent, then sessionmanager.destroy_session() is called, then sessionmanager.destroy_session() is called again when the TCP connection is closed, from ondisconnect in mod_c2s. It is a bit annoying and doesn't really tell you much.
* | util.crypto: Preemptively silence 'strict-prototypes' warningKim Alvefur2023-01-311-1/+1
| | | | | | | | | | | | | | | | With `gcc-12 -Wstrict-prototypes` the following warning is shown: crypto.c:43:13: warning: function declaration isn't a prototype [-Wstrict-prototypes] 43 | static BIO* new_memory_BIO() { | ^~~~~~~~~~~~~~
* | mod_storage_sql: Remove module status on unknown 'debug' levelKim Alvefur2023-01-311-1/+0
| | | | | | | | | | Expected this to be translated to 'core', but it logs an error instead. See previous commit.
* | core.moduleapi: Fix passing variable to loggingKim Alvefur2023-01-311-1/+1
| |
* | mod_storage_sql: Silence luacheck warningKim Alvefur2023-01-301-1/+1
| |
* | mod_storage_sql: Record connection to database as module statusKim Alvefur2023-01-303-4/+18
| | | | | | | | | | | | Allows retrieving this in e.g. a health reporting module Thanks pfak
* | mod_admin_shell: Match substring in muc:affiliations() like muc:occupants()Kim Alvefur2023-01-301-1/+1
| | | | | | | | Maybe one day we'll get consistent filtering semantics everywhere.
* | mod_admin_shell: Sort MUC users by relation and JIDKim Alvefur2023-01-291-18/+51
| | | | | | | | Suggested by MattJ, our resident UI expert :)
* | mod_admin_shell: Make Role and Affiliation columns the same width for aestheticsKim Alvefur2023-01-291-2/+2
| | | | | | | | | | The length of the title "Affiliation" made them both close enough that it looked off.
* | mod_admin_shell: Use tables to present MUC usersKim Alvefur2023-01-291-2/+18
| | | | | | | | Tables are awesome!
* | mod_admin_shell: Factor out room retrieval into common functionKim Alvefur2023-01-291-18/+18
| | | | | | | | Justification: See diffstat
* | 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