Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | util.indexedbheap: Add failing test case for #1572 | Kim Alvefur | 2020-07-08 | 1 | -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 clean | Kim Alvefur | 2020-07-08 | 1 | -1/+0 |
| | |||||
* | net.cqueues: Switch to server.watchfd for main loop integration | Kim Alvefur | 2020-07-08 | 1 | -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->trunk | Matthew Wild | 2020-07-07 | 1 | -2/+3 |
|\ | |||||
| * | net.http: Fix traceback on invalid URL passed to request() | Matthew Wild | 2020-07-07 | 1 | -2/+3 |
| | | |||||
* | | mod_storage_sql: Measure hits/misses on the item count cache | Kim Alvefur | 2020-07-02 | 1 | -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 protections | Kim Alvefur | 2020-06-30 | 1 | -0/+6 |
| | | | | | | | | | | Might improve (CPU) performance at the risk of triggering top level errors. | ||||
* | | net.server_epoll: Allow setting a custom error handler for listener | Kim Alvefur | 2020-06-30 | 1 | -1/+2 |
| | | | | | | | | This lets plugins handle errors in some custom way, should they wish to. | ||||
* | | net.server_epoll: ... and include a traceback | Kim Alvefur | 2020-06-30 | 1 | -1/+1 |
| | | |||||
* | | net.server_epoll: Report errors in timers | Kim Alvefur | 2020-06-30 | 1 | -0/+2 |
| | | |||||
* | | mod_admin_shell: Handle server_epoll using monotonic time internally | Kim Alvefur | 2020-06-30 | 1 | -2/+9 |
| | | |||||
* | | net.server_epoll: Expose way to turn monotonic time into wall clock time | Kim Alvefur | 2020-06-30 | 1 | -0/+3 |
| | | |||||
* | | mod_admin_shell: Fix debug:timers to handle net.server native timers | Kim Alvefur | 2020-06-29 | 1 | -6/+16 |
| | | |||||
* | | net.server_epoll: Optimize away table allocation for timer objects | Kim Alvefur | 2020-06-29 | 1 | -15/+21 |
| | | |||||
* | | net.server_epoll: Remove unused time field from timer objects | Kim Alvefur | 2020-06-29 | 1 | -6/+3 |
| | | | | | | | | Unused since the move to util.indexedbheap in c8c3f2eba898 | ||||
* | | net.server_epoll: Signal API-compatibilty with util.timer | Kim Alvefur | 2020-06-29 | 1 | -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.timer | Kim Alvefur | 2020-06-29 | 1 | -3/+3 |
| | | |||||
* | | util.timer: Defer to selected net.server if it implements this API | Kim Alvefur | 2020-06-29 | 1 | -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 Wild | 2020-06-29 | 2 | -2/+22 |
| | | | | | | | | frontmost chunk | ||||
* | | doap: Expand on XEPs implemented by mod_time | Kim Alvefur | 2020-06-28 | 1 | -0/+5 |
| | | |||||
* | | util.human.io: Add brief test of table generation | Kim Alvefur | 2020-06-28 | 1 | -0/+29 |
| | | |||||
* | | util.dbuffer: Don't use # operator in tests, Lua 5.1 doesn't support __len | Matthew Wild | 2020-06-28 | 1 | -1/+1 |
| | | |||||
* | | net.dns: Disable jitter for default resolver (used by blocking dns.lookup() ↵ | Matthew Wild | 2020-06-28 | 1 | -0/+1 |
| | | | | | | | | | | | | calls) This fixes 'prosodyctl check dns' being slow. | ||||
* | | util.dependencies: Quiet luacheck | Kim Alvefur | 2020-06-28 | 1 | -2/+2 |
| | | |||||
* | | util.dependencies: Tone down lua-unbound dependency for now | Kim Alvefur | 2020-06-27 | 2 | -1/+4 |
| | | | | | | | | | | | | At least until packages are available Wording from MattJ | ||||
* | | util.dbuffer: dynamic string buffer | Matthew Wild | 2020-06-26 | 3 | -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 registry | Kim Alvefur | 2020-06-25 | 1 | -17/+23 |
| | | |||||
* | | util.prosodyctl.check: Use net.unbound for DNS if available | Kim Alvefur | 2020-06-25 | 1 | -0/+3 |
| | | | | | | | | Improves performance somewhat by avoiding the rate limiting in net.dns | ||||
* | | net.resolvers: Remove FIXMEs obsoleted by switch to libunbound | Kim Alvefur | 2020-06-25 | 2 | -5/+0 |
| | | |||||
* | | CHANGES: Add libunbound | Kim Alvefur | 2020-06-25 | 1 | -0/+1 |
| | | |||||
* | | net.unbound: Remove compat for missing promises (pre-0.11) | Kim Alvefur | 2020-06-25 | 1 | -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 APIs | Kim Alvefur | 2020-06-25 | 1 | -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 Alvefur | 2020-06-25 | 1 | -0/+2 |
| | | |||||
* | | util.dependencies: Prefer net.unbound over net.adns | Kim Alvefur | 2020-06-25 | 1 | -0/+5 |
| | | |||||
* | | prosodyctl about: Report versions of luaunbound and libunbound | Kim Alvefur | 2020-06-25 | 1 | -0/+7 |
| | | |||||
* | | util.dependencies: Add awareness of luaunbound | Kim Alvefur | 2020-06-25 | 1 | -0/+8 |
| | | |||||
* | | net.unbound: Async DNS resolver library based on libunbound via luaunbound | Kim Alvefur | 2019-03-09 | 1 | -0/+245 |
| | | |||||
* | | util.dns: Library for decoding DNS records | Kim Alvefur | 2019-03-09 | 1 | -0/+271 |
| | | | | | | | | Imported from luaunbound-prosody 5f7c771138b1 | ||||
* | | util.ringbuffer: Fix accidentally committed test change (thanks buildbot) | Matthew Wild | 2020-06-25 | 1 | -1/+1 |
| | | |||||
* | | net.dns: Reduce default timeout to 5s | Matthew Wild | 2020-06-25 | 1 | -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 delays | Matthew Wild | 2020-06-25 | 1 | -1/+1 |
| | | | | | | | | Not entirely happy with the overall logic here. | ||||
* | | net.dns: Add jitter to spread queries and reduce failures due to congestion | Matthew Wild | 2020-06-25 | 1 | -2/+20 |
| | | |||||
* | | net.dns: Fix timeout retry logic | Matthew Wild | 2020-06-25 | 1 | -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 logging | Matthew Wild | 2020-06-25 | 1 | -0/+4 |
| | | |||||
* | | util.ringbuffer: Add some additional asserts to tests | Matthew Wild | 2020-06-24 | 1 | -4/+4 |
| | | |||||
* | | util.ringbuffer: Ensure unsigned chars are always returned from :byte() | Matthew Wild | 2020-06-24 | 2 | -3/+10 |
| | | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-06-23 | 1 | -1/+2 |
|\| | |||||
| * | net.http.server: Fix reporting of missing Host header | Kim Alvefur | 2020-06-23 | 1 | -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 Alvefur | 2020-06-23 | 1 | -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 Wild | 2020-06-23 | 1 | -0/+11 |
| | |