aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* modulemanager: Shorten metadata keys to improve readability and memorabilityMatthew Wild2022-02-041-5/+5
|
* Revert util.debug change accidentally committed in e157e5c79daaMatthew Wild2022-02-041-1/+1
|
* util.pluginloader: Fix method to return any module metadata (luacheck)Matthew Wild2022-02-041-1/+1
|
* modulemanager: Add plugin load filter that reads module metadata from sourceMatthew Wild2022-02-041-0/+32
| | | | | | | | | | | | | | | | | | | | | Metadata in modules is added using lines formatted as: --% key: value Where key is a valid identifier string, and value is also a string (leading and trailing whitespace are trimmed during parsing). The initial supported keys are: --% requires_core_features: feature1, feature2, ... --% conflicts_core_features: feature1, feature2. ... These 'features' map to features reported by the new core.features module. A benefit of this load-time metadata approach compared to e.g. something like module:requires()/module:conflicts() is that we can continue to look in module search paths for a suitable module. Aborting an already-loaded module due to a version conflict would be too late.
* modulemanager, moduleapi: Switch to new pluginloader interfaceMatthew Wild2022-02-042-4/+9
|
* core.features: New module to track and expose the features supported by ProsodyMatthew Wild2022-02-041-0/+8
| | | | | A "feature" is a simple string, and it's expected that we will add to (and maybe remove from) this list over the course of time.
* util.pluginloader: Support for a per-file load filterMatthew Wild2022-02-031-6/+14
| | | | | Load filters can choose to block the loading of certain files, and optionally return some metadata about the loaded file.
* util.pluginloader: Support for multiple pluginloader instances, and optionsMatthew Wild2022-02-032-11/+29
|
* mod_pep: Clarify purpose of fallback serviceKim Alvefur2022-02-031-0/+7
| | | | | Extra-extra obvious that no interaction with this should lead to persisted changes
* mod_pep: Correct initialization of fallback serviceKim Alvefur2022-02-031-8/+6
| | | | | I'm not sure what went wrong here, copy-paste mistake? Doesn't matter as long as nobody can create nodes on this service.
* core.loggingmanager: Add FIXME about supporting console logging to stderrKim Alvefur2022-02-021-0/+1
| | | | | Currently it is hard codded to be a specialized stdout logger, which should be fixed one day.
* man/prosodyctl: Complete list of 'check' variantsKim Alvefur2022-02-022-3/+4
| | | | Especially 'connectivity' was missing
* man/prosodyctl: Clarify description of --rootKim Alvefur2022-02-022-2/+2
|
* util.startup: Teach prosodyctl to be completely --silentKim Alvefur2021-11-283-0/+9
|
* util.startup: Teach prosodyctl to be --quiet as complement to --verboseKim Alvefur2021-11-283-3/+21
| | | | | | | | Original motivation was tiresome warnings about Lua 5.4 not being supported yet. Can still be handy to tweak log level, e.g. to prevent logging to interfere with command output.
* man/prosodyctl: Normalize formatting syntaxKim Alvefur2022-02-022-115/+63
| | | | Filtered trough pandoc
* util.dns: Minor updates of SVCB parserKim Alvefur2022-02-021-1/+2
| | | | Now based on draft-ietf-dnsop-svcb-https-08
* util.dns: Implement SVCB record parserKim Alvefur2020-10-041-0/+54
| | | | Based on draft-ietf-dnsop-svcb-https-00
* util.dns: Fix returning read position after zero-length nameKim Alvefur2020-10-041-1/+1
| | | | | | Doesn't affect normal usage by Prosody since neither A nor AAAA records use this and SRV records has the host name last so the position is not needed.
* util.dnsregistry: Regenerate from IANA registryKim Alvefur2022-02-021-57/+120
| | | | | Note the duplicate 9 and 16 entries, neither of which are especially relevant for our resolver usage.
* tools.dnsregistry: For converting IANA DNS registry data to Lua tableKim Alvefur2020-10-041-0/+43
|
* util.dns: Move DNS parameters details into util.dnsregistryKim Alvefur2020-10-042-56/+63
| | | | | Goal is to regenerate this file from the IANA registry using a tool. Having it in a separate file will reduce vcs noise in util.dns
* doap: Make note of mod_mam storing XEP-0184 receiptsKim Alvefur2021-03-181-0/+8
|
* plugins: Update for namespace bump in XEP-0353 v0.4.0Kim Alvefur2022-01-114-4/+4
|
* util.prosodyctl.check: Fix reset of libunbound before DNS checksKim Alvefur2022-02-011-1/+1
| | | | | | | Probably worked anyway but settings might not always have been applied depending on what order things happens in. Error was hidden by the pcall, which was sorta intentional...
* doap: Let's say XEP-0368 support is complete nowKim Alvefur2022-01-311-1/+1
| | | | | We break the SHOULD about the merged _xmpp and _xmpps SRV handling, but we follow all the MUSTs
* util.prosodyctl.check: Fix A/AAAA check for proxy65 and httpKim Alvefur2022-01-301-2/+2
| | | | | | When there are no records to return the return value from dns.lookup() might be nil or might be a table containing zero records, depending on which DNS library is used
* util.prosodyctl.check: Include multiplexed ports in DNS checks #1704Kim Alvefur2022-01-301-0/+13
|
* mod_admin_shell: Add descriptions of each column to 'help columns'Kim Alvefur2022-01-301-5/+35
| | | | Since some of the titles are quite dense
* mod_admin_shell: Use exact match instead of Lua patterns in c2s,s2s:showKim Alvefur2022-01-301-2/+2
| | | | | | It is unexpected that 'example.com' matches 'exampleicom.org' and this use of Lua patterns is undocumented and unlikely to be widely known or used.
* mod_http_file_share: Use alternate syntax for filename in Content-DispositionKim Alvefur2022-01-291-1/+2
| | | | | | | | | | | | | | The Lua string.format %q doesn't behave correctly for all characters that should be escaped in a quoted-string. And who knows what effects higher Unicode might have here. Applying percent-encoding of filenames seems like the safest way to deal with filenames, as well as being easier than implementing the actual quoted-string transform, which seems complicated and I'm not even sure it covers every possible character. Filenames can safely be assumed to be UTF-8 since they are passed in an attribute in the query without any escaping.
* mod_admin_shell: Fix traceback on rendering graph of stats without extra labelsKim Alvefur2022-01-291-1/+1
| | | | | | Stops an error when extra_labels is nil since it attempts to index it Unsure about correctness
* mod_admin_shell: Add help section about statsKim Alvefur2022-01-291-1/+4
|
* mod_admin_shell: Add help section about customizing table columnsKim Alvefur2022-01-281-1/+17
|
* README: Reflow text to ~78 columnsKim Alvefur2022-01-281-9/+9
| | | | It's what `gwl` in my vim did. Must be optimal then.
* INSTALL: Update from site versionKim Alvefur2022-01-281-38/+44
|
* util.format: Expand explanation of purpose in commentsKim Alvefur2022-01-271-1/+6
|
* util.format: Skip control code escaping when doing full serializationKim Alvefur2022-01-272-3/+8
| | | | | | Fixes that a multi-line string ended up "like\ \9this" instead of "like\nthis" as can be demonstrated by somehow initiating a connection to a HTTP server.
* util.prosodyctl.cert: Look for certs matching 'http_host'Kim Alvefur2022-01-271-0/+4
| | | | | This should ensure any certificate needed for HTTP services will also be included in the certificate import.
* util.prosodyctl.check: Fix use of LuaSocket URL parserKim Alvefur2022-01-271-1/+1
|
* util.prosodyctl.check: Add HTTP related DNS checksKim Alvefur2022-01-271-8/+41
| | | | | Since XEP-0363 is essentially mandatory now this will hopefully help diagnose some common issues.
* util.prosodyctl.cert: Look for certificates in a consistent orderKim Alvefur2022-01-261-0/+9
| | | | | | | | | Shortest first, then alphabetically, so that it prefers the base domain over subdomains. Fixes that it might otherwise pick a random sub-domain for filename on each run, cluttering the certs directory and potentially tricking Prosody into using an older certificate that might be about to expire.
* mod_pubsub: Allow configuring summary templatesKim Alvefur2022-01-241-6/+11
| | | | | Enables generation of summaries for more than Atom without additional modules.
* mod_pubsub: Use the util.xtemplate to render Atom summaryKim Alvefur2022-01-241-9/+3
|
* util.xtemplate: Yet another string template libraryKim Alvefur2022-01-242-0/+187
| | | | | | This one takes a stanza as input Roughly based on util.interpolation
* mod_pubsub: Use the 'pubsub#type' setting to pick summary generatorKim Alvefur2022-01-241-1/+2
| | | | | | Allows using different ones even if multiple semantically different formats share the same root element xmlns, e.g. generic Atom and XEP-0277 entries.
* mod_tls: Set ALPN on outgoing connectionsKim Alvefur2022-01-251-1/+2
| | | | | | | | | Relevant and sometimes needed for Direct TLS which mod_s2s uses this context for. Primarily when e.g. mod_net_multiplex or equivalent ALPN based dispatch is used. All these contexts should likely move away from mod_tls and into either mod_s2s or portmanager. The later already duplicates some of this work.
* mod_admin_shell: Add command to show current user rolesKim Alvefur2022-01-231-0/+20
|
* mod_admin_shell: Add help section about rolesKim Alvefur2022-01-231-0/+12
| | | | | | | As in the argument to user:create() and user:roles() Tricky to come up with something sensible to write when Prosody core only knows of the 'prosody:admin' role so far.
* mod_s2s: Retrieve TLS context for outgoing Direct TLS connections from mod_tlsKim Alvefur2022-01-212-8/+17
| | | | | | | | | | So that the same TLS context is used for both Direct TLS and starttls, since they are supposed to be functionally identical apart from the few extra round trips. A new event is added because the 's2s-created' event fires much later, after a connection has already been established, where we need the TLS context before that.