aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | mod_net_multiplex: Set read size/mode to that of the target listenerKim Alvefur2020-08-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise it would use the configured buffer size, or previously '*a'. Using the read size set by the listener seems more sensible.
| * | | | | mod_net_multiplex: Read no more than the max buffer size settingKim Alvefur2020-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the '*a' read mode applies, which under certain circumstances can read infinite amounts of data into memory.
| * | | | | mod_http: Add way to signal that a module supports streaming uploadsKim Alvefur2020-08-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #726 API: module:provides("http", { streaming_uploads = true; route = { PUT = function (event) event.request.body_sink = io.tmpfile(); return true; end } })
| * | | | | net.http.parser: Allow specifying sink for large request bodiesKim Alvefur2020-08-013-7/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables uses such as saving uploaded files directly to a file on disk or streaming parsing of payloads. See #726
| * | | | | net.http.parser: Switch to util.dbuffer for buffering incoming dataKim Alvefur2020-08-011-61/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is primarily a step towards saving uploads directly to files, tho this should hopefully be more efficient than collapsing the entire buffer to a single string every now and then.
| * | | | | Merge 0.11->trunkKim Alvefur2020-08-080-0/+0
| |\ \ \ \ \
| * \ \ \ \ \ Merge 0.11->trunkMatthew Wild2020-08-081-0/+12
| |\ \ \ \ \ \
| * | | | | | | net.server_epoll: Log debug message when a connection errors on readKim Alvefur2020-07-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's confusingly quiet otherwise, even with maximum verboseness. Thanks perflyst
| * | | | | | | mod_register: Add a dependency on mod_watchregistrationsEmmanuel Gil Peyrot2020-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spammers are a big hassle, hopefully this will make admins aware of them sooner than when they’ve already spammed a bunch.
| * | | | | | | mod_proxy65: Limit dump of invalid data to 300 bytes (like mod_c2s)Kim Alvefur2020-07-171-2/+2
| | | | | | | |
| * | | | | | | mod_proxy65: Log invalid greetings escaped instead of as base64Kim Alvefur2020-07-161-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it easier to see human-readable parts and thus identifying the garbage. Also consistent with mod_c2s and others.
| * | | | | | | mod_server_contact_info: Add status-addresses fieldKim Alvefur2020-05-274-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XEP-0157 version 1.1.0
| * | | | | | | configure: Pass compiler flag to enable ICU only when building util.encodingsKim Alvefur2020-07-123-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing it in CFLAGS applied to all modules, which was not needed.
| * | | | | | | Merge 0.11->trunkMatthew Wild2020-07-101-1/+2
| |\ \ \ \ \ \ \
| * | | | | | | | prosodyctl about: Show longer name for luaunboundKim Alvefur2020-07-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | luaunbound, lunbound, lua-unbound ... "kärt barn har många namn"
| * | | | | | | | prosodyctl about: Strip name from lua module _VERSIONKim Alvefur2020-07-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some modules have _VERSION = "LuaModule x.y.z", so it is a bit weird to show the name twice.
| * | | | | | | | prosodyctl about: Substitute better names for some Lua modulesKim Alvefur2020-07-101-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E.g. 'lxp' isn't that easy to guess that it's LuaExpat
| * | | | | | | | prosodyctl about: Split out libraries into a separate sectionKim Alvefur2020-07-101-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently libevent and libunbound would show up under Lua modules but they are not, so a separate section seems more appropriate.
| * | | | | | | | prosodyctl about: Use library function for sorted listing of lua modulesKim Alvefur2020-07-101-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code reuse and one less module to import is nice.
| * | | | | | | | scansion/prosody.cfg: Fix typoKim Alvefur2020-07-091-1/+1
| | | | | | | | |
| * | | | | | | | 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
| | | | | | | | | |