aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* util.pubsub: Pass subscribers trough a filter callbackKim Alvefur2019-06-061-0/+2
|
* util.pubsub: Factor out calling of broadcasterKim Alvefur2019-06-061-4/+8
| | | | This will simplify doing things along with broadcasting.
* net.resolvers.basic: Normalise IP literals, ensures net.server is happyKim Alvefur2019-11-241-0/+2
|
* net.resolvers.basic: Fix resolution of IPv6 literals (in brackets) (fixes #1459)Kim Alvefur2019-11-241-0/+3
|
* net.resolvers.basic: Move IP literal check to constructorKim Alvefur2019-11-241-11/+14
| | | | | This is to prepare for fixing #1459. An IPv6 literal in [ ] brackets does not pass IDNA and resolving it fails there.
* core.modulemanager: Disable mod_vcard if mod_vcard_legacy is enabled to ↵Kim Alvefur2019-11-231-0/+5
| | | | prevent conflict (#1469)
* prosodyctl check: Warn about conflict between mod_vcard and mod_vcard_legacy ↵Kim Alvefur2019-11-231-0/+4
| | | | (#1469)
* MUC: Keep role across nickname change (fixes #1466)Kim Alvefur2019-11-231-0/+3
|
* util.pposix: Avoid overflow of malloc info at 2GB (fixes #1445 until 4GB)Kim Alvefur2019-11-161-5/+5
|
* net.resolvers: Fix traceback from hostname failing IDNAKim Alvefur2019-11-082-0/+2
| | | | Related to #1426
* util.startup: Ensure prosody.paths are absolute (see #1430)Kim Alvefur2019-11-041-1/+7
| | | | | | | | Normally these paths are injected into the installed 'prosody' executable as absolute paths, but it is possible to override at least the config path via environment variable or command line argument. This makes sure a path relative to pwd stays relative to that instead of the data directory.
* util.startup: Update config path (fixes #1430)Kim Alvefur2019-11-031-1/+2
|
* net.resolvers: Abort on hostnames not passing IDNA validationKim Alvefur2019-11-022-0/+10
| | | | | | Prevents error on trying to use nil. Needs better error reporting in the future.
* net.resolvers: Apply IDNA conversion to ascii for DNS lookups (fixes #1426)Kim Alvefur2019-11-022-2/+4
|
* util.interpolation: Support unescaped variables with more modifiers (fixes ↵Kim Alvefur2019-10-201-3/+3
| | | | | | #1452) Tests will be added in trunk.
* MUC: Don't advertise registration feature on host JID (fixes #1451)Kim Alvefur2019-10-201-2/+0
| | | | | | | | | | | There is currently no mention in XEP-0045 of how or where to advertise support for registration. Advertising on the host JID may be confusable with service-wide registration, as implemented in ejabberd. A common and sensible pattern in XMPP is that a feature is advertised on the JID where the service is available.
* mod_mam: Add flag to session when it performs a MAM queryMatthew Wild2019-10-031-0/+2
|
* MUC: Strip tags with MUC-related namespaces from private messages (fixes #1427)Kim Alvefur2019-09-291-0/+1
| | | | Prevents duplication since it adds another <{muc#user}x> here
* mod_vcard_legacy: Don't owerwrite empty photo elements (fixes #1432)Kim Alvefur2019-09-211-3/+9
|
* mod_vcard_legacy: Advertise lack of avatar correctly (fixes #1431) (thanks ↵Kim Alvefur2019-09-211-2/+2
| | | | lovetox)
* prosodyctl: Fix traceback on incorrect proxy65_address typeMatthew Wild2019-09-111-11/+15
|
* Added tag 0.11.3 for changeset dd7e924c74efMatthew Wild2019-09-050-0/+0
|
* MUC: Fix delay@from to be room JID (fixes #1416)0.11.3Kim Alvefur2019-08-311-2/+2
|
* MUC: Advertise XEP-0410 supportKim Alvefur2019-07-301-0/+1
| | | | Unsure if the feature was in the XEP at the time of 7c1cdf5f9f83
* mod_websocket: Clone stanza before mutating (fixes #1398)Kim Alvefur2019-07-201-0/+1
| | | | | | | | | | | Checking for `stanza.attr.xmlns == nil` to determine if the stanza object is an actual stanza (`<message>`, `<presence>` or `<iq>` in the `jabber:client` or `jabbber:server` namespace) or some other stream element. Since this mutation is not reverted, it may leak to other places and cause them to mistreat stanzas as stream elements. Especially in cases like MUC where a single stanza is broadcast to many recipients.
* util.serialization: Cache default serialization instance (fixes #1389)Kim Alvefur2019-07-081-1/+6
| | | | | | Most serialization uses still use the default serialize() and thus duplicate much of the setup, which negates some of the performance improvements of the rewrite.
* 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.