aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mod_csi_simple: Don't consider presence errors as importantKim Alvefur2020-05-051-4/+5
| | | | | | | | | | A large share of `<presence type=error>` appears to be noise from large public channels and failed presence probes. The later at least should count as presence updates, which are currently considered unimportant. See also 8cecb85e4bc4 which is partly reverted here. The intent there was probably mostly about message (delivery) errors, which should be considered important.
* MAM: Remove 1% of contents when reaching limits, fix #1545Kim Alvefur2020-05-052-2/+5
| | | | | | With mod\_storage\_internal this counts out to 100 messages out of 10 000, meaning should not hit the quota limit immediately until that many messages have been added again.
* util.pposix,signal: Pass around various OS numbers as integers [Lua 5.3]Kim Alvefur2020-05-042-28/+34
| | | | | | | Passing around PIDs, UIDs etc as integers makes it more sane in Lua 5.3. Getting 1234.0 as PID is silly. Shouldn't change any behavior as these are all integers on the C side and the integral floats are accepted as integers when passed back from Lua into C.
* mod_admin_telnet: Use tostring as fallback in pretty printingKim Alvefur2020-05-021-0/+4
| | | | | This has some nice effects such as functions, VirtualHosts and other things being printed using their `__tostring` metamethod.
* mod_admin_telnet: Don't pretty-print the normal console stuffKim Alvefur2020-05-021-7/+3
| | | | | | | | Typing e.g. `c2s` would dump out a bunch of stuff that would probably just confuse users. Now you only get pretty-printing when poking around in the internals with `>`.
* mod_admin_telnet: Reuse existing pretty printing setupKim Alvefur2020-05-021-1/+3
| | | | | Didn't do the configurable defaults thing here because I was going to do this, so that there's only one spot where it's done.
* mod_admin_telnet: Allow configuring pretty printing defaultsKim Alvefur2020-05-021-0/+9
| | | | | | Mostly just to have the defaults merged so you can e.g. output:configure({maxdepth=1})
* MUC: Enforce strict resourceprep when registering room nicknamesKim Alvefur2020-05-021-1/+1
| | | | | | | If nickname enforcement is enabled this would otherwise let you bypass the join check in muc.lib by registering an invalid nickname and then joining with any nickname, letting register.lib change it to the invalid registered nick.
* mod_storage_sql: Log database connection parameters when creating engineKim Alvefur2020-05-021-2/+3
| | | | | | This is meant to help trace down an issue where Prosody apparently creates multiple conflicting SQL engines, causing problems especially with SQLite3, e.g. #616 #784.
* mod_admin_telnet: Silence luacheckKim Alvefur2020-04-291-1/+2
|
* mod_admin_telnet: Add a command to configure pretty-printing settingsKim Alvefur2020-04-291-0/+5
| | | | Sometimes you wanna adjust the maxdepth or something.
* mod_admin_telnet: Add a TODO for someone to find in the futureKim Alvefur2020-04-291-0/+1
|
* mod_admin_telnet: Document HTTP command in internal helpKim Alvefur2020-04-291-0/+3
|
* mod_admin_telnet: Document (in the internal help) debug commandsKim Alvefur2020-04-291-0/+5
|
* mod_admin_telnet: Pretty-print values returned from commandsKim Alvefur2020-04-291-4/+13
| | | | | | | | | | | | | | | This makes it much nicer to inspect Prosody internals. Existing textual status messages from commands are not serialized to preserve existing behavior. Explicit serialization of configuration is kept in order to make it clear that returned strings are serialized strings that would look like what's actually in the config file. The default maxdepth of 2 seems ought to be an okay default, balanced between showing enough structure to continue exploring and DoS-ing your terminal. Thanks to Ge0rG for the motivation to finally do this.
* mod_carbons: Check for and strip 'private' tag before stoppingKim Alvefur2020-04-271-2/+3
| | | | This was explicit previously
* mod_carbons: Don't copy messages that should not be copiedKim Alvefur2020-04-271-0/+1
| | | | The return statements were lost in d95e083931d1
* Merge 0.11->trunkKim Alvefur2020-04-261-1/+7
|\
| * mod_tls: Log when certificates are (re)loadedKim Alvefur2020-04-261-1/+7
| | | | | | | | Meant to reduce user confusion over what's reloaded and not.
* | mod_carbons: Carbon anything that has been archived by the current userKim Alvefur2020-04-261-0/+6
| | | | | | | | | | This ensures rules in mod_mam apply to some extent. Messages worth archiving are probably worth sending to other clients.
* | mod_carbons: Carbon incoming message delivery failure reportsKim Alvefur2020-04-261-0/+4
| | | | | | | | Ensures that all your clients know about sent messages that failed.
* | mod_carbons: Fix syntax error [luacheck]Kim Alvefur2020-04-261-1/+1
| |
* | mod_carbons: Refactor in new style (mod_mam/csi)Kim Alvefur2020-04-261-15/+31
| |
* | Merge 0.11->trunkKim Alvefur2020-04-262-2/+2
|\|
| * mod_carbons: Fix handling of incoming MUC PMs #1540Kim Alvefur2020-04-261-1/+1
| | | | | | | | | | | | | | 27f5db07bec9 fixed this wrong. The code is supposed to check if the stanza is NOT sent to your bare JID. A MUC PM is always sent to your full JID. Hopefully nobody sends MUC invites to full JIDs, because those would be skipped by this as well.
| * mod_http_files: Avoid using inode in etag, fix #1498Kim Alvefur2020-04-251-1/+1
| |
* | MUC: Adapt rules for what should be stored from mod_mamKim Alvefur2020-04-261-1/+21
| | | | | | | | | | | | This is the subset of mod_mam rules I believe makes sense in MUC. Note that mod_muc_mam does not have its own rules, but uses these.
* | util.sasl.scram: Mention if clients try PLUS without channel bindingKim Alvefur2020-04-261-2/+6
| | | | | | | | This isn't normal, but is it invalid? Likely a client bug in any case.
* | mod_mam: Store only incoming errorsKim Alvefur2020-04-261-3/+4
| | | | | | | | | | Unclear if clients normally ever send error messages, but there may be locally generated bounces sent on behalf of local sessions.
* | mod_csi_simple: Explicitly mention iq stanzasKim Alvefur2020-04-261-1/+2
| | | | | | | | | | Should be more obvious that all iq stanzas are considered important. Changes behavior for invalid things in the default namespace.
* | mod_csi_simple: Clarify what might not be stanzas hereKim Alvefur2020-04-261-0/+1
| |
* | mod_csi_simple: Consider nonzas importantKim Alvefur2020-04-261-0/+4
| | | | | | | | | | This case was previously handled by fall-trough at the end of the function.
* | mod_csi_simple: Explicitly consider errors importantKim Alvefur2020-04-261-0/+3
| | | | | | | | This was already the case for presence and iq stanzas but not messages.
* | mod_register_limits: Fix text reason field name for 'throttled'Kim Alvefur2020-04-231-1/+1
| | | | | | | | Copy-paste mistake presumably
* | mod_register_ibr: Fix reporting of registration rejection reasonKim Alvefur2020-04-231-1/+1
| | | | | | | | | | When the reason is reported as an util.error object the `reason` field is empty and the reason text should be extacted from the error object.
* | mod_register_limits: Fix typo error name (fix #1539 p2) (thanks Ge0rG)Kim Alvefur2020-04-231-1/+1
| | | | | | | | Probably because autocomplete.
* | mod_register_limits: Fix order of arguments to util.error (fix #1539 p1) ↵Kim Alvefur2020-04-231-3/+3
| | | | | | | | (thanks Ge0rG)
* | util.rsm: Don't convert values to strings that should already be stringsKim Alvefur2020-04-231-4/+4
| | | | | | | | Causes util.stanza to throw an error, which helps detect mistakes
* | util.rsm: Explicitly serialize numbers in correct formatKim Alvefur2020-04-231-1/+7
| |
* | util.rsm: Test that Lua 5.3 floats are not encoded with decimal pointKim Alvefur2020-04-231-0/+7
| | | | | | | | | | | | | | | | The 'max' 'count' and 'index' fields are integers and should be encoded as such on the wire. Care needs to be taken because tostring(1.0) in Lua 5.3+ returns to "1.0" while in previous Lua versions it would return "1".
* | util.rsm: Fix passing number as attributeKim Alvefur2020-04-231-1/+6
| |
* | util.rsm: Add testsKim Alvefur2020-04-231-0/+82
| | | | | | | | Based on examples from XEP-0059
* | MUC tests: Add missing 'affiliation' attributeMatthew Wild2020-04-231-1/+1
| |
* | Merge with upstream trunkMatthew Wild2020-04-2311-22/+203
|\ \
| * | mod_mam: Remove unused variables [luacheck]Kim Alvefur2020-04-231-4/+0
| | | | | | | | | | | | Logic using full vs bare JID addressing may return in the future.
| * | mod_mam: Don't store any groupchat messagesKim Alvefur2020-04-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | The intent was to not store MUC groupchat messages, which are sent from the MUC to local full JIDs, while allowing for potential future account based group chat. However, since this function handles messages in both directions and outgoing MUC messages are sent to the bare room JID, those were stored.
| * | mod_lastactivity: Encode seconds as decimal, not floatKim Alvefur2020-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | In Lua 5.3 difftime() takes integers as argument but returns a float, and then tostring() serializes it with a decimal point. This violates XEP-0012. Like #1536
| * | mod_uptime: Encode uptime as decimal, fix #1536 (thanks Martin)Kim Alvefur2020-04-221-1/+1
| | |
| * | util.hashes: Fix output length of PBKDF2-HMAC-SHA256Kim Alvefur2020-04-222-1/+19
| | | | | | | | | | | | Somehow it got SHA1's 20 byte output instead of the proper 32 = 256/8
| * | util.hashes: Use generic name of PBKDF2-HMAC-SHA1 function in testsKim Alvefur2020-04-221-5/+5
| | |