aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | | | | | | | | | | | | | | | coding_style: Replace mention of git with hgKim Alvefur2020-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use Mercurial, not git!
| | * | | | | | | | | | | | | | | | | | | net.cqueues: Fix resuming after timeoutsKim Alvefur2020-07-081-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net.cqueues previously relied on timers instead of fd events sometimes. Under net.server_select, it would have called cq:loop() on every iteration of the main loop, which was probably not optimal.
| | * | | | | | | | | | | | | | | | | | | 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
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | | | | | 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
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | | | | | | util.ringbuffer: Add test for :discard()Matthew Wild2020-06-231-0/+11
| | | | | | | | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | | | | | | | Merge 0.11->trunkKim Alvefur2020-06-231-1/+0
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \