Mercurial > prosody-modules
view mod_isolate_host/README.md @ 6319:04c3273cb81f
mod_auth_cyrus: Add empty 'profile' table to SASL handler objects
This is for compatibility with Prosody's built-in util.sasl objects.
A SASL profile table usually includes methods supported by the backend, which
can be used by SASL mechanism handlers to perform operations (such as testing
the password). It also optionally contains a 'cb' field with channel binding
method handlers.
The Cyrus backend doesn't support channel binding, and doesn't have the same
concept of auth backend methods (it handles all that internally, and Prosody
has no insight or control over it).
Thus, we create an empty profile which informs Prosody that the SASL handler
does not support any of the auth or channel binding methods. Some features
will not work, but they didn't work anyway. This just makes it explicit.
This fixes a traceback in mod_sasl2_fast, which expected SASL handlers to
always contain a 'profile' field.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 04 Sep 2025 10:14:46 +0100 |
| parents | fe081789f7b5 |
| children |
line wrap: on
line source
--- labels: - 'Stage-Beta' summary: Prevent communication between hosts ... Introduction ============ In some environments it is desirable to isolate one or more hosts, and prevent communication with external, or even other internal domains. Loading mod\_isolate\_host on a host will prevent all communication with JIDs outside of the current domain, though it is possible to configure exceptions. **Note:** if you just want to prevent communication with external domains, this is possible without a plugin. See [Prosody: Disabling s2s](http://prosody.im/doc/s2s#disabling) for more information. This module was sponsored by [Exa Networks](http://exa-networks.co.uk/). Configuration ============= To isolate all hosts by default, add the module to your global modules\_enabled: ``` {.lua} modules_enabled = { ... "isolate_host"; ... } ``` Alternatively you can isolate a single host by putting a modules\_enabled line under the VirtualHost directive: ``` {.lua} VirtualHost "example.com" modules_enabled = { "isolate_host" } ``` After enabling the module, you can add further options to add exceptions for the isolation: Option Description -------------------------- ----------------------------------------------------------------------------------------- isolate\_except\_domains A list of domains to allow communication with. isolate\_except\_users A list of user JIDs allowed to bypass the isolation and communicate with other domains. **Note:** Admins of hosts are always allowed to communicate with other domains Compatibility ============= ----- ------- 0.9 Works ----- -------
