aboutsummaryrefslogtreecommitdiffstats
path: root/util
Commit message (Collapse)AuthorAgeFilesLines
* mod_http_openmetrics: Imported from prosody-modules mod_prometheus @df2246b15075Matthew Wild2021-11-241-0/+79
| | | | | | | | | This version has several changes from the earlier mod_prometheus: - Conversion of metrics into the text-based OpenMetrics format is moved to util.openmetrics - Support for IP-based access control - Compatibility with earlier Prosody versions removed
* util.prosodyctl.check: Highlight inconsistency of AAAA records and ↵Kim Alvefur2021-11-201-0/+4
| | | | use_ipv6=false
* util.prosodyctl.check: Respect use_ipv4/v6 in proxy65 checkKim Alvefur2021-11-201-4/+4
| | | | | | | Previously it would complain about lack of an AAAA record for proxy65_target even in an IPv6-less environment. Thanks to libertas for unintentionally calling attention to this.
* util.prosodyctl.check: Take IPv6 support in LuaSocket into accountKim Alvefur2021-11-201-1/+1
| | | | Shouldn't really matter these days, but portmanager checks this way.
* util.prosodyctl.shell: Bring back banner set from config!Kim Alvefur2021-11-121-0/+2
| | | | I miss my custom ANSI-colored greeting!
* util.human.io: Use UTF-8-aware length check in padding functionsKim Alvefur2021-11-121-2/+2
|
* util.human.io: Fix cutting of UTF-8 into piecesKim Alvefur2021-11-121-7/+21
| | | | Down the rabbit hole we go...
* util.human.io: Trim any broken UTF-8 from ellipsisKim Alvefur2021-11-121-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 functionKim Alvefur2021-11-121-1/+6
| | | | Could be useful elsewhere
* util.human.io: Support specifying column defaults in tablesKim Alvefur2021-11-121-1/+1
|
* util.human.io: Pass nil to cell mapper to signal missing valueKim Alvefur2021-11-121-1/+9
| | | | | Seems more like conventional Lua than passing an empty string to signal lack of value.
* util.prosodyctl.shell: Allow setting custom prompt (admin_shell_prompt)Matthew Wild2021-11-111-4/+6
|
* util.dataforms: Encode size attributes as integers in XEP-0221 media elementKim Alvefur2021-10-281-1/+1
| | | | Otherwise very large fields would be serialized in e notation
* util.dataforms: Ensure larger integers are serialized as suchKim Alvefur2021-10-281-1/+3
| | | | | | | 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: Turn number values into timestamps for datetime fieldsKim Alvefur2021-10-261-1/+3
| | | | Makes it symmetric with parsing.
* 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.