Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | MUC: Actually set the new affiliation data if it was previously empty | Matthew Wild | 2021-11-16 | 1 | -0/+1 |
| | |||||
* | mod_csi_simple: Only act in inactive mode to prevent infinite recursion | Kim Alvefur | 2021-11-16 | 1 | -0/+4 |
| | | | | | Definitely should not be firing an event that triggers like csi-flushing from which it may make sense to send things, which leads right back here | ||||
* | mod_csi_simple: Unlock writes after event, to allow things to be queued | Kim Alvefur | 2021-11-16 | 1 | -1/+1 |
| | | | | | | E.g. mod_smacks could queue an <r>, which would be more likely to be included in the same write and TCP segment as the previously buffered data, reducing syscalls and network packets needing to be sent. | ||||
* | MUC: Include old affiliation data in affiliation change event | Matthew Wild | 2021-11-16 | 1 | -0/+1 |
| | |||||
* | MUC: Add room:set_affiliation_data() | Matthew Wild | 2021-11-16 | 1 | -0/+22 |
| | |||||
* | MUC: Set .previous_affiliation = "none" if nil, for consistency with ↵ | Matthew Wild | 2021-11-16 | 1 | -1/+1 |
| | | | | | | .affiliation It appears nothing currently uses this field in prosody or prosody-modules | ||||
* | MUC: Fix incorrect variable name (thanks luacheck) | Matthew Wild | 2021-11-16 | 1 | -1/+1 |
| | |||||
* | MUC: Switch to event.allowed signaling to block event, matching muc-pre-set-role | Matthew Wild | 2021-11-16 | 1 | -1/+3 |
| | | | | ...and fixing the logic bug that broke everything in the previous commit. | ||||
* | MUC: Add 'muc-pre-set-affiliation' event, allowing to block change or modify ↵ | Matthew Wild | 2021-11-16 | 1 | -10/+20 |
| | | | | data | ||||
* | MUC: Add option to include form in registration query | Matthew Wild | 2021-11-15 | 1 | -3/+11 |
| | | | | | | | | | | | | | | | | | | | This was originally not done based on my interpretation of XEP-0045. Today's reading, however, revealed that it actually says the result > SHOULD contain **at least** a <username/> element (emphasis mine) I take this to mean that including a form **is** allowed (and I think this is sensible). Tigase already includes the form I believe. I've gated the new behaviour behind a (default off) option, because it hasn't been tested for compatibility with clients. My primary desire for it is in Snikket, where the clients will be tested to ensure compatibility with this. I don't anticipate that (m)any clients would break, so maybe after 0.12 we can experiment with enabling it by default and eventually remove the option. | ||||
* | mod_admin_shell: Handle absence of connection in security column (thanks ↵ | Kim Alvefur | 2021-11-15 | 1 | -1/+1 |
| | | | | | | arcseconds) I surmise this can happen in a disconnected/smacks hibernation state. | ||||
* | mod_pubsub: Fix traceback in disco of non-existent node (thanks Martin) | Kim Alvefur | 2021-11-13 | 1 | -2/+6 |
| | | | | | | | In this case `ret` is a table not containing the node, which makes pubsub_error_reply() try to get an error template with that `ret` table as index, which returns a `nil` then passed to table.unpack, which in turn throws the error. | ||||
* | net.connect: Prefer last connection error over last resolver error | Kim Alvefur | 2021-11-13 | 1 | -1/+1 |
| | | | | | E.g. "connection refused" over one IP version instead of NoError for the other IP version. | ||||
* | util.prosodyctl.shell: Bring back banner set from config! | Kim Alvefur | 2021-11-12 | 1 | -0/+2 |
| | | | | I miss my custom ANSI-colored greeting! | ||||
* | net.connect: Propagate last error message from resolvers | Kim Alvefur | 2021-11-12 | 3 | -5/+28 |
| | | | | | | | | Previously it would only say "unable to resolve server" for all DNS problems. While "NoError in A lookup" might not make much sense to users, it should help in debugging more than the previous generic error. Friendlier errors will be future work. | ||||
* | s2smanager: Fire s2s-destroyed event to mirror s2s-created | Matthew Wild | 2021-11-12 | 1 | -0/+1 |
| | | | | | | | | | | | | The existing events do not fire for unauthed sessions, for example (because the type does not match). I deemed changing their behaviour too risky, and the current behaviour may even be more desirable for some uses. This means we now have roughly paired events: - s2s-created -> s2s-destroyed (global only) - s2sin-established -> s2sin-destroyed (global + host) - s2sout-established -> s2sout-destroyed (global + host) | ||||
* | mod_c2s: Disconnect user sessions on a role change event | Matthew Wild | 2021-11-12 | 1 | -18/+16 |
| | | | | | The overlapping logic for deletion and password changed has been merged into a single function. | ||||
* | usermanager: Fire user-roles-changed event when updating roles of a local user | Matthew Wild | 2021-11-12 | 1 | -1/+7 |
| | |||||
* | util.human.io: Use UTF-8-aware length check in padding functions | Kim Alvefur | 2021-11-12 | 1 | -2/+2 |
| | |||||
* | util.human.io: Fix cutting of UTF-8 into pieces | Kim Alvefur | 2021-11-12 | 2 | -7/+40 |
| | | | | Down the rabbit hole we go... | ||||
* | util.human.io: Trim any broken UTF-8 from ellipsis | Kim Alvefur | 2021-11-12 | 1 | -1/+5 |
| | | | | | | | This should fix basic problems with multi-byte UTF-8 sequences getting cut in the middle. Down the rabbit hole we go... | ||||
* | util.human.io: Factor out ellipsis function | Kim Alvefur | 2021-11-12 | 1 | -1/+6 |
| | | | | Could be useful elsewhere | ||||
* | util.human.io: Support specifying column defaults in tables | Kim Alvefur | 2021-11-12 | 1 | -1/+1 |
| | |||||
* | util.human.io: Pass nil to cell mapper to signal missing value | Kim Alvefur | 2021-11-12 | 2 | -16/+22 |
| | | | | | Seems more like conventional Lua than passing an empty string to signal lack of value. | ||||
* | mod_admin_shell: Respect metatables in output serialization | Kim Alvefur | 2021-11-12 | 1 | -1/+7 |
| | | | | | Makes it so that returning e.g. util.cache :table() produces useful output, which otherwise would look like empty tables. | ||||
* | util.prosodyctl.shell: Allow setting custom prompt (admin_shell_prompt) | Matthew Wild | 2021-11-11 | 1 | -4/+6 |
| | |||||
* | mod_admin_shell: Specify a width for cert column | Kim Alvefur | 2021-11-10 | 1 | -0/+1 |
| | | | | Avoids ellipsis | ||||
* | mod_admin_shell: Indicate bi-directional s2s connections | Kim Alvefur | 2021-11-10 | 1 | -1/+2 |
| | |||||
* | mod_admin_shell: Allow passing columns as a string for convenience | Kim Alvefur | 2021-11-10 | 1 | -0/+1 |
| | |||||
* | mod_admin_shell: Optionally group session listings by host when not included ↵ | Kim Alvefur | 2021-11-10 | 1 | -3/+33 |
| | | | | | | as column Similar to the earlier view | ||||
* | mod_admin_shell: New table based implementation of c2s and s2s:show() | Kim Alvefur | 2021-11-10 | 1 | -198/+245 |
| | | | | | | Nicer and more readable. Thanks jonas’ and prosody@ for JID length stats to inform column widths. | ||||
* | prosodyctl: Fix weird indentation | Kim Alvefur | 2021-11-06 | 1 | -2/+2 |
| | |||||
* | doap: Bump XEP-0313 version for going Stable | Kim Alvefur | 2021-11-03 | 1 | -1/+1 |
| | |||||
* | mod_pubsub: Return proper errors for disco queries on nodes | Kim Alvefur | 2021-11-01 | 1 | -2/+4 |
| | | | | | Previously this would return item-not-found, even when you could see the node in disco#items. | ||||
* | util.dataforms: Encode size attributes as integers in XEP-0221 media element | Kim Alvefur | 2021-10-28 | 1 | -1/+1 |
| | | | | Otherwise very large fields would be serialized in e notation | ||||
* | util.dataforms: Ensure larger integers are serialized as such | Kim Alvefur | 2021-10-28 | 2 | -1/+9 |
| | | | | | | | Assumes that most number fields are integers, as most numeric types listed in XEP-0122 are, as are all such fields in Prosody as of this. Otherwise %g produces something like 1.1259e+15 | ||||
* | util.dataforms: Scope integer handling tests | Kim Alvefur | 2021-10-26 | 1 | -26/+29 |
| | | | | | So they're separate from the datetime tests, and any future validation tests | ||||
* | util.dataforms: Turn number values into timestamps for datetime fields | Kim Alvefur | 2021-10-26 | 2 | -2/+4 |
| | | | | Makes it symmetric with parsing. | ||||
* | util.dataforms: Coerce number values for boolean fields | Kim Alvefur | 2021-10-26 | 2 | -2/+15 |
| | | | | | Makes more sense than coercing to a string, which would always be truthy. | ||||
* | mod_muc_mam: Use util.dataforms timestamp validation | Kim Alvefur | 2021-10-26 | 1 | -14/+5 |
| | |||||
* | mod_mam: Use util.dataforms timestamp validation | Kim Alvefur | 2021-10-26 | 1 | -14/+5 |
| | |||||
* | util.dataforms: Add support for datetime field types via XEP-0122 | Kim Alvefur | 2021-10-25 | 2 | -0/+22 |
| | |||||
* | mod_http_file_share: Move number coercion into util.dataforms | Kim Alvefur | 2021-10-25 | 1 | -2/+2 |
| | |||||
* | mod_admin_adhoc: Move number coercion into util.dataforms | Kim Alvefur | 2021-10-25 | 1 | -8/+8 |
| | | | | | Internal use of XEP-0122 to shift the responsibility for converting numbers to strings. | ||||
* | ejabberd2prosody.lua: fix MUC subject conversion with appropriate destructuring | arcseconds | 2021-10-26 | 1 | -1/+2 |
| | |||||
* | util.startup: Understand -h, -? as --help in prosodyctl but ignore | Kim Alvefur | 2021-10-25 | 1 | -1/+1 |
| | | | | | prosodyctl -h showing an error was not very helpful, especially since prosodyctl shows its help for any unknown (or none) command. | ||||
* | util.startup: Show brief usage on `prosody -h|-?|--help` | Kim Alvefur | 2021-10-25 | 1 | -1/+8 |
| | | | | | Seems more suitable than asking if prosodyctl was meant to be used, or going ahead and starting. | ||||
* | mod_c2s,etc: Identify stanza object with appropriate function | Kim Alvefur | 2021-10-24 | 4 | -9/+9 |
| | | | | | Better than duck typing, in case anyone ever passes a non-stanza table with a 'name' field. | ||||
* | mod_s2s: Fix logging of <stream:error> consistency with other mods | Kim Alvefur | 2021-10-24 | 1 | -1/+1 |
| | | | | | | | `reason` was often a table, so the log said "table: 0xptr" or such. mod_c2s, mod_bosh etc logs the stream error stanza object, so better do the same. It would be nicer if this was an util.error object, but that will have to be a future change. | ||||
* | util.startup: Skip config readability check in migrator (thanks eTaurus) | Kim Alvefur | 2021-10-23 | 1 | -1/+1 |
| | | | | | | This field is empty for reasons when invoked by prosody-migrator, which threw an error: > bad argument #1 to 'open' (string expected, got nil) |