aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net.server_epoll: Signal API-compatibilty with util.timerKim Alvefur2020-06-291-0/+6
| | | | | Reduces the overhead of having both util.timer and the timer handling here, since they are very similar and now API-compatible.
* net.server_epoll: Make API-compatible with util.timerKim Alvefur2020-06-291-3/+3
|
* util.timer: Defer to selected net.server if it implements this APIKim Alvefur2020-06-291-0/+5
| | | | | E.g. net.server_epoll is very close and could easily be adapted to support this.
* util.dbuffer: If no bytes parameter passed to read, return remainder of ↵Matthew Wild2020-06-292-2/+22
| | | | frontmost chunk
* doap: Expand on XEPs implemented by mod_timeKim Alvefur2020-06-281-0/+5
|
* util.human.io: Add brief test of table generationKim Alvefur2020-06-281-0/+29
|
* util.dbuffer: Don't use # operator in tests, Lua 5.1 doesn't support __lenMatthew Wild2020-06-281-1/+1
|
* net.dns: Disable jitter for default resolver (used by blocking dns.lookup() ↵Matthew Wild2020-06-281-0/+1
| | | | | | calls) This fixes 'prosodyctl check dns' being slow.
* util.dependencies: Quiet luacheckKim Alvefur2020-06-281-2/+2
|
* util.dependencies: Tone down lua-unbound dependency for nowKim Alvefur2020-06-272-1/+4
| | | | | | At least until packages are available Wording from MattJ
* util.dbuffer: dynamic string bufferMatthew Wild2020-06-263-0/+273
| | | | | | | | | | | | | | Similar to util.ringbuffer (and shares almost identical API). Differences: - size limit is optional and dynamic - does not allocate a fixed buffer of max_size bytes - focus on simply storing references to existing string objects where possible, avoiding unnecessary allocations - references are still stored in a ring buffer to enable use as a fast FIFO Optional second parameter to new() provides the number of ring buffer segments. On Lua 5.2 on my laptop, a segment is ~19 bytes. If the ring buffer fills up, the next write will compact all strings into a single item.
* util.dns: Update RR types from IANA registryKim Alvefur2020-06-251-17/+23
|
* util.prosodyctl.check: Use net.unbound for DNS if availableKim Alvefur2020-06-251-0/+3
| | | | Improves performance somewhat by avoiding the rate limiting in net.dns
* net.resolvers: Remove FIXMEs obsoleted by switch to libunboundKim Alvefur2020-06-252-5/+0
|
* CHANGES: Add libunboundKim Alvefur2020-06-251-0/+1
|
* net.unbound: Remove compat for missing promises (pre-0.11)Kim Alvefur2020-06-251-15/+12
| | | | | Code existed in a separate project before merged into Prosody, so util.promise was not always around.
* net.unbound: Strip support for legacy net.server APIsKim Alvefur2020-06-251-37/+3
| | | | | These are not needed since the watchfd API is provided by all net.server backends.
* net.adns: Log a warning if loaded (because net.unbound wasn't)Kim Alvefur2020-06-251-0/+2
|
* util.dependencies: Prefer net.unbound over net.adnsKim Alvefur2020-06-251-0/+5
|
* prosodyctl about: Report versions of luaunbound and libunboundKim Alvefur2020-06-251-0/+7
|
* util.dependencies: Add awareness of luaunboundKim Alvefur2020-06-251-0/+8
|
* net.unbound: Async DNS resolver library based on libunbound via luaunboundKim Alvefur2019-03-091-0/+245
|
* util.dns: Library for decoding DNS recordsKim Alvefur2019-03-091-0/+271
| | | | Imported from luaunbound-prosody 5f7c771138b1
* util.ringbuffer: Fix accidentally committed test change (thanks buildbot)Matthew Wild2020-06-251-1/+1
|
* net.dns: Reduce default timeout to 5sMatthew Wild2020-06-251-1/+1
| | | | | Most healthy queries will return well within this time, and the new retry logic should help spread the cost of additional retries.
* net.dns: Increase backoff delaysMatthew Wild2020-06-251-1/+1
| | | | Not entirely happy with the overall logic here.
* net.dns: Add jitter to spread queries and reduce failures due to congestionMatthew Wild2020-06-251-2/+20
|
* net.dns: Fix timeout retry logicMatthew Wild2020-06-251-16/+21
| | | | | | | On timeout the query would be resent twice - once within servfail(), and again inside the timeout callback. This commit moves all retry logic to servfail().
* net.dns: Add some debug loggingMatthew Wild2020-06-251-0/+4
|
* util.ringbuffer: Add some additional asserts to testsMatthew Wild2020-06-241-4/+4
|
* util.ringbuffer: Ensure unsigned chars are always returned from :byte()Matthew Wild2020-06-242-3/+10
|
* Merge 0.11->trunkKim Alvefur2020-06-231-1/+2
|\
| * net.http.server: Fix reporting of missing Host headerKim Alvefur2020-06-231-1/+2
| | | | | | | | | | The "Missing or invalid 'Host' header" case was dead code previously because `host` was always at least an empty string.
| * net.http.server: Strip port from Host header in IPv6 friendly way (fix #1302)Kim Alvefur2020-06-231-1/+1
| | | | | | | | | | E.g. given `[::1]:5280` it would previously result in only `[` instead of the correct `[::1]`
* | util.ringbuffer: Add test for :discard()Matthew Wild2020-06-231-0/+11
| |
* | Merge 0.11->trunkKim Alvefur2020-06-231-1/+0
|\|
| * util.startup: Remove duplicated initialization of logging (fix #1527)Kim Alvefur2020-06-221-1/+0
| |
* | mod_register_ibr: Add event for successful password resetMatthew Wild2020-06-221-0/+1
| | | | | | | | | | | | | | | | This is in addition to the existing event for password changes. This one includes additional details about the actor, and only triggers when the change is due to the account owner (presumably) resetting. As example use case is to invalidate one-time password reset tokens.
* | net.connect: Remove TODO about use_ipv4/6 done in 3bfb20be844cKim Alvefur2020-06-222-2/+0
| |
* | Merge 0.11->trunkKim Alvefur2020-06-211-3/+0
|\|
| * mod_muc_mam: Don't strip MUC <x> tags, fix #1567Kim Alvefur2020-06-211-3/+0
| |
* | scansion tests: Enable mod_muc_mam during tests (expect breakage)Kim Alvefur2020-06-211-0/+4
| |
* | MUC: Remove XEP-0091 Legacy Delayed Delivery from testKim Alvefur2020-06-211-1/+0
| | | | | | | | | | | | | | Long time Obsolete XEP. The element is apparently not included when mod_muc_mam is enabled, and deleting this seems like the sanity-preserving approach.
* | util.adminstream: Prevent closure on read timeoutKim Alvefur2020-06-181-1/+1
| |
* | mod_register_ibr: Allow registration to reset an existing account password ↵Matthew Wild2020-06-181-6/+19
| | | | | | | | if permitted by a plugin
* | util.prosodyctl.shell: Collect extra return valuesKim Alvefur2020-06-171-1/+1
| | | | | | | | Forgot in previous commit
* | util.prosodyctl.shell: Handle argument parsing errorsKim Alvefur2020-06-171-0/+9
| | | | | | | | | | | | While almost identical to the handling in util.startup, this seems more appropriate. It would also simplify if shell-specific options need to be handled in the future.
* | util.argparse: Move exiting and error to util.startupKim Alvefur2020-06-172-6/+13
| | | | | | | | | | | | | | | | It's not so nice to have a library that exits the entire application from under you, so this and the error reporting belongs in util.startup. The argparse code was originally in util.startup but moved out in 1196f1e8d178 but the error handling should have stayed.
* | util.gc: Linter fixes [luacheck]Matthew Wild2020-06-151-2/+1
| |
* | util.startup: Configure the GC on startup, using the config or built-in defaultsMatthew Wild2020-06-151-0/+17
| |