aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util.error: Extract error originator from stanza errorsKim Alvefur2020-09-262-2/+8
|
* util.stanza: Extract Application-Specific Condition from errorsKim Alvefur2020-09-262-6/+21
| | | | API change
* spec.stanza spec: Split up util.error related testsKim Alvefur2020-09-261-0/+8
|
* util.stanza: Support Application-Specific Conditions in util.errorKim Alvefur2020-09-262-1/+18
|
* util.stanza: Get 'by' from context insteadKim Alvefur2020-09-262-2/+2
| | | | | | | Zash> <error by=?> should go where? extra.by? context? source? Zash> In Prosody this would usually be module.host or a bare user/room JID MattJ> Zash: context MattJ> context.by, basically the opposite of context.actor
* util.stanza: Support inclusion of <gone> URI from util.error objectKim Alvefur2020-09-262-2/+13
|
* util.stanza: Support getting 'by' from util.error objectKim Alvefur2020-09-262-1/+5
|
* util.stanza: Reorder code to prepare for extracting 'by' from util.errorKim Alvefur2020-09-261-3/+3
|
* 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.