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
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | | | | | 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
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | | | | | | | | | | | | 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
| | | | | | | | | | | | | | | | | | | | | | | |