Software /
code /
prosody-modules
Changeset
5631: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 | 5630:efdaffc878a9 |
children | 5632:ae62d92506dc |
files | mod_s2sout_override/README.md mod_s2sout_override/mod_s2sout_override.lua |
diffstat | 2 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_s2sout_override/README.md Wed Jul 26 16:23:13 2023 +0200 +++ b/mod_s2sout_override/README.md Thu Jul 27 15:00:26 2023 +0200 @@ -18,6 +18,11 @@ URIs with IP addresses like `tcp://127.0.0.1:9999` will bypass A/AAAA DNS lookups. +The special target `"*"` may be used to redirect all servers that don't have +an exact match. + +Standard DNS SRV resolution can be restored by specifying a truthy value. + ```lua -- Global section modules_enabled = { @@ -28,7 +33,12 @@ s2sout_override = { ["example.com"] = "tcp://other.host.example:5299"; ["xmpp.example.net"] = "tcp://localhost:5999"; - ["secure.example"] = = "tls://127.0.0.1:5270"; + ["secure.example"] = "tls://127.0.0.1:5270"; + + -- catch-all: + ["*"] = "tls://127.0.0.1:5370"; + -- bypass the catch-all, use standard DNS SRV: + ["jabber.example"] = true; } ```
--- a/mod_s2sout_override/mod_s2sout_override.lua Wed Jul 26 16:23:13 2023 +0200 +++ b/mod_s2sout_override/mod_s2sout_override.lua Thu Jul 27 15:00:26 2023 +0200 @@ -6,7 +6,7 @@ local override_for = module:get_option(module.name, {}); -- map of host to "tcp://example.com:5269" module:hook("s2sout-pre-connect", function(event) - local override = override_for[event.session.to_host]; + local override = override_for[event.session.to_host] or override_for["*"]; if type(override) == "string" then override = url.parse(override); end