annotate mod_s2sout_override/README.md @ 5621:b87a23b45725

mod_s2sout_override: Add support for a catch-all target
author Kim Alvefur <zash@zash.se>
date Thu, 27 Jul 2023 15:00:26 +0200
parents 6cf2f32dbf40
children ae62d92506dc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5486
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 ---
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 summary: Override s2s connection targets
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 ---
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 This module replaces [mod_s2soutinjection] and uses more modern and
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 reliable methods for overriding connection targets.
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 # Configuration
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 Enable the module as usual, then specify a map of XMPP remote hostnames
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 to URIs like `"tcp://host.example:port"`, to have Prosody connect there
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 instead of doing normal DNS SRV resolution.
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13
5487
6cf2f32dbf40 mod_s2sout_override: Add support for Direct TLS
Kim Alvefur <zash@zash.se>
parents: 5486
diff changeset
14 Currently supported schemes are `tcp://` and `tls://`. A future version
6cf2f32dbf40 mod_s2sout_override: Add support for Direct TLS
Kim Alvefur <zash@zash.se>
parents: 5486
diff changeset
15 could support more methods including alternate SRV lookup targets or
6cf2f32dbf40 mod_s2sout_override: Add support for Direct TLS
Kim Alvefur <zash@zash.se>
parents: 5486
diff changeset
16 even UNIX sockets.
6cf2f32dbf40 mod_s2sout_override: Add support for Direct TLS
Kim Alvefur <zash@zash.se>
parents: 5486
diff changeset
17
6cf2f32dbf40 mod_s2sout_override: Add support for Direct TLS
Kim Alvefur <zash@zash.se>
parents: 5486
diff changeset
18 URIs with IP addresses like `tcp://127.0.0.1:9999` will bypass A/AAAA
6cf2f32dbf40 mod_s2sout_override: Add support for Direct TLS
Kim Alvefur <zash@zash.se>
parents: 5486
diff changeset
19 DNS lookups.
5486
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20
5621
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
21 The special target `"*"` may be used to redirect all servers that don't have
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
22 an exact match.
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
23
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
24 Standard DNS SRV resolution can be restored by specifying a truthy value.
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
25
5486
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 ```lua
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 -- Global section
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 modules_enabled = {
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 -- other global modules
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 "s2sout_override";
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 }
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 s2sout_override = {
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 ["example.com"] = "tcp://other.host.example:5299";
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 ["xmpp.example.net"] = "tcp://localhost:5999";
5621
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
36 ["secure.example"] = "tls://127.0.0.1:5270";
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
37
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
38 -- catch-all:
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
39 ["*"] = "tls://127.0.0.1:5370";
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
40 -- bypass the catch-all, use standard DNS SRV:
b87a23b45725 mod_s2sout_override: Add support for a catch-all target
Kim Alvefur <zash@zash.se>
parents: 5487
diff changeset
41 ["jabber.example"] = true;
5486
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 }
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 ```
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
44
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 # Compatibility
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47 Prosody version status
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
48 --------------- ----------
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
49 0.12.4 Will work
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
50 0.12.3 Will not work
71243bedb2b0 mod_s2sout_override: New module for overriding s2s connections
Kim Alvefur <zash@zash.se>
parents:
diff changeset
51 0.11 Will not work