aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* net.server_epoll: Backport timer optimization 6c2370f17027 from trunk (see ↵Kim Alvefur2019-07-081-48/+29
| | | | | | | #1388) The previous timer handling did not scale well and led to high CPU usage with many connections (each with at least an read timeout).
* scansion/blocking: Remove the right irrelevant thingKim Alvefur2019-06-201-1/+1
|
* mod_blocklist: Remove unrelated tags from test caseKim Alvefur2019-06-201-10/+2
|
* mod_blocklist: Trigger resend of presence when unblocking a contact (fixes ↵Kim Alvefur2019-06-201-0/+8
| | | | #1380)
* mod_blocklist: Update test case with correct behavior (see #1380)Kim Alvefur2019-06-201-0/+6
| | | | Expect failure
* mod_blocklist: Add test case capturing current behaviorKim Alvefur2019-06-201-0/+162
|
* mod_pep: Revert 045209b41b3a, caused a regressionKim Alvefur2019-06-101-17/+37
| | | | | | Adding in all presence based subscriptions in the broadcaster caused resend_last_item() to unintentionally send out more notifications than it should have.
* util.sql: Ignore if tables and indices already exist on creation (fixes #1064)Kim Alvefur2019-05-301-0/+6
| | | | | | Tested with SQLite3 3.16.2 and 3.27.2 and Postgres 11. MySQL does not support IF NOT EXISTS for indices so not handled here.
* mod_pep: Handle presence based subscription outside of util.pubsub (fixes #1372)Kim Alvefur2019-05-301-37/+17
| | | | | | | | | Subscriptions were updated for each incoming presence stanza from contacts. Each subscription change triggered a configuration save, which would filter out the presence based subscriptions and usually end up replacing the existing data with identical data. With many subscribed nodes this adds up to a fair bit of IO bound work that is avoided by keeping them separate.
* mod_muc_mam: Cache last date that archive owner has messages to reduce ↵Kim Alvefur2019-05-271-1/+7
| | | | writes (fixes #1368)
* mod_mam: Cache last date that archive owner has messages to reduce writes ↵Kim Alvefur2019-05-271-1/+7
| | | | (fixes #1368)
* mod_announce: Check for admin on current virtualhost instead of global ↵Kim Alvefur2019-05-271-1/+1
| | | | (fixes #1365) (thanks yc)
* util.random: Throw different error for EOL conditionKim Alvefur2019-05-211-1/+5
|
* util.random: Coerce error to string (thanks waqas)Kim Alvefur2019-05-181-1/+1
| | | | | In theory this could happen in an EOF condition, which should be impossible with a read from /dev/urandom.
* util.random: Handle unlikely read errors from /dev/urandom (see #1313)Kim Alvefur2019-05-181-1/+5
|
* mod_c2s: Associate connection with session last (fixes #1313)Kim Alvefur2019-05-181-1/+2
| | | | | This way, any fatal error in the callback will not leave a half-established session.
* mod_storage_sql: Handle SQLite DELETE with LIMIT being optional (fixes #1359)Kim Alvefur2019-05-131-6/+15
|
* mod_storage_sql: Move code out of if-else chainKim Alvefur2019-05-131-9/+8
|
* configure: Handle lua being found in /bin (workaround for #1353)Kim Alvefur2019-05-041-0/+7
|
* net.server_epoll: Restore wantread flag after pause (fixes #1354)Kim Alvefur2019-05-041-1/+1
| | | | | | | | | If a chunk of data has been received that is larger than the amount read at a time, then the connection is paused for a short time after which it tries to read some more. If, after that, there is still more data to read, it should do the same thing. However, because the "want read" flag is removed and was restored after the delayed reading, it would not schedule another delayed read.
* prosodyctl: Include version of LuaDBI in 'about'Kim Alvefur2019-05-011-0/+1
|
* util.encodings: Allow unassigned code points in ICU mode to match libidn ↵Kim Alvefur2019-04-241-1/+1
| | | | behavior (fixes #1348)
* core.portmanager: Log debug message for each kind of TLS context createdKim Alvefur2019-04-231-0/+1
|
* mod_tls: Log debug message for each kind of TLS context createdKim Alvefur2019-04-231-0/+3
| | | | | | Creating TLS contexts triggers a lot of messages from certmanager that don't really describe their purpose. This is meant to provide hints about that.
* util.hashes: Use HMAC function provided by OpenSSL (fixes #1345)Kim Alvefur2019-04-191-17/+11
|
* util.ip: Add missing netmask for 192.168/16 range (fixes #1343)Kim Alvefur2019-04-141-1/+1
|
* net.dns: Close resolv.conf handle when done (fixes #1342)Kim Alvefur2019-04-131-0/+1
|
* net.server_epoll: Skip delayed continuation read on paused connectionsKim Alvefur2019-03-281-1/+1
| | | | | | This should prevent #1333 in cases where LuaSockets buffer is "dirty", i.e. contains more data after a read, where it gets resumed with a short delay.
* net.server_epoll: Handle LuaSec wantread/wantwrite conditions before ↵Kim Alvefur2019-03-281-5/+8
| | | | | | | callbacks (fixes #1333) This prevents the :set(true) call from resuming a connection that was paused in the onincoming callback.
* mod_storage_memory: Implement :user iteration APIKim Alvefur2019-01-141-0/+8
|
* mod_muc_mam: Copy cleanup mechanism from mod_mam (fixes #672)Kim Alvefur2019-03-221-1/+78
|
* mod_mam: Perform message expiry based on building an index by date (backport ↵Kim Alvefur2019-03-221-31/+43
| | | | | | | | | | | of 39ee70fbb009 from trunk) For each day, store a set of users that have new messages. To expire messages, we collect the union of sets of users from dates that fall outside the cleanup range. The previous algoritm did not work well with many users, especially with the default settings.
* prosodyctl about: Report network backend in useMatthew Wild2019-03-141-0/+4
|
* mod_muc_mam: Add comment about the tricks done with the 'with' fieldKim Alvefur2019-03-041-0/+1
|
* mod_muc_mam: Move a comment to the line it describesKim Alvefur2019-03-041-1/+1
|
* mod_muc_mam: Strip the stanza 'to' attribute (fixes #1259)Kim Alvefur2019-03-041-0/+2
|
* util.pubsub: Validate node configuration on node creation (fixes #1328)Kim Alvefur2019-03-032-1/+51
|
* mod_storage_memory: Generate ID using standard util (fixes #1326)Kim Alvefur2019-03-021-1/+2
| | | | | The previous method relied on tostring(table) returning the pointer address, which might not be portable.
* spec: Add test case for #1322Kim Alvefur2019-02-271-0/+202
|
* mod_storage_memory: Replace query function with one based on ↵Kim Alvefur2019-02-271-31/+51
| | | | | | | storage_internal (fixes #1322) The :find method in storage_internal works and is easier to read and understand. Future changes should be simpler to apply to both modules.
* mod_pubsub: Simplify configuration for node data (see #1302)Kim Alvefur2019-02-221-1/+3
|
* mod_pep: Simplify configuration for node data (fixes #1320)Kim Alvefur2019-02-221-1/+3
|
* net.server_epoll: Rename handshake_timeout to ssl_handshake_timeout (fixes ↵Kim Alvefur2019-02-091-3/+3
| | | | | | #1319) This is to match server_event, see 430797a8fc81
* net.server_epoll: Use send_timeout for write timout like other ↵Kim Alvefur2019-02-071-2/+2
| | | | implementations (fixes #1316)
* MUC: Add error message to error bounces when not joined to roomMatthew Wild2019-02-041-3/+3
|
* mod_pubsub: Support requests for multiple items (fixes #1305)Kim Alvefur2019-01-281-3/+9
|
* util.pubsub: Add support for requesting multiple specific items (needed for ↵Kim Alvefur2019-01-282-8/+44
| | | | #1305)
* mod_vcard_legacy: Handle partial migrationKim Alvefur2019-01-261-22/+34
| | | | | Eg in case the user already published an avatar, migrate only the vcard, and vice versa.
* mod_vcard_legacy: Allow disabling vcard conversionKim Alvefur2019-01-251-0/+2
| | | | Once everyone has been migrated it might be nice to skip these checks
* mod_vcard_legacy: Don't overwrite existing PEP dataKim Alvefur2019-01-251-1/+8
|