Comparison

prosodyctl @ 8923:ddd98e262519

prosodyctl: Only check for s2s if mod_s2s is enabled (fixes #1031)
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sat, 23 Jun 2018 16:15:36 +0200
parent 8917:d4c98115e00c
child 8924:8fe98e365ab8
comparison
equal deleted inserted replaced
8922:47d318eeff8d 8923:ddd98e262519
1026 1026
1027 for jid, host_options in enabled_hosts() do 1027 for jid, host_options in enabled_hosts() do
1028 local all_targets_ok, some_targets_ok = true, false; 1028 local all_targets_ok, some_targets_ok = true, false;
1029 local node, host = jid_split(jid); 1029 local node, host = jid_split(jid);
1030 1030
1031 local modules, component_module = modulemanager.get_modules_for_host(host);
1032 if component_module then
1033 modules:add(component_module);
1034 end
1035
1031 local is_component = not not host_options.component_module; 1036 local is_component = not not host_options.component_module;
1032 print("Checking DNS for "..(is_component and "component" or "host").." "..jid.."..."); 1037 print("Checking DNS for "..(is_component and "component" or "host").." "..jid.."...");
1033 if node then 1038 if node then
1034 print("Only the domain part ("..host..") is used in DNS.") 1039 print("Only the domain part ("..host..") is used in DNS.")
1035 end 1040 end
1050 else 1055 else
1051 target_hosts:add(host); 1056 target_hosts:add(host);
1052 end 1057 end
1053 end 1058 end
1054 end 1059 end
1055 do 1060 if modules:contains("s2s") then
1056 local res = dns.lookup("_xmpp-server._tcp."..idna.to_ascii(host)..".", "SRV"); 1061 local res = dns.lookup("_xmpp-server._tcp."..idna.to_ascii(host)..".", "SRV");
1057 if res then 1062 if res then
1058 for _, record in ipairs(res) do 1063 for _, record in ipairs(res) do
1059 target_hosts:add(record.srv.target); 1064 target_hosts:add(record.srv.target);
1060 if not s2s_ports:contains(record.srv.port) then 1065 if not s2s_ports:contains(record.srv.port) then
1075 end 1080 end
1076 1081
1077 if target_hosts:contains("localhost") then 1082 if target_hosts:contains("localhost") then
1078 print(" Target 'localhost' cannot be accessed from other servers"); 1083 print(" Target 'localhost' cannot be accessed from other servers");
1079 target_hosts:remove("localhost"); 1084 target_hosts:remove("localhost");
1080 end
1081
1082 local modules, component_module = modulemanager.get_modules_for_host(host);
1083
1084 if component_module then
1085 modules:add(component_module);
1086 end 1085 end
1087 1086
1088 if modules:contains("proxy65") then 1087 if modules:contains("proxy65") then
1089 local proxy65_target = configmanager.get(host, "proxy65_address") or host; 1088 local proxy65_target = configmanager.get(host, "proxy65_address") or host;
1090 local A, AAAA = dns.lookup(idna.to_ascii(proxy65_target), "A"), dns.lookup(idna.to_ascii(proxy65_target), "AAAA"); 1089 local A, AAAA = dns.lookup(idna.to_ascii(proxy65_target), "A"), dns.lookup(idna.to_ascii(proxy65_target), "AAAA");