aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util.indexedbheap: Add failing test case for #1572Kim Alvefur2020-07-081-0/+15
| | | | | This approximates what happens if you add a timer far in the future, then reschedule it to right now.
* luacheck: Remove exception for net.cqueues since it is now cleanKim Alvefur2020-07-081-1/+0
|
* net.cqueues: Switch to server.watchfd for main loop integrationKim Alvefur2020-07-081-46/+2
| | | | | | | Why? Just look at all that code deleted! watchfd is the prefered way to poll things that expose FDs for this purpose, altho it was added after net.cqueues.
* Merge 0.11->trunkMatthew Wild2020-07-071-2/+3
|\
| * net.http: Fix traceback on invalid URL passed to request()Matthew Wild2020-07-071-2/+3
| |
* | mod_storage_sql: Measure hits/misses on the item count cacheKim Alvefur2020-07-021-0/+7
| | | | | | | | | | A cache miss can be expensive so having numbers on how often this occurs may be valuable.
* | net.server_epoll: Add setting for turning off callback protectionsKim Alvefur2020-06-301-0/+6
| | | | | | | | | | Might improve (CPU) performance at the risk of triggering top level errors.
* | net.server_epoll: Allow setting a custom error handler for listenerKim Alvefur2020-06-301-1/+2
| | | | | | | | This lets plugins handle errors in some custom way, should they wish to.
* | net.server_epoll: ... and include a tracebackKim Alvefur2020-06-301-1/+1
| |
* | net.server_epoll: Report errors in timersKim Alvefur2020-06-301-0/+2
| |
* | mod_admin_shell: Handle server_epoll using monotonic time internallyKim Alvefur2020-06-301-2/+9
| |
* | net.server_epoll: Expose way to turn monotonic time into wall clock timeKim Alvefur2020-06-301-0/+3
| |
* | mod_admin_shell: Fix debug:timers to handle net.server native timersKim Alvefur2020-06-291-6/+16
| |
* | net.server_epoll: Optimize away table allocation for timer objectsKim Alvefur2020-06-291-15/+21
| |
* | net.server_epoll: Remove unused time field from timer objectsKim Alvefur2020-06-291-6/+3
| | | | | | | | Unused since the move to util.indexedbheap in c8c3f2eba898
* | 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
| |