aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--apt-panopticommon.lua14
-rwxr-xr-xapt-panopticon-report-email-web.lua82
-rwxr-xr-xapt-panopticon.lua65
3 files changed, 54 insertions, 107 deletions
diff --git a/apt-panopticommon.lua b/apt-panopticommon.lua
index b1f39d7..8a18c4b 100644
--- a/apt-panopticommon.lua
+++ b/apt-panopticommon.lua
@@ -334,6 +334,20 @@ dumpTableSub = function (table, space)
334 return r 334 return r
335end 335end
336 336
337
338APT.allpairs = function(tbl, func)
339 for k, v in pairs(tbl) do
340 if 'table' == type(v) then
341 for i, w in pairs(v) do
342 func(i, w, k, v)
343 end
344 else
345 func(k, v)
346 end
347 end
348end
349
350
337APT.search = function(t, s) 351APT.search = function(t, s)
338 for i, v in pairs(t) do 352 for i, v in pairs(t) do
339 if v == s then return true end 353 if v == s then return true end
diff --git a/apt-panopticon-report-email-web.lua b/apt-panopticon-report-email-web.lua
index 7d5ce7f..5598515 100755
--- a/apt-panopticon-report-email-web.lua
+++ b/apt-panopticon-report-email-web.lua
@@ -205,33 +205,20 @@ if nil == email then C("opening mirrors file - " .. e) else
205 205
206 -- DNS-RR test. 206 -- DNS-RR test.
207 if ("deb.devuan.org" ~= k) and (nil ~= APT.mirrors["deb.devuan.org"]) then 207 if ("deb.devuan.org" ~= k) and (nil ~= APT.mirrors["deb.devuan.org"]) then
208 for l, w in pairs(APT.mirrors[k].IPs) do 208 APT.allpairs(APT.mirrors[k].IPs,
209 if type(w) == "table" then 209 function(i, w, k, v)
210 for i, u in pairs(w) do 210 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][i] then
211 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][i] then 211 local log = logCount("deb.devuan.org", i)
212 local log = logCount("deb.devuan.org", i)
213 if "" ~= log then
214 if "" == dns then dns = " " else dns = dns .. " " end
215 dns = dns .. logCount("deb.devuan.org", i)
216 else
217 if "" == dns then dns = " " else dns = dns .. " " end
218 dns = dns .. i
219 end
220 end
221 end
222 else
223 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][l] then
224 local log = logCount("deb.devuan.org", l)
225 if "" ~= log then 212 if "" ~= log then
226 if "" == dns then dns = " " else dns = dns .. " " end 213 if "" == dns then dns = " " else dns = dns .. " " end
227 dns = dns .. log 214 dns = dns .. logCount("deb.devuan.org", i)
228 else 215 else
229 if "" == dns then dns = " " else dns = dns .. " " end 216 if "" == dns then dns = " " else dns = dns .. " " end
230 dns = dns .. l 217 dns = dns .. i
231 end 218 end
232 end 219 end
233 end 220 end
234 end 221 )
235 if "" == dns then dns = "[no]" end 222 if "" == dns then dns = "[no]" end
236 dns = " DNS-RR: " .. dns 223 dns = " DNS-RR: " .. dns
237 end 224 end
@@ -396,33 +383,20 @@ if nil == web then C("opening mirrors file - " .. e) else
396 383
397 -- DNS-RR test. 384 -- DNS-RR test.
398 if ("deb.devuan.org" ~= k) and (nil ~= APT.mirrors["deb.devuan.org"]) then 385 if ("deb.devuan.org" ~= k) and (nil ~= APT.mirrors["deb.devuan.org"]) then
399 for l, w in pairs(APT.mirrors[k].IPs) do 386 APT.allpairs(APT.mirrors[k].IPs,
400 if type(w) == "table" then 387 function(i, w, k, v)
401 for i, u in pairs(w) do 388 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][i] then
402 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][i] then 389 local log = logCount("deb.devuan.org", i)
403 local log = logCount("deb.devuan.org", i)
404 if "" ~= log then
405 if "" == dns then dns = " " else dns = dns .. "   " end
406 dns = dns .. logCount("deb.devuan.org", i)
407 else
408 if "" == dns then dns = " " else dns = dns .. "   " end
409 dns = dns .. "<font color='maroon'><b>" .. i .. "</b></font>"
410 end
411 end
412 end
413 else
414 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][l] then
415 local log = logCount("deb.devuan.org", l)
416 if "" ~= log then 390 if "" ~= log then
417 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end 391 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end
418 dns = dns .. log 392 dns = dns .. logCount("deb.devuan.org", i)
419 else 393 else
420 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end 394 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end
421 dns = dns .. "<font color='maroon'><b>" .. l .. "</b></font>" 395 dns = dns .. "<font color='maroon'><b>" .. i .. "</b></font>"
422 end 396 end
423 end 397 end
424 end 398 end
425 end 399 )
426 if "" == dns then dns = "<font color='grey'><b>no</b></font>" end 400 if "" == dns then dns = "<font color='grey'><b>no</b></font>" end
427 401
428 if 0 == max then 402 if 0 == max then
@@ -495,6 +469,7 @@ if nil == web then C("opening mirrors file - " .. e) else
495 APT.mirrors[k].BaseURL = nil 469 APT.mirrors[k].BaseURL = nil
496 APT.mirrors[k].Country = nil 470 APT.mirrors[k].Country = nil
497 APT.mirrors[k].Bandwidth = nil 471 APT.mirrors[k].Bandwidth = nil
472
498 for l, w in pairs(APT.mirrors[k].IPs) do 473 for l, w in pairs(APT.mirrors[k].IPs) do
499 if type(w) == "table" then 474 if type(w) == "table" then
500 n[l] = {} 475 n[l] = {}
@@ -564,33 +539,20 @@ if nil == web then C("opening mirrors file - " .. e) else
564 539
565 -- DNS-RR test. 540 -- DNS-RR test.
566 if ("deb.devuan.org" ~= k) and (nil ~= APT.debians["deb.devuan.org"]) then 541 if ("deb.devuan.org" ~= k) and (nil ~= APT.debians["deb.devuan.org"]) then
567 for l, w in pairs(APT.debians[k].IPs) do 542 APT.allpairs(APT.debians[k].IPs,
568 if type(w) == "table" then 543 function(i, w, k, v)
569 for i, u in pairs(w) do 544 if nil ~= APT.mirrors["deb.devuan.org"].IPs["deb.roundr.devuan.org"][i] then
570 if nil ~= APT.debians["deb.devuan.org"].IPs["deb.roundr.devuan.org"][i] then 545 local log = logCount("deb.devuan.org", i)
571 local log = logCount("deb.devuan.org", i)
572 if "" ~= log then
573 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end
574 dns = dns .. logCount("deb.devuan.org", i)
575 else
576 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end
577 dns = dns .. "<font color='maroon'><b>" .. i .. "</b></font>"
578 end
579 end
580 end
581 else
582 if nil ~= APT.debians["deb.devuan.org"].IPs["deb.roundr.devuan.org"][l] then
583 local log = logCount("deb.devuan.org", l)
584 if "" ~= log then 546 if "" ~= log then
585 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end 547 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end
586 dns = dns .. log 548 dns = dns .. logCount("deb.devuan.org", i)
587 else 549 else
588 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end 550 if "" == dns then dns = " " else dns = dns .. " &nbsp; " end
589 dns = dns .. "<font color='maroon'><b>" .. l .. "</b></font>" 551 dns = dns .. "<font color='maroon'><b>" .. i .. "</b></font>"
590 end 552 end
591 end 553 end
592 end 554 end
593 end 555 )
594 if "" == dns then dns = "<font color='grey'><b>no</b></font>" end 556 if "" == dns then dns = "<font color='grey'><b>no</b></font>" end
595 557
596 if 0 == max then 558 if 0 == max then
diff --git a/apt-panopticon.lua b/apt-panopticon.lua
index 25c2b49..675754d 100755
--- a/apt-panopticon.lua
+++ b/apt-panopticon.lua
@@ -1011,17 +1011,8 @@ if 0 < #arg then
1011 if nil == path then path = '' end 1011 if nil == path then path = '' end
1012 if APT.origin then 1012 if APT.origin then
1013 local ips = APT.results["IPs"] 1013 local ips = APT.results["IPs"]
1014 for k, v in pairs(ips) do 1014 APT.allpairs(ips,
1015 if "table" == type(v) then 1015 function(k, v)
1016 for k1, v1 in pairs(v) do
1017 if v1 == "A" then
1018 if APT.testing("IPv4") then APT.exe("./apt-panopticon.lua " .. sendArgs .. " " .. pu.host .. path .. " " .. k1 .. " " .. file):Nice():log():fork() end
1019 elseif v1 == "AAAA" then
1020 if APT.testing("IPv6") then APT.exe("./apt-panopticon.lua " .. sendArgs .. " " .. pu.host .. path .. " " .. k1 .. " " .. file):Nice():log():fork() end
1021 end
1022 D('logging to ' .. APT.logName(pu.host, k1, file)[2])
1023 end
1024 else
1025 if v == "A" then 1016 if v == "A" then
1026 if APT.testing("IPv4") then APT.exe("./apt-panopticon.lua " .. sendArgs .. " " .. pu.host .. path .. " " .. k .. " " .. file):Nice():log():fork() end 1017 if APT.testing("IPv4") then APT.exe("./apt-panopticon.lua " .. sendArgs .. " " .. pu.host .. path .. " " .. k .. " " .. file):Nice():log():fork() end
1027 elseif v == "AAAA" then 1018 elseif v == "AAAA" then
@@ -1029,7 +1020,7 @@ if 0 < #arg then
1029 end 1020 end
1030 D('logging to ' .. APT.logName(pu.host, k, file)[2]) 1021 D('logging to ' .. APT.logName(pu.host, k, file)[2])
1031 end 1022 end
1032 end 1023 )
1033 end 1024 end
1034 1025
1035 if not APT.redir then 1026 if not APT.redir then
@@ -1156,48 +1147,28 @@ os.execute('sleep 1') -- Wait for things to start up before checking for them.
1156 if not dn then table.insert(baseFiles, ll) end 1147 if not dn then table.insert(baseFiles, ll) end
1157 end 1148 end
1158 1149
1159 APT.logOpen(hst) 1150 local combine = function(ip, a)
1160 APT.logFile:write('<h1>Note log lines will be out of order, this is a bunch of other log files combined.</h1>\n') 1151 if not APT.logOpen(hst, ip) then print('PROBLEM OPENING LOG FILE ' .. hst .. ' ' .. ip) end
1161 for i, f in pairs(baseFiles) do 1152 APT.logFile:write('<h1>Note log lines will be out of order, this is a bunch of other log files combined.</h1>\n')
1162 f = f:sub(9, -1) 1153 for i, f in pairs(a) do
1163 APT.logFile:write('<hr>\n<hr>\n<h2><a href="' .. f .. '">' .. f .. '</a></h2>\n') 1154 f = f:sub(9, -1)
1164 for l in io.lines('results/' .. f) do 1155 APT.logFile:write('<hr>\n<hr>\n<h2><a href="' .. f .. '">' .. f .. '</a></h2>\n')
1165 if l:match('^' .. os.date('%Y%-%m%-%d ') .. '.*$') then APT.logFile:write(l .. '\n') end 1156 for ln in io.lines('results/' .. f) do
1157 if ln:match('^' .. os.date('!%Y%-%m%-%d ') .. '.*$') then APT.logFile:write(ln .. '\n') end -- %F isn't good enough, coz we have to escape the '-'.
1158 end
1166 end 1159 end
1160 APT.logPost()
1161 APT.args = APT_args
1162 APT.logFile = APT_logFile
1167 end 1163 end
1168 APT.logPost() 1164 combine(nil, baseFiles)
1169 APT.args = APT_args
1170 APT.logFile = APT_logFile
1171
1172 for ip, a in pairs(IPfiles) do 1165 for ip, a in pairs(IPfiles) do
1173 if nil == a[1] then 1166 if nil == a[1] then
1174 for i, f in pairs(a) do 1167 for i, f in pairs(a) do
1175 if not APT.logOpen(hst, i) then print('PROBLEM OPENING LOG FILE ' .. hst .. ' ' .. i) end 1168 combine(i, f)
1176 APT.logFile:write('<h1>Note log lines will be out of order, this is a bunch of other log files combined.</h1>\n')
1177 for j, g in pairs(f) do
1178 g = g:sub(9, -1)
1179 APT.logFile:write('<hr>\n<hr>\n<h2><a href="' .. g .. '">' .. g .. '</a></h2>\n')
1180 for l in io.lines('results/' .. g) do
1181 if l:match('^' .. os.date('%Y%-%m%-%d ') .. '.*$') then APT.logFile:write(l .. '\n') end
1182 end
1183 end
1184 APT.logPost()
1185 APT.args = APT_args
1186 APT.logFile = APT_logFile
1187 end 1169 end
1188 else 1170 else
1189 if not APT.logOpen(hst, ip) then print('PROBLEM OPENING LOG FILE ' .. hst .. ' ' .. ip) end 1171 combine(ip, a)
1190 APT.logFile:write('<h1>Note log lines will be out of order, this is a bunch of other log files combined.</h1>\n')
1191 for i, f in pairs(a) do
1192 f = f:sub(9, -1)
1193 APT.logFile:write('<hr>\n<hr>\n<h2><a href="' .. f .. '">' .. f .. '</a></h2>\n')
1194 for l in io.lines('results/' .. f) do
1195 if l:match('^' .. os.date('%Y%-%m%-%d ') .. '.*$') then APT.logFile:write(l .. '\n') end
1196 end
1197 end
1198 APT.logPost()
1199 APT.args = APT_args
1200 APT.logFile = APT_logFile
1201 end 1172 end
1202 end 1173 end
1203 1174