diff options
author | onefang | 2021-12-17 14:58:46 +1000 |
---|---|---|
committer | onefang | 2021-12-17 14:58:46 +1000 |
commit | fe8fc1dee06b74217d5a025707720553dd2a2368 (patch) | |
tree | 49155795c20ec1ba6f3656bb75c1aee60b5652bc | |
parent | Don't crash if a DNS-RR mirror fails to resolve. (diff) | |
download | apt-panopticon-fe8fc1dee06b74217d5a025707720553dd2a2368.zip apt-panopticon-fe8fc1dee06b74217d5a025707720553dd2a2368.tar.gz apt-panopticon-fe8fc1dee06b74217d5a025707720553dd2a2368.tar.bz2 apt-panopticon-fe8fc1dee06b74217d5a025707720553dd2a2368.tar.xz |
Don't hard code deb.roundr.devuan.org all over the place, and check the results.
Coz it got changed to deb.rr.devuan.org.
-rw-r--r-- | apt-panopticommon.lua | 6 | ||||
-rwxr-xr-x | apt-panopticon-report-email-web.lua | 35 | ||||
-rwxr-xr-x | apt-panopticon.lua | 7 |
3 files changed, 29 insertions, 19 deletions
diff --git a/apt-panopticommon.lua b/apt-panopticommon.lua index f2a7fee..3e2dc08 100644 --- a/apt-panopticommon.lua +++ b/apt-panopticommon.lua | |||
@@ -53,6 +53,12 @@ APT.options = | |||
53 | help = "The round robin DNS name.", | 53 | help = "The round robin DNS name.", |
54 | value = "deb.devuan.org", | 54 | value = "deb.devuan.org", |
55 | }, | 55 | }, |
56 | roundRobinCname = | ||
57 | { | ||
58 | typ = "string", | ||
59 | help = "The round robin DNS name.", | ||
60 | value = "deb.rr.devuan.org", | ||
61 | }, | ||
56 | tests = | 62 | tests = |
57 | { | 63 | { |
58 | typ = "table", | 64 | typ = "table", |
diff --git a/apt-panopticon-report-email-web.lua b/apt-panopticon-report-email-web.lua index d6c866d..73e0338 100755 --- a/apt-panopticon-report-email-web.lua +++ b/apt-panopticon-report-email-web.lua | |||
@@ -18,11 +18,13 @@ APT.debians = loadfile("results/debians.lua")() | |||
18 | local revDNS = function(hosts, dom, IP) | 18 | local revDNS = function(hosts, dom, IP) |
19 | if APT.options.roundRobin.value ~= dom then | 19 | if APT.options.roundRobin.value ~= dom then |
20 | if nil ~= hosts[APT.options.roundRobin.value] then | 20 | if nil ~= hosts[APT.options.roundRobin.value] then |
21 | if nil ~= hosts[APT.options.roundRobin.value].IPs["deb.roundr.devuan.org"][IP] then | 21 | if nil ~= hosts[APT.options.roundRobin.value].IPs[APT.options.roundRobinCname] then |
22 | if APT.html then | 22 | if nil ~= hosts[APT.options.roundRobin.value].IPs[APT.options.roundRobinCname][IP] then |
23 | return "<font color='purple'><b>DNS-RR</b></font>" | 23 | if APT.html then |
24 | else | 24 | return "<font color='purple'><b>DNS-RR</b></font>" |
25 | return "DNS-RR" | 25 | else |
26 | return "DNS-RR" | ||
27 | end | ||
26 | end | 28 | end |
27 | end | 29 | end |
28 | end | 30 | end |
@@ -201,15 +203,17 @@ local DNSrrTest = function(hosts, k) | |||
201 | if (APT.options.roundRobin.value ~= k) and (nil ~= hosts[APT.options.roundRobin.value]) and (nil ~= hosts[k].IPs) then | 203 | if (APT.options.roundRobin.value ~= k) and (nil ~= hosts[APT.options.roundRobin.value]) and (nil ~= hosts[k].IPs) then |
202 | APT.allpairs(hosts[k].IPs, | 204 | APT.allpairs(hosts[k].IPs, |
203 | function(i, w, k, v) | 205 | function(i, w, k, v) |
204 | if nil ~= hosts[APT.options.roundRobin.value].IPs["deb.roundr.devuan.org"][i] then | 206 | if nil ~= hosts[APT.options.roundRobin.value].IPs[APT.options.roundRobinCname] then |
205 | local log = logCount(APT.options.roundRobin.value, i) | 207 | if nil ~= hosts[APT.options.roundRobin.value].IPs[APT.options.roundRobinCname][i] then |
206 | if "" ~= log then | 208 | local log = logCount(APT.options.roundRobin.value, i) |
207 | if "" == dns then dns = " " else dns = dns .. space end | 209 | if "" ~= log then |
208 | dns = dns .. logCount(APT.options.roundRobin.value, i) | 210 | if "" == dns then dns = " " else dns = dns .. space end |
209 | else | 211 | dns = dns .. logCount(APT.options.roundRobin.value, i) |
210 | if "" == dns then dns = " " else dns = dns .. space end | 212 | else |
211 | if APT.html then i = "<font color='maroon'><b>" .. i .. "</b></font>" end | 213 | if "" == dns then dns = " " else dns = dns .. space end |
212 | dns = dns .. i | 214 | if APT.html then i = "<font color='maroon'><b>" .. i .. "</b></font>" end |
215 | dns = dns .. i | ||
216 | end | ||
213 | end | 217 | end |
214 | end | 218 | end |
215 | end | 219 | end |
@@ -360,9 +364,8 @@ local makeIPlist = function(hosts) | |||
360 | if nil ~= hosts[k].IPs then | 364 | if nil ~= hosts[k].IPs then |
361 | for l, w in pairs(hosts[k].IPs) do | 365 | for l, w in pairs(hosts[k].IPs) do |
362 | if type(w) == "table" then | 366 | if type(w) == "table" then |
363 | -- TODO - don't hard code deb.roundr.devuan.org. | ||
364 | -- Don't output the extra DNS-RR entries that are for admin reasons. | 367 | -- Don't output the extra DNS-RR entries that are for admin reasons. |
365 | if ((APT.options.roundRobin.value == k) and ("deb.roundr.devuan.org" == l)) or (APT.options.roundRobin.value ~= k) then | 368 | if ((APT.options.roundRobin.value == k) and (APT.options.roundRobinCname == l)) or (APT.options.roundRobin.value ~= k) then |
366 | n[l] = {} | 369 | n[l] = {} |
367 | for i, u in pairs(w) do | 370 | for i, u in pairs(w) do |
368 | if (APT.testing("IPv6") and ("AAAA" == u)) or ("A" == u) then | 371 | if (APT.testing("IPv6") and ("AAAA" == u)) or ("A" == u) then |
diff --git a/apt-panopticon.lua b/apt-panopticon.lua index a524260..1a00fc7 100755 --- a/apt-panopticon.lua +++ b/apt-panopticon.lua | |||
@@ -199,11 +199,11 @@ gatherIPs = function (host) | |||
199 | gatherIPs(m.FQDN) | 199 | gatherIPs(m.FQDN) |
200 | IP[host][m.FQDN] = IP[m.FQDN] | 200 | IP[host][m.FQDN] = IP[m.FQDN] |
201 | -- Strip them out so we don't test them twice. | 201 | -- Strip them out so we don't test them twice. |
202 | if nil ~= IP[m.FQDN] then | 202 | if (nil ~= IP[m.FQDN]) and (nil ~= IP[host][APT.options.roundRobinCname]) then |
203 | for l, n in pairs(IP[m.FQDN]) do | 203 | for l, n in pairs(IP[m.FQDN]) do |
204 | if type(n) == 'table' then | 204 | if type(n) == 'table' then |
205 | for h, p in pairs(n) do | 205 | for h, p in pairs(n) do |
206 | for j, o in pairs(IP[host]['deb.roundr.devuan.org']) do | 206 | for j, o in pairs(IP[host][APT.options.roundRobinCname]) do |
207 | if h == j then IP[host][m.FQDN][l][h] = nil end | 207 | if h == j then IP[host][m.FQDN][l][h] = nil end |
208 | end | 208 | end |
209 | o = 0 | 209 | o = 0 |
@@ -211,7 +211,7 @@ gatherIPs = function (host) | |||
211 | if 0 == o then IP[host][m.FQDN][l] = nil end | 211 | if 0 == o then IP[host][m.FQDN][l] = nil end |
212 | end | 212 | end |
213 | else | 213 | else |
214 | for j, o in pairs(IP[host]['deb.roundr.devuan.org']) do | 214 | for j, o in pairs(IP[host][APT.options.roundRobinCname]) do |
215 | if l == j then IP[host][m.FQDN][l] = nil end | 215 | if l == j then IP[host][m.FQDN][l] = nil end |
216 | end | 216 | end |
217 | end | 217 | end |
@@ -1009,6 +1009,7 @@ os.execute('sleep 1') -- Wait for things to start up before checking for them. | |||
1009 | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to devuan.bio.lmu.de (141.84.43.19) port 80 (#0) | 1009 | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to devuan.bio.lmu.de (141.84.43.19) port 80 (#0) |
1010 | curl: (22) The requested URL returned error: 404 Not Found | 1010 | curl: (22) The requested URL returned error: 404 Not Found |
1011 | ]] | 1011 | ]] |
1012 | local trace = {} | ||
1012 | local min, max, spd = 999999999999, 0 | 1013 | local min, max, spd = 999999999999, 0 |
1013 | local num = '[%d%.]+[kM]?' | 1014 | local num = '[%d%.]+[kM]?' |
1014 | if APT.checkFile(f) then | 1015 | if APT.checkFile(f) then |