aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | mod_component: Reply with a different error when not connectedKim Alvefur2020-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wait, service-unavailable is overloaded by XEP-0045 to mean that the room has reached the maximum number of users. See #1495. Bouncing errors for components is tricky since there is no way to tell that it comes from the server hosting the component, not from the other end of the component connection.
| * | | | | net.http.parser: Allow configuration of the chunk size fed to the parserMatthew Wild2020-08-211-1/+3
| | | | | |
| * | | | | net.http.parser: Switch tests so that CRLF conversion of input data is optionalMatthew Wild2020-08-211-7/+10
| | | | | |
| * | | | | net.http.parser: Fix incorrect path in testMatthew Wild2020-08-211-1/+1
| | | | | |
| * | | | | net.http.parser: Add failing test for (large?) chunk-encoded responsesMatthew Wild2020-08-212-0/+27
| | | | | |
| * | | | | net.http.parser: Fix indentationKim Alvefur2020-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Probably due to a rebase/merge with a merge tool that ignores whitespace. Happens all the time to me :(
| * | | | | util.dbuffer: Fix traceback when :collapse() is called on empty bufferMatthew Wild2020-08-202-1/+13
| | | | | |
| * | | | | util.dataforms: Add more XEP-0211 media element test coverageKim Alvefur2020-08-161-0/+28
| | | | | |
| * | | | | util.dataforms: Convert media element sizes to avoid error on Lua 5.3Kim Alvefur2020-08-162-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stanza API does not accept number values and threw an error due to the height and width attributes of the media element (XEP-0221). This part had no test coverage previously, explaining why it was not discovered until now.
| * | | | | net.http.errors: Add new module for converting net.http errors to util.error ↵Matthew Wild2020-08-131-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | objects
| * | | | | 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