Commit graph

12286 commits

Author SHA1 Message Date
Kim Alvefur
f9660a9509 util.dependencies: Refer to 'apt' instead of 'apt-get'
The more modern and user friendly frontend, should be in every supported
version of Debian and Ubuntu by now
2022-02-13 17:27:29 +01:00
Kim Alvefur
55055315ee mod_invites_register: Load mod_register_ibr in invite only mode
This ensures that registration actually works even if allow_registration
is not enabled.
2022-02-10 21:21:03 +01:00
Kim Alvefur
acc0b64d3e mod_invites_register: Replace COMPAT hack
This hack is not needed since a9c975a0f113 so can be removed when
included with Prosody.
2022-02-10 20:44:45 +01:00
Kim Alvefur
5ed39f2a09 mod_turn_external: Add option to enable TURN over TLS
Usually on port 443 to avoid restrictive firewalls.

Thanks to Holger for discussion
2022-02-10 15:41:47 +01:00
Kim Alvefur
d92ceb3adb mod_turn_external: Simplify configuration
Much harder to get boolean options wrong than accidentally adding
something unrecognised to a Set.
2022-02-10 15:39:15 +01:00
Kim Alvefur
fd5a0f6a06 mod_admin_shell: Track connected events instead of created
The connection events are more appropriate here, where the s2s-created
events happens a bit later or earlier in a sessions lifetime depending
on its direction and for outgoing connections isn't actually the
creation time (which happens immediately after pressing enter, so not
very interesting), but rather closer to the connection time.
2022-02-06 14:34:02 +01:00
Kim Alvefur
d274fa9a7e mod_s2s: Add new early s2s-connected events
Allows doing things based on connections rather than sessions, which may
have been created before or after.
2022-02-06 14:31:27 +01:00
Kim Alvefur
3c1c2064c6 doap: Reference some JSON RFCs
RFC 4627 JSON - util.json
RFC 6901 JSON Pointer - util.jsonpointer
2022-02-05 18:07:51 +01:00
Kim Alvefur
3ea03a8835 doap: Reference RFC 6331 which deprecated SASL DIGEST-MD5 2022-02-05 18:06:59 +01:00
Kim Alvefur
1c35b0bb96 prosody.cfg.lua.dist: Link to website (thanks eta) 2021-07-17 19:44:48 +02:00
Kim Alvefur
2cf3f8b5cb prosody.cfg.lua.dist: Warn about adding settings at the end of the file
It is very often a confusing mistake that leads to support questions
2021-07-17 19:40:43 +02:00
Kim Alvefur
8648dd2191 core.modulemanager: Save module metadata for potential later use
Makes it reachable from the shell if nothing else
2022-02-05 01:33:46 +01:00
Kim Alvefur
69a9195243 util.startup: Enable DANE in http client library with use_dane 2022-02-05 01:36:10 +01:00
Kim Alvefur
4441528b1f net.http: Allow using DANE via options or per request settings
Dare to enable by default?
2022-02-05 01:32:08 +01:00
Kim Alvefur
a3a343b20e mod_smacks: Tweak resumption age buckets towards multiples of 60
This seems like the thing to do for time, which is usually divided into
divisors divisible by 60, or multiplied by multiples of 60
2022-02-04 22:11:14 +01:00
Kim Alvefur
e6f20da22f tools: Allow processing instructions in some XML parsing tools
IANA registry files have XSLT references, which are harmless to ignore.
2022-02-04 21:20:48 +01:00
Kim Alvefur
99a880ebe5 util.xml: Add an option to allow <?processing instructions?>
These should generally be safe to just ignore, which should be the
default behavior of Expat and LuaExpat
2022-02-04 20:47:39 +01:00
Kim Alvefur
eae775bc79 mod_http: Use interface name as default default global hostname
http://[::]:5280/ is as sensible as http://*:5280/ so why not

This might be a bit weird when listening no multiple interfaces but not
sure we can really do anything sensible then anyway.
2022-02-04 20:11:18 +01:00
Kim Alvefur
35e77293c0 mod_http: Use http_default_host for URLs generated in global context
This might make the global routes less confusing sometimes, or at least
valid URLs instead of http://*:5280/ which doesn't make much sense.
2022-02-04 19:58:43 +01:00
Kim Alvefur
cf575b27fe prosodyctl: Allow passing server on command line with --server
Because why not I guess. This mirrors the corresponding luarocks command
2022-02-04 19:04:32 +01:00
Kim Alvefur
3e66b4e091 prosodyctl: Allow install plugin via explicit path or URL
This way you don't need to set the server URL in the config to use this,
you could just ^C^V an install line from a web page that says

	prosodyctl install https://modules.example.com/mod_example.src.rock

Drop the help message in this case since it'll be all messed up by being
given an URL or rock filename.
2022-02-04 19:03:02 +01:00
Kim Alvefur
d57bd7a33c prosodyctl: Return success status code from --help
Only when the help is shown because of invalid arguments should a
non-zero status code be returned to indicate a problem.
2022-02-04 19:01:34 +01:00
Kim Alvefur
f75d9d7ed8 prosodyctl: Use argument parsing library to parse --help, -h, -?
Reads nicer, but adds more code. Can always be reverted later I suppose.
2022-02-04 18:56:01 +01:00
Kim Alvefur
e2f8d0b70f mod_websocket: Only enable host-agnostic HTTP routing when enabled globally
This way the host-agnostic http://*:5280/ handler is not enabled, but
BOSH can still be used with any local VirtualHost

Ref #1712
2022-02-04 17:59:42 +01:00
Kim Alvefur
89ace39a31 mod_bosh: Only enable host-agnostic HTTP routing when enabled globally
This way the host-agnostic http://*:5280/ handler is not enabled, but
BOSH can still be used with any local VirtualHost

Ref #1712
2022-02-04 17:52:13 +01:00
Kim Alvefur
c6e9692a00 util.format: Fix typo in comment [codespell] 2022-02-04 16:40:38 +01:00
Kim Alvefur
52016b89b1 mod_pep: Fix typo in comment [codespell] 2022-02-04 16:40:23 +01:00
Kim Alvefur
b44f2592ea mod_bookmarks: Fix typos in stanza error messages [codespell] 2022-02-04 16:39:35 +01:00
Kim Alvefur
0bff4f57cc mod_admin_shell: Fix typo in comment [codespell] 2022-02-04 16:39:21 +01:00
Matthew Wild
b917045785 modulemanager: Shorten metadata keys to improve readability and memorability 2022-02-04 15:42:13 +00:00
Matthew Wild
f728cb7767 Revert util.debug change accidentally committed in e157e5c79daa 2022-02-04 15:13:13 +00:00
Matthew Wild
018c618a3f util.pluginloader: Fix method to return any module metadata (luacheck) 2022-02-04 15:04:20 +00:00
Matthew Wild
61d33dd364 modulemanager: Add plugin load filter that reads module metadata from source
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.
2022-02-04 14:20:00 +00:00
Matthew Wild
4bdff5a452 modulemanager, moduleapi: Switch to new pluginloader interface 2022-02-04 14:11:46 +00:00
Matthew Wild
fdfaff07e0 core.features: New module to track and expose the features supported by Prosody
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.
2022-02-04 14:10:34 +00:00
Matthew Wild
61216794b9 util.pluginloader: Support for a per-file load filter
Load filters can choose to block the loading of certain files, and optionally
return some metadata about the loaded file.
2022-02-03 12:56:52 +00:00
Matthew Wild
e88413e22b util.pluginloader: Support for multiple pluginloader instances, and options 2022-02-03 12:53:19 +00:00
Kim Alvefur
f1b61294fc mod_pep: Clarify purpose of fallback service
Extra-extra obvious that no interaction with this should lead to
persisted changes
2022-02-03 10:02:26 +01:00
Kim Alvefur
e4344283cd mod_pep: Correct initialization of fallback service
I'm not sure what went wrong here, copy-paste mistake?
Doesn't matter as long as nobody can create nodes on this service.
2022-02-03 09:46:19 +01:00
Kim Alvefur
70598062e3 core.loggingmanager: Add FIXME about supporting console logging to stderr
Currently it is hard codded to be a specialized stdout logger, which
should be fixed one day.
2022-02-02 18:36:08 +01:00
Kim Alvefur
bc15d6424f man/prosodyctl: Complete list of 'check' variants
Especially 'connectivity' was missing
2022-02-02 18:28:28 +01:00
Kim Alvefur
3627a37091 man/prosodyctl: Clarify description of --root 2022-02-02 18:25:42 +01:00
Kim Alvefur
f30bbd6dcf util.startup: Teach prosodyctl to be completely --silent 2021-11-28 23:07:51 +01:00
Kim Alvefur
14f31180b5 util.startup: Teach prosodyctl to be --quiet as complement to --verbose
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.
2021-11-28 23:07:35 +01:00
Kim Alvefur
7f2e4b6313 man/prosodyctl: Normalize formatting syntax
Filtered trough pandoc
2022-02-02 18:30:54 +01:00
Kim Alvefur
da53d0fc75 util.dns: Minor updates of SVCB parser
Now based on draft-ietf-dnsop-svcb-https-08
2022-02-02 17:58:48 +01:00
Kim Alvefur
b657d2ab26 util.dns: Implement SVCB record parser
Based on draft-ietf-dnsop-svcb-https-00
2020-10-04 21:29:44 +02:00
Kim Alvefur
29238183e9 util.dns: Fix returning read position after zero-length name
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.
2020-10-04 21:27:20 +02:00
Kim Alvefur
c0be07a6b6 util.dnsregistry: Regenerate from IANA registry
Note the duplicate 9 and 16 entries, neither of which are especially
relevant for our resolver usage.
2022-02-02 17:31:39 +01:00
Kim Alvefur
8b68fc3c6c tools.dnsregistry: For converting IANA DNS registry data to Lua table 2020-10-04 19:26:53 +02:00