aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* prosodyctl+util.prosodyctl.*: Start breaking up the ever-growing prosodyctlMatthew Wild2020-06-025-919/+851
|
* util.human.io: New central place for UI helpersMatthew Wild2020-06-021-0/+96
|
* util.prosodyctl.shell: Allow passing path to socket on command lineKim Alvefur2020-06-011-1/+1
| | | | E.g. `prosodyctl shell --socket /path/to/prosody.scok`
* util.prosodyctl.shell: Use same config option as module for socket pathKim Alvefur2020-06-011-1/+2
| | | | | So now if you set it to a custom value, both the client and the server should use it.
* util.prosodyctl.shell: Join socket path with current data directoryKim Alvefur2020-06-011-1/+3
| | | | | | Don't hardcode socket path as it happens to be in a source checkout. Hold on, it should use the same config option as the module!
* mod_admin_socket: Use module API meant for file pathsKim Alvefur2020-06-011-1/+1
| | | | | Makes it so that a relative path in the config becomes relative to the data directory.
* mod_vcard_legacy: Fix publishing vcard without avatarKim Alvefur2020-06-011-6/+8
|
* mod_vcard_legacy: Remove semi-broken support for multiple avatarsKim Alvefur2020-06-011-34/+28
| | | | | | | | | Nobody does this. If someone wants to they should go use the PEP method directly instead. Additionally, this got in the way of doing multiple avatars The PEP Way, since it treated each 'data' as a distinct avatar with an optional corresponding 'metadata', which is not how it works.
* mod_admin_shell: Remove old variable declaration [luacheck]Matthew Wild2020-06-011-2/+0
|
* mod_admin_socket: Use wrapserver if availableKim Alvefur2020-06-011-1/+5
| | | | | Why have a custom accept function when this is net.server's entire thing?
* net.server_epoll: Add way to start accepting clients on an arbitrary server ↵Kim Alvefur2020-06-011-4/+9
| | | | | | socket This adds an escape hatch where things like UNIX sockets can be added.
* mod_admin_shell: Remove extra newline at end of help textMatthew Wild2020-06-011-1/+0
|
* mod_admin_shell, mod_admin_telnet, util.prosodyctl.shell: Separate output ↵Matthew Wild2020-06-013-17/+25
| | | | | | from final result Fixes the client pausing for input after output from commands.
* prosodyctl, util.prosodyctl.shell: `prosodyctl shell` - a client to access ↵Matthew Wild2020-06-012-0/+129
| | | | the prosodyctl admin shell
* mod_admin_telnet: Become a front for mod_admin_shellMatthew Wild2020-06-011-1588/+35
|
* mod_admin_shell: New module that implements the console interface over an ↵Matthew Wild2020-06-011-0/+1637
| | | | admin socket
* mod_admin_socket, util.adminstream: New module to manage a local unix domain ↵Matthew Wild2020-06-012-0/+354
| | | | socket for admin functionality
* net.server_epoll: Handle missing ports from getsock/peername (as in the case ↵Matthew Wild2020-06-011-2/+2
| | | | of unix sockets)
* net.server: Switch to epoll backend by defaultMatthew Wild2020-06-011-1/+5
| | | | (if util.poll is found)
* net.server_select: Pass conn/handler to readbuffer/sendbufferMatthew Wild2020-06-011-4/+4
| | | | | | The internal implementations don't use it, but this causes onreadable and onwritable of watchfd to receive the conn as they do in other backends.
* net.server_select: Ensure onconnect is always called before onincomingMatthew Wild2020-06-011-9/+18
| | | | | | | | | This changes the code to call onconnect when the first data is sucessfully read or written, instead of simply when the socket first becomes writable. A writable socket can mean a connection error, and if the client already sent some data it may get passed to onincoming before processing writable sockets. This fixes the issue.
* mod_c2s,mod_s2s: Make stanza size limits configurableKim Alvefur2020-05-312-2/+4
|
* mod_c2s,mod_s2s: Use a distinct stream error for hitting stanza size limitKim Alvefur2020-05-312-2/+10
| | | | Since this is not a real parse error, it should not be reported as such.
* scansion: Add test for mod_server_contact_info / XEP-0157Kim Alvefur2020-05-272-1/+63
|
* net.server_epoll: Fix typo in internal method nameKim Alvefur2020-05-221-5/+5
|
* net.server_epoll: Log some noise before TLS handshake stepKim Alvefur2020-05-221-0/+1
| | | | | This would help pinpoint if a crash happens during the handshake, which has occurred a few times, e.g. like https://github.com/brunoos/luasec/issues/75
* mod_admin_telnet: Update existing sessions on reloadKim Alvefur2020-05-161-0/+14
| | | | | This removes the need to disconnect and reconnect to the telnet console for changes to take effect.
* Merge 0.11->trunkKim Alvefur2020-05-151-2/+4
|\
| * mod_storage_internal: Fix error in time limited queries on items without ↵Kim Alvefur2020-05-151-2/+4
| | | | | | | | 'when' field, fixes #1557
* | mod_storage_internal: Fix keeping old timestamp in archive map APIKim Alvefur2020-05-152-4/+15
| | | | | | | | | | This led to a missing 'when' field on changed items, which would cause a traceack.
* | mod_http: Tell luacheck to ignore the long comment linesKim Alvefur2020-05-141-0/+1
| |
* | mod_http: Add documentation to the non-obvious logic of get_ip_from_requestJonas Sch?fer2020-05-141-0/+7
| | | | | | | | Because docs are good.
* | mod_storage_memory: Add map store methods to archive storeKim Alvefur2020-05-111-0/+31
| |
* | doc/storage: Add archive store map-like APIKim Alvefur2020-05-111-0/+4
| |
* | mod_storage_internal: Implement key-value APIKim Alvefur2020-05-112-0/+55
| |
* | spec/storage: Reset build context of test stanza make comparisons easierKim Alvefur2020-05-111-1/+2
| | | | | | | | | | | | | | While building a stanza there's a .last_add field keeping track of where in the XML tree tags are being added. This field does not survive a roundtrip through preserialize / deserialize. :reset() removes this, which simplifes comparisons after such a roundtrip.
* | Merge 0.11->trunkKim Alvefur2020-05-111-1/+1
|\|
| * mod_muc_mam: Remove spoofed archive IDs before archiving, fix #1552Kim Alvefur2020-05-111-1/+1
| | | | | | | | | | | | | | | | | | The stanza-id added during archiving looks exactly like what should be stripped, so the stripping must happen before archiving. Getting priorities right is hard! Also no test coverage yet.
* | mod_csi_simple: Report whatever's not a stirng and not a stanzaKim Alvefur2020-05-101-1/+2
| | | | | | | | | | | | | | | | | | | | This is either dead code or actually a type error, but catching that should be the responsibility of the session.send function. This type check is left since everything after it assumes a stanza object. These last few commits aren't meant to change any behavior and it did mark things not stanzas as important, but those would have been mostly raw strings which are now specially handled.
* | mod_csi_simple: Report whitespace keepalivesKim Alvefur2020-05-101-2/+3
| | | | | | | | | | | | | | Single space character is sent by mod_c2s when a session has been silent for some time. This should account for the vast majority of raw strings passing through here. If this is not the case then having stats to say otherwise will be interesting.
* | mod_csi_simple: Identify raw string data in logging and statsKim Alvefur2020-05-101-1/+3
| |
* | mod_csi_simple: Collect stats on flush reasonsKim Alvefur2020-05-091-0/+11
| |
* | mod_csi_simple: Record stats of how long buffers are heldKim Alvefur2020-05-091-0/+16
| | | | | | | | Telnet command `stats:show("buffer_hold"):histogram()` looks nice!
* | mod_csi_simple: Change debug message of client-triggered flush for coherenceKim Alvefur2020-05-091-1/+1
| | | | | | | | It now matches other the other source of flush reason logging.
* | mod_csi_simple: Reset queue counter to zero when enablingKim Alvefur2020-05-091-0/+1
| | | | | | | | For symmetry.
* | mod_csi_simple: Forget queue counter when disabling optimizationsKim Alvefur2020-05-091-0/+1
| | | | | | | | Otherwise it might not start from zero when enabled again.
* | mod_csi_simple: Fix flushing when client sent somethingKim Alvefur2020-05-091-5/+0
| | | | | | | | | | | | Forgot to unset the flag afterwards, so it would only work once. The flag is not even needed, it works as intended without it.
* | mod_csi_simple: Fix treating presence errors as presence updatesKim Alvefur2020-05-091-1/+1
| | | | | | | | Autocomplete fail probably.
* | mod_csi_simple: Add comment highlighting that XEP-0353 is experimentalKim Alvefur2020-05-091-0/+1
| | | | | | | | | | | | To make it easier to find implemented Experimental XEPs later. Also at the time of this commit it has been Proposed as mentinoed in the comment but hopefully that will be resolved soon.
* | mod_csi_simple: Fix unintentional order of rules from mergeKim Alvefur2020-05-091-3/+3
| |