aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util.error: Add well-known field 'extra'Kim Alvefur2020-09-262-0/+10
| | | | | A place for various extra fields and edge cases of the stanza error data model, e.g. the URI field of <gone>
* util.error: Simplify error creation flowMatthew Wild2020-09-251-1/+13
|
* util.error: Switch coerce() to use new() and change 'native' to context ↵Matthew Wild2020-09-251-5/+3
| | | | field 'wrapped_error'
* util.error: Have init() return an object to allow API extensibility via ↵Matthew Wild2020-09-251-3/+5
| | | | additional methods
* util.error: Minor tweaks to error creation code to prepare for future changesMatthew Wild2020-09-251-2/+5
|
* util.error: Simplify error creation - remove ability to set context from ↵Matthew Wild2020-09-251-1/+1
| | | | templates, and remove default context
* util.error: Add unique 'instance_id' to error objectsMatthew Wild2020-09-251-0/+2
|
* Merge 0.11->trunkMatthew Wild2020-09-190-0/+0
|\
| * util.startup: Configure the GC on startup, using the config or built-in defaultsMatthew Wild2020-06-151-0/+17
| |
| * util.gc: Linter fixes [luacheck]Matthew Wild2020-06-151-2/+1
| |
| * util.gc: New module for configuring the Lua garbage collectorMatthew Wild2020-06-151-0/+50
| |
* | util.dataforms: Add support for validating (integer) rangesKim Alvefur2019-11-212-1/+22
| |
* | doap: Add XEP-0307Kim Alvefur2020-09-161-0/+9
| | | | | | | | | | Support first added in 2919f3b985fc and later moved into its own module in 3a1c39b31497
* | Merge 0.11->trunkMatthew Wild2020-09-151-0/+3
|\|
| * net.http: Add feature discovery (currently just contains SNI)Matthew Wild2020-09-151-0/+3
| |
| * net.server: Backport client parts of SNI support from trunk (#409)Kim Alvefur2020-08-174-16/+42
| | | | | | | | | | | | | | | | | | | | Partial backports of the following commits from trunk: 6c804b6b2ca2 net.http: Pass server name along for SNI (fixes #1408) 75d2874502c3 net.server_select: SNI support (#409) 9a905888b96c net.server_event: Add SNI support (#409) adc0672b700e net.server_epoll: Add support for SNI (#409) d4390c427a66 net.server: Handle server name (SNI) as extra argument
| * Added tag 0.11.6 for changeset bacca65ce107Matthew Wild2020-09-090-0/+0
| |
* | mod_http: Silence warnings when running under prosodyctlMatthew Wild2020-09-111-2/+4
| |
* | util.interpolation: Add test for ~ when value is false (not just nil)Matthew Wild2020-09-091-3/+7
| |
* | util.interpolation: Add '~' as the opposite of '&' (render sub-block if falsy)Matthew Wild2020-09-092-1/+14
| | | | | | | | One more magic character consumed!
* | mod_posix: Daemonize laterKim Alvefur2020-09-081-3/+1
| | | | | | | | | | Daemonizing later means we can use that as a "successful startup" signal and problems can be reported via exit code.
* | util.event: Add luacheck annotation to unused parameter in testsMatthew Wild2020-09-031-1/+1
| |
* | util.helpers: when logging events, log individual handler callsMatthew Wild2020-09-031-0/+15
| |
* | util.events: Add set_debug_hook() methodMatthew Wild2020-09-032-1/+57
| | | | | | | | | | | | Hook signature: ret = debug_hook(handler, event_name, event_data)
* | MUC: Don't default room name to JID localpart (API breaking change)Kim Alvefur2020-08-292-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | Behavior with turning empty name into localpart was originally introduced in 711eb5bf94b4 This has caused some problems for clients, making it difficult to differentiate between a room actually named like the localpart from a room without a name. Breaking: The function signature of the :get_name() method changes from always returning a string to optional string.
* | util.jid: Fix special escaping of '\' per XEP-0106Kim Alvefur2020-08-281-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | From XEP-0106 §2. Requirements: > in certain circumstances, the escaping character itself ("\") might > also be escaped Later in §4.2 Address Transformation Algorithm it is stated that the backslash would only be escaped if it forms an escape sequence. Thus '\foo' is unaltered but '\20' must be escaped into '\5c20'. Thanks to lovetox and jonas’ for brining up.
* | util.jid: Add test coverage for XEP-0106: JID Escaping functionsKim Alvefur2020-08-281-0/+50
| |
* | util.error: Add a wrapper for common parametersKim Alvefur2020-08-281-0/+7
| | | | | | | | Lets you set up source and registry once per module
* | util.error: Add a 'source' parameter where origin module can be mentionedKim Alvefur2020-08-281-1/+2
| |
* | util.startup: Init util.error with defaults if none givenMatthew Wild2020-08-281-1/+1
| |
* | util.error: Add configuration for including traceback in tostring()Matthew Wild2020-08-281-2/+12
| |
* | util.error: Allow optional tracebacks to be injected on errorsMatthew Wild2020-08-282-0/+21
| | | | | | | | This allows extra debug info to be provided for development purposes.
* | net.http: http.request() promise now resolves with response (breaking change)Matthew Wild2020-08-251-1/+2
| | | | | | | | | | | | | | Promise mode is not (widely?) used, changing this now while we can, as it improves usability of the API. The request is now available as response.request, if needed.
* | net.http: use new net.http.errors lib for creating error objectMatthew Wild2020-08-251-2/+2
| |
* | mod_posix: Remove ancient undocumented user switchingKim Alvefur2020-08-241-31/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | User switching has been done by prosodyctl or init scripts for a very long time now, so this is not needed. Using this would not have worked with module reloading (e.g. to reload certificates) since ports are closed and re-bound, which would then not be allowed. Today there exists better ways to grant low ports, i.e. capabilities(7) <Zash> Why do we have this? <MattJ> Remove it
* | util.dbuffer: Simplify test caseKim Alvefur2020-08-241-3/+2
| | | | | | | | | | | | | | | | | | An earlier theory involved the bug being related to collapsing multiple items, so it exercised that too. Also correct the comment, it referred to the space in "hello world" in an earlier version before the test string was changed to "foobar", which was what was tested in a REPL
* | util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks ↵Matthew Wild2020-08-242-2/+2
| | | | | | | | | | | | Zash for test case) This also appears to fix some bugs with chunk-encoded streams in net.http.parser.
* | util.dbuffer: Add failing test case involving :sub after :discardKim Alvefur2020-08-241-0/+9
| |
* | net.server_select: Fix traceback (thanks eta)Kim Alvefur2020-08-231-1/+1
| | | | | | | | | | | | The `socket` here is unreferenced on disconnect. Calling :resume_writes after that causes an error when `addsocket()` tries to use it as a table index.
* | mod_admin_shell: Report CSI queue length from mod_csi_simpleKim Alvefur2020-08-221-1/+5
| |
* | mod_admin_shell: Report CSI state in c2s:show()Kim Alvefur2020-08-221-0/+3
| |
* | mod_external_services: Validate services added via eventsKim Alvefur2020-08-171-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | While writing developer documentation it became obvious that i was silly to have one item format for config and items API, and another format for the event API. Then there's the stanza format, but that's a common pattern. This change reduces the possible input formats to two and allows other modules the benefit of the processing and validation performed on items from the config.
* | mod_external_services: Allow specifying a credential generation callbackKim Alvefur2020-07-251-1/+1
| | | | | | | | | | This is especially targeted at services added via the items API. More involved credential generation should use the event hook.
* | mod_external_services: Prepare to allow more credential algorithmsKim Alvefur2020-07-251-13/+25
| | | | | | | | | | | | Not sure what algorithms might fit here. Separation makes some sense. This is also a preparation for having a callback. (See next commit)
* | mod_external_services: Support adding services via items APIKim Alvefur2020-07-251-2/+4
| |
* | mod_external_services: XEP-0215: External Service DiscoveryKim Alvefur2020-07-185-0/+284
| |
* | mod_component: Return extended error condition when not connectedKim Alvefur2020-04-131-1/+2
| | | | | | | | This might be something to write a XEP about.
* | mod_component: Reply with a different error when not connectedKim Alvefur2020-04-131-1/+1
| | | | | | | | | | | | | | | | | | The wait, service-unavailable is overloaded by XEP-0045 to mean that the room has reached the maximum number of users. See #1495. Bouncing errors for components is tricky since there is no way to tell that it comes from the server hosting the component, not from the other end of the component connection.
* | net.http.parser: Allow configuration of the chunk size fed to the parserMatthew Wild2020-08-211-1/+3
| |
* | net.http.parser: Switch tests so that CRLF conversion of input data is optionalMatthew Wild2020-08-211-7/+10
| |