Commit graph

12338 commits

Author SHA1 Message Date
Matthew Wild
fe56effa55 util.struct: Import Roberto 'struct' library v0.3
Downloaded from http://www.inf.puc-rio.br/~roberto/struct/

This is for compatibility with Lua 5.2 (and 5.1). Eventually we can replace
this with string.pack/string.unpack which are available in 5.3+.
2022-03-04 15:03:02 +00:00
Matthew Wild
09bdd81659 COPYING: An overdue update. Also add some clarity about third-party code. 2022-03-04 15:00:30 +00:00
Matthew Wild
0b44cfec12 prosody.cfg.lua.dist: Remove comment about mod_*.lua above modules_enabled
This is a very old statement, but people generally don't need to check for the
files, and shouldn't be encouraged to put them in Prosody's source dir. The
installer will be the way forward for most people, and hg for the rest.

Manually moving files into the right place is not something most users should
be doing.
2022-03-03 10:24:59 +00:00
Matthew Wild
ab4b25e28f prosody.cfg.lua.dist: Fix plugin_paths description (thanks Zash) 2022-03-03 10:23:10 +00:00
Matthew Wild
a4d57c4fc7 prosody.cfg.lua.dist: Add comments explaining the individual TURN options 2022-03-02 16:53:52 +00:00
Matthew Wild
ebf9f9d157 prosody.cfg.lua.dist: Improved descriptions for a number of modules 2022-03-02 15:20:21 +00:00
Matthew Wild
855f8db6ad prosody.cfg.lua.dist: Alphabetical ordering of modules within each section 2022-03-02 14:32:32 +00:00
Matthew Wild
55dd856a50 prosody.cfg.lua.dist: Improve mod_mam description to indicate its purpose 2022-03-02 14:32:02 +00:00
Matthew Wild
4102ef8e05 prosody.cfg.lua.dist: Remove mod_admin_telnet
mod_admin_shell should preferably be used instead
2022-03-02 14:27:28 +00:00
Matthew Wild
eda989030a prosody.cfg.lua.dist: Reword plugin_paths to de-emphasize Prosody's source dir
The previous wording may contribute to people trying to install custom modules
to Prosody's source directory instead of adding to plugin_paths.
2022-03-02 14:27:05 +00:00
Matthew Wild
1990010e21 prosody.cfg.lua.dist: Remove network_backend option
The only sensible option for most people these days is "epoll". The option is
still supported, but it should only be needed by packagers for specific platforms
(e.g. BSD may choose libevent for kqueue) or other special cases.
2022-03-02 14:22:02 +00:00
Kim Alvefur
09f6d8f21d prosody.cfg.lua.dist: Remove example certificate, this should just work 2022-02-13 21:52:43 +01:00
Kim Alvefur
9fbf5bf7ad net.server_epoll: Disable verbose mode by default 2022-02-12 18:47:22 +01:00
Kim Alvefur
db4d41bd5a prosody.cfg.lua.dist: Remove allow_registration in favor of invites
This settings should now only be used by public servers, which have
their own documentation
2022-02-11 00:16:36 +01:00
Matthew Wild
c3f82ad2e9 prosody.cfg.lua.dist: Comment improvements: s2s authentication 2022-02-14 16:30:01 +00:00
Matthew Wild
94140346ff prosody.cfg.lua.dist: Comment improvements: authentication 2022-02-14 16:29:38 +00:00
Matthew Wild
25cb355e10 prosody.cfg.lua.dist: Improve section-like layout via headers and spacing 2022-02-14 16:27:58 +00:00
Matthew Wild
fde42d8486 prosody.cfg.lua.dist: Comment improvements 2022-02-14 16:01:34 +00:00
Matthew Wild
274b2a0249 prosody.cfg.lua.dist: Update s2s_secure_auth comment and default 2022-02-14 15:59:03 +00:00
Matthew Wild
c67bda6d51 prosody.cfg.lua.dist: TURN configuration improvements and example 2022-02-14 15:51:13 +00:00
Matthew Wild
601c2fb6dd prosody.cfg.lua.dist: Enable csi_simple by default
It was added here in 2018, and at that time probably a bit too new to be
enabled by default. Times change, and most people have this enabled now.
2022-02-14 15:49:43 +00:00
Matthew Wild
067a0ad4d8 usermanager, mod_saslauth: Default to internal_hashed if no auth module specified
The default config was updated in this way long ago, but if no option was
present in the config, Prosody would load internal_plain.

This change can result in changes (for the better) for people using very old
configuration files lacking an 'authentication' setting.
2022-02-10 19:54:14 +00:00
Matthew Wild
ecf01c937d prosody.cfg.lua.dist: Remove require_encryption options
Reasons:

- These now default to enabled when not specified since 38b5b05407be
- Practically all servers require encryption these days for c2s/s2s.
- Disabling encryption can be considered a special case that doesn't
  need to be in the default config file.
2022-02-14 15:58:08 +00:00
Kim Alvefur
406b90d31d core.certmanager: Turn soft dependency on LuaSec into a hard
The default network backend server_epoll already requires LuaSec so
Prosody won't even start without it, so we can get rid of these lines
here too.
2022-02-10 17:15:55 +01:00
Kim Alvefur
73d1bb1218 various: Require encryption by default for real
These options have been specified (and enabled) in the default config file for
a long time. However if unspecified in the config, they were not enabled. Now
they are.

This may result in a change of behaviour for people using very old config
files that lack the require_encryption options. But that's what we want.
2021-12-25 16:23:40 +01:00
Matthew Wild
a02e872f86 mod_invites_register: Default to require encryption
In line with the Prosody-wide default change for 0.12.
2022-02-10 15:49:01 +00:00
Matthew Wild
a53ffcca73 mod_legacyauth: Default to require encryption 2022-02-10 15:48:34 +00:00
Kim Alvefur
ca1d202df0 prosody.cfg.lua.dist: Remove mod_http_files
Serving web pages outside of specialized modules seems like a rare use
case that doesn't warrant a spot in the default config file.
Many users seem to have it confused with mod_http_upload, so removing it
should help with that.
2022-02-10 18:35:39 +01:00
Kim Alvefur
deccf683d2 prosody.cfg.lua.dist: Move Dialback down
Mostly a source of security issues lately
2022-02-10 17:15:18 +01:00
Kim Alvefur
99e90a9914 prosody.cfg.lua.dist: Remove https_certificate, this should Just Work now 2022-02-05 18:17:52 +01:00
Kim Alvefur
c8515415ec prosody.cfg.lua.dist: Remove mention of deprecated daemonize option
Just run ./prosody like me!
2022-02-05 18:14:17 +01:00
Kim Alvefur
a37682ba2e prosody.cfg.lua.dist: Remove installer_plugin_path
Most users shouldn't need to add this, and it works out of the box.
Not important enough to justify having it in the default config.
2022-02-05 18:10:41 +01:00
Kim Alvefur
225e6d21e8 prosody.cfg.lua.dist: Add new modules
mod_admin_shell enabled by default because it's awesome!

mod_smacks and mod_bookmarks under recommended since they're recommended
by the compliance suite XEP-0459

Invites under nice to have and enabled by default to enable a somewhat
nice out of the box experience

Other new modules mostly under Other

mod_external_services left out since it's an advanced thing
2022-02-10 18:02:59 +01:00
Kim Alvefur
02b2fe4d2b prosody.cfg.lua.dist: Add note about 'localhost' 2021-02-04 00:49:07 +01:00
Kim Alvefur
0e6391e736 mod_admin_shell: Use a table to show help sections
Because tables make everything better and more readable!
2022-02-20 00:24:18 +01:00
Kim Alvefur
6207ed871c CHANGES: Mention graceful shutdown 2022-02-18 23:20:24 +01:00
Kim Alvefur
b70a61be4c mod_c2s: Ignore unused event payload [luacheck] 2022-02-18 23:13:01 +01:00
Kim Alvefur
a8f4892fe3 mod_c2s,mod_s2s: Wait for sessions to close before proceeding with shutdown steps
Ensures unavailable presence and other outgoing stanzas are sent.

Waiting for c2s sessions to close first before proceeding to disable and
close s2s ensures that unavailable presence can go out, even if it
requires dialback to complete first.
2022-02-17 03:49:47 +01:00
Kim Alvefur
13dc49d1a7 mod_c2s: Close ports in a separate, earlier event from closing sessions
Lets other things step in and do things while c2s ports are closed, e.g.
mod_smacks, or other modules with port handlers that forward to c2s.
2022-02-18 14:25:22 +01:00
Kim Alvefur
14a7fdb2a8 mod_s2s: Disable creation of new outgoing connections during shutdown 2022-02-11 21:41:04 +01:00
Kim Alvefur
f56aaf1ba1 mod_c2s,mod_s2s: Disable and close port listeners before closing sessions
This ensures no new clients can start connecting during shutdown
2022-02-11 21:36:53 +01:00
Kim Alvefur
89f110bbf2 mod_posix: Run signal handlers in the startup thread 2021-10-06 14:50:47 +02:00
Kim Alvefur
aa20355fa2 prosody: Expose main thread on the 'prosody' global
To allow running things in it.
2021-10-06 14:49:26 +02:00
Kim Alvefur
97daab1c75 prosody: Run shutdown procedure in async thread 2019-01-01 16:43:49 +01:00
Kim Alvefur
ed06f22ae5 prosody: Move last cleanup and shutdown code into util.startup 2019-01-01 16:42:52 +01:00
Kim Alvefur
f9478ab242 mod_admin_shell: Squeeze some characters out of the Certificate column
The more compact these are, the better
2022-02-17 01:41:57 +01:00
Kim Alvefur
ebcb37baa4 prosodyctl: Restore 'list --outdated'
Parsing --flags puts it into 'opts', so --outdated wasn't passed to
luarocks, breaking that functionality
2022-02-17 01:39:35 +01:00
Kim Alvefur
89c2a5ac30 mod_admin_shell: Fix description of muc:room() (thanks Link Mauve)
But then this is the internal API which is weird and unfriendly to
expose externally. Lots of methods to wrap tho ... one day.
2022-02-15 22:14:40 +01:00
Kim Alvefur
84f93f2336 mod_turn_external: Fix type of config option (thanks mirux)
There was a separate boolean option to enable TLS before, but it was
merged with the port number option and it seems the typed API interface
got confused.
2022-02-15 21:51:52 +01:00
Kim Alvefur
5927315eee util.dns: Remove compat for pre-0.11 lack of inet_ntop binding
The inet_ntop binding was added in 8b612ec00e4a and included in 0.11.0
2022-02-15 13:04:24 +01:00