aboutsummaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* util.dataforms: Coerce number values for boolean fieldsKim Alvefur2021-10-261-2/+5
| | | | | Makes more sense than coercing to a string, which would always be truthy.
* util.dataforms: Add support for datetime field types via XEP-0122Kim Alvefur2021-10-251-0/+8
|
* util.startup: Understand -h, -? as --help in prosodyctl but ignoreKim Alvefur2021-10-251-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 Alvefur2021-10-251-1/+8
| | | | | Seems more suitable than asking if prosodyctl was meant to be used, or going ahead and starting.
* util.startup: Skip config readability check in migrator (thanks eTaurus)Kim Alvefur2021-10-231-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)
* mod_pubsub,mod_pep: Implement 'send_last_published_item' option #1436Kim Alvefur2021-10-191-0/+1
| | | | | | | | Default left as 'never' in mod_pubsub to preserve the previous behavior. Unclear if this is desirable, but can always be changed later. In mod_pep this allows turning off the automatic resending of most recent item.
* mod_auth_cyrus: Remove (move to community modules)Kim Alvefur2021-10-171-169/+0
| | | | mod_auth_ldap provides LDAP support without being tied to Cyrus
* util.startup: Only ask if 'prosodyctl' was meant instead of 'prosody' (fix ↵Kim Alvefur2021-10-121-1/+3
| | | | #1692)
* Merge 0.11->trunkKim Alvefur2021-10-121-1/+1
|\
| * util.startup: Correctly point out unknown short param (fixes #1691)Kim Alvefur2021-10-121-1/+1
| |
* | util.prosodyctl.check: Add two known globals from mod_httpKim Alvefur2021-10-031-0/+2
| |
* | util.startup: Allow separate command line argument settings for prosody and ↵Kim Alvefur2021-09-301-6/+11
| | | | | | | | | | | | | | prosodyctl Makes it clearer that prosody does not take -v atm, as well as how prosodyctl does not take the demonization flags.
* | prosodyctl: Add support for -v/--verbose to enable debug loggingKim Alvefur2021-09-301-2/+4
| | | | | | | | More convenient than the environment variable.
* | prosodyctl: Add alternate XMPP Blackbox Exporter connectivity checkKim Alvefur2021-09-301-3/+71
| | | | | | | | | | Reduces the reliance on observe.jabber.network and enables alternatives for those who wish to have that.
* | prosodyctl: Use HTTP client in promise mode for connectivity checkKim Alvefur2021-09-301-26/+14
| | | | | | | | | | Feels a bit cleaner to hide away the async.waiter() and return value handling. Also line count reduction!
* | mod_register_limits: Reword some optionsKim Alvefur2021-09-191-0/+4
| | | | | | | | Remember to remove the compatibility things in some future version
* | util.prosodyctl.check: Suggest replacing 'use_libevent' with 'network_backend'Kim Alvefur2021-09-141-1/+1
| | | | | | | | It's basically deprecated
* | util.prosodyctl.check: Nudge towards plural port optionsKim Alvefur2021-09-141-1/+3
| | | | | | | | The singulars are supposed to be deprecated
* | util.prosodyctl.check: Fix to not treat some options as misplacedKim Alvefur2021-09-141-0/+2
| | | | | | | | | | All 'net' providers generate a _port option which must be in the global section, but this mistakenly also warns about these options as well.
* | util.prosodyctl.check: Suggest replacements for deprecated options #1684Kim Alvefur2021-09-141-14/+28
| |
* | util.set: Add :contains_set() methodMatthew Wild2021-09-121-0/+9
| |
* | util.array: Add :slice() method + testsMatthew Wild2021-09-121-0/+34
| | | | | | | | Behaviour follows the same logic as string.sub (so yes, 1-indexed).
* | util.stanza: Add :get_child_with_attr() + testsMatthew Wild2021-09-121-0/+8
| |
* | util.prosodyctl.check: Remove stray debug print()Kim Alvefur2021-09-121-1/+0
| |
* | util.prosodyctl.check: Ignore unused "ok" variable [luacheck]Kim Alvefur2021-09-121-1/+1
| |
* | util.prosodyctl.check: Refuse to do ojn test unless prosody is runningKim Alvefur2021-09-111-0/+9
| | | | | | | | | | Other tests don't require a running prosody and I forgot to start it when testing.
* | prosodyctl: Add external connectivity check based on observe.jabber.networkJonas Schäfer2020-05-061-9/+87
| | | | | | | | | | | | | | This uses the (experimental) observe.jabber.network API to perform external connectivity checks. The idea is to complement the checks prosodyctl can already do with a (nearly) complete s2s/c2s handshake from a remote party to test the entire stack.
* | mod_c2s: Rename Direct TLS listener 'c2s_direct_tls' for clarityKim Alvefur2021-09-091-1/+1
| | | | | | | | And to follow existing naming practices better than 'legacy_ssl' did.
* | util.prosodyctl.check: Add TODO about replacements for deprecated settingsKim Alvefur2021-09-091-0/+1
| |
* | util.prosodyctl.check: Check for server-to-server Direct TLS recordsKim Alvefur2021-09-091-1/+24
| |
* | util.pubsub: Add support for limiting number of items to retrieveKim Alvefur2021-09-051-1/+6
| | | | | | | | | | Hopefully this will eventually be upgraded to RSM, which is why the argument is called 'resultspec' and is a table.
* | Fix various spelling errors (thanks codespell)Kim Alvefur2021-07-272-2/+2
| | | | | | | | | | Also special thanks to timeless, for wordlessly reminding me to check for typos.
* | util.pubsub: Signal that 'persistent-items' is unsupported when disabledKim Alvefur2021-07-221-3/+4
| | | | | | | | | | | | XEP-0060 says that this the way to indicate that 'persistent-items' is unsupported, but doesn't explicitly say if it being disabled in the node configuration also counts as unsupported.
* | util.pubsub: Fix behavior of persist_items disabledKim Alvefur2021-07-221-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | When set to 'false' there is no need for a persistence interface at all, since items are not persisted after being broadcast. Had started wondering if maybe the behavior was wrong, after reading parts of XEP-0060 that pointed in that direction. Some discussion of this can be found in logs of xmpp:xsf@muc.xmpp.org?join from around 2021-07-20 Thanks to Ralph for confirming.
* | mod_pubsub: Explicitly enable persistence by default to preserve behaviorKim Alvefur2021-07-211-1/+1
| | | | | | | | | | | | Since nodes were always persistent according to the XEP-0060 definition. Whether data is stored in memory or on disk was not what this setting was meant for.
* | util.pubsub: Handle absence of node data interfaceKim Alvefur2021-07-211-17/+32
| | | | | | | | | | | | | | | | This is in preparation for fixing the behavior of 'persist_items', which was misunderstood at some point. In mod_pep it toggles between persistent storage and in-memory storage, while the correct behavior would be to toggle whether published items are stored at all or forgotten after being broadcast.
* | util.prosodyctl.check: Normalize away trailing dot in some messages tooKim Alvefur2021-07-041-8/+13
| |
* | util.prosodyctl.check: Normalize potential to form without trailing '.'Kim Alvefur2021-07-041-0/+2
| | | | | | | | | | | | In some cases you might end up with both 'xmpp.example.com' and 'xmpp.example.com.', which are the same thing so no point in doing the same checks twice.
* | util.prosodyctl.check: Point out if A/AAAA exists despite disabled IPvXKim Alvefur2021-07-041-0/+10
| | | | | | | | | | | | Clients would try to connect and receive an error or timeout, increasing the time it takes to establish a connection. Probably not what you want. If you really want IPv6 or IPv4 disabled, best remove the A or AAAA record.
* | util.prosodyctl.check: Warn if both use_ipv4 and use_ipv6 are set to falseKim Alvefur2021-07-041-0/+6
| | | | | | | | Why would you do this?!
* | util.prosodyctl.check: Silence IP protocol mismatches when disabledKim Alvefur2021-07-041-2/+4
| | | | | | | | | | If you set 'use_ipv4 = false' then you probably don't care much for the host not resolving to the IPv4 address, and same with 'use_ipv6'.
* | Merge 0.11->trunkKim Alvefur2021-07-031-1/+1
|\|
| * util.ip: Fix netmask for link-local address rangeKim Alvefur2021-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | This may have mistakenly caused link-local addresses to be considered global. May have caused mod_s2s and prosodyctl check dns to behave incorrectly on networks using link-local IPv4 addresses. By my guesstimate, these are extremely rare. Probably minimal impact beyond a bit longer to establish s2s and some possible confusion from prosodyctl check dns results. Ref RFC 3927
* | util.format: Escape ASCII control characters also in extra argumentsKim Alvefur2021-07-031-1/+1
| |
* | util.format: Allow newlines but ensure following lines are indentedKim Alvefur2021-07-031-1/+1
| | | | | | | | | | This should a) prevent injection of text that looks like legitimate log lines and b) not mangle tracebacks.
* | util.format: Fix missing backslash in patternKim Alvefur2021-07-031-1/+1
| | | | | | | | | | Made the pattern match a longer range than intended, but with no effect since those characters are not present in the 'control_symbols' table.
* | util.prosodyctl.check: Reload unbound to ensure hosts.txt is ignoredKim Alvefur2021-07-031-1/+3
| | | | | | | | | | | | If unbound was initialized prior to this then the config change here wouldn't apply, and it will again think that 127.0.1.1 has been found in DNS.
* | util.format: Change formatting of nil values to avoid looking like XMLKim Alvefur2021-06-291-2/+2
| |
* | util.stanza: Export pretty printing functionKim Alvefur2021-06-291-1/+3
| |
* | util.stanza: Simplify and make pretty-printing look nicerKim Alvefur2020-11-071-29/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I've had this color theme in a local debug module for some time and I quite like it. The colors are from the XMPP logo. Removes extra XML serialization implementation in favor of the standard one. Also removes recursive str=str..more string building. The new two-level gsub has the accumulator in C space so shouldn't be too bad. The inner gsub calls use no callback, so should be fast and not create all that much garbage. No serious benchmarking has been done, but who cares if it looks nice?