151 lines
6.2 KiB
Ruby
151 lines
6.2 KiB
Ruby
class Dnsviz < Formula
|
|
include Language::Python::Virtualenv
|
|
|
|
desc "Tools for analyzing and visualizing DNS and DNSSEC behavior"
|
|
homepage "https://github.com/dnsviz/dnsviz/"
|
|
url "https://files.pythonhosted.org/packages/25/d2/0ebfe23440a1adfdca403d7773570d3c05a3a8c5bcbaa0c091b5114d0224/dnsviz-0.8.2.tar.gz"
|
|
sha256 "a81ff254c23718cd6f364b03bf6e9c80468fa4663fd5be66043de7b0bece1cab"
|
|
license "GPL-2.0"
|
|
revision 5
|
|
|
|
livecheck do
|
|
url :stable
|
|
end
|
|
|
|
bottle do
|
|
cellar :any
|
|
sha256 "894e6863cfc58d8f4efb0d8c7da584819fd929c879279cf4bb6e6f58cc9d5e46" => :big_sur
|
|
sha256 "98841730e89ea63774ef33bc723f3f55ce74e965aef94df623dafaef277e8f05" => :catalina
|
|
sha256 "d1cfccf7a3eee282d072f7e8b704ecf447e0fe57c57b6453cde69bf68454b147" => :mojave
|
|
sha256 "7a84c44a46a4dd1e7cd4d6b951ca3011ae662275c67b9f0fecf35626ab66ce8f" => :high_sierra
|
|
end
|
|
|
|
depends_on "pkg-config" => :build
|
|
depends_on "swig" => :build
|
|
depends_on "bind" => :test
|
|
depends_on "graphviz"
|
|
depends_on "libsodium"
|
|
depends_on "openssl@1.1"
|
|
depends_on "python@3.9"
|
|
|
|
on_linux do
|
|
# Fix build error of m2crypto, see https://github.com/crocs-muni/roca/issues/1#issuecomment-336893096
|
|
depends_on "swig"
|
|
end
|
|
|
|
resource "dnspython" do
|
|
url "https://files.pythonhosted.org/packages/67/d0/639a9b5273103a18c5c68a7a9fc02b01cffa3403e72d553acec444f85d5b/dnspython-2.0.0.zip"
|
|
sha256 "044af09374469c3a39eeea1a146e8cac27daec951f1f1f157b1962fc7cb9d1b7"
|
|
end
|
|
|
|
resource "libnacl" do
|
|
url "https://files.pythonhosted.org/packages/08/9b/16725e8cbb278569db379ea6e4eb24b2e8c574be1ec7617ac2dff8f91b2b/libnacl-1.7.1.tar.gz"
|
|
sha256 "33f31c4686541aee24876706b46a846f93c60e62d6b4211bc16bd08ba71d8fb8"
|
|
end
|
|
|
|
resource "M2Crypto" do
|
|
url "https://files.pythonhosted.org/packages/ff/df/84609ed874b5e6fcd3061a517bf4b6e4d0301f553baf9fa37bef2b509797/M2Crypto-0.36.0.tar.gz"
|
|
sha256 "1542c18e3ee5c01db5031d0b594677536963e3f54ecdf5315aeecb3a595b4dc1"
|
|
end
|
|
|
|
resource "pygraphviz" do
|
|
url "https://files.pythonhosted.org/packages/1e/19/acf3b8dbd378a2b38c6d9aaa6fa9fcd9f7b4aea5fcd3460014999ff92b3c/pygraphviz-1.6.zip"
|
|
sha256 "411ae84a5bc313e3e1523a1cace59159f512336318a510573b47f824edef8860"
|
|
end
|
|
|
|
def install
|
|
ENV["SWIG_FEATURES"]="-I#{Formula["openssl@1.1"].opt_include}"
|
|
|
|
virtualenv_install_with_resources
|
|
end
|
|
|
|
test do
|
|
(testpath/"example.com.zone.signed").write <<~EOS
|
|
; File written on Thu Jan 10 21:14:03 2019
|
|
; dnssec_signzone version 9.11.4-P2-3~bpo9+1-Debian
|
|
example.com. 3600 IN SOA example.com. root.example.com. (
|
|
1 ; serial
|
|
3600 ; refresh (1 hour)
|
|
3600 ; retry (1 hour)
|
|
14400 ; expire (4 hours)
|
|
3600 ; minimum (1 hour)
|
|
)
|
|
3600 RRSIG SOA 10 2 3600 (
|
|
20230110031403 20190111031403 39026 example.com.
|
|
D2WDMpH4Ip+yi2wQFmCq8iPWWdHo/vGig/rG
|
|
+509RbOLHbeFaO84PrPvw/dS6kjDupQbyG1t
|
|
8Hx0XzlvitBZjpYFq3bd/k0zU/S39IroeDfU
|
|
xR/BlI2bEaIPxgG2AulJjS6lnYigfko4AKfe
|
|
AqssO7P1jpiUUYtFpivK3ybl03o= )
|
|
3600 NS example.com.
|
|
3600 RRSIG NS 10 2 3600 (
|
|
20230110031403 20190111031403 39026 example.com.
|
|
bssTLRwAeyn0UtOjWKVbaJdq+lNbeOKBE2a4
|
|
QdR2lrgNDVenY8GciWarYcd5ldPfrfX5t5I9
|
|
QwiIsv/xAPgksVlmWcZGVDAAzzlglVhCg2Ys
|
|
J7YEcV2DDIMZLx2hm6gu9fKaMcqp8lhUSCBD
|
|
h4VTswLV1HoUDGYwEsjLEtiRin8= )
|
|
3600 A 127.0.0.1
|
|
3600 RRSIG A 10 2 3600 (
|
|
20230110031403 20190111031403 39026 example.com.
|
|
TH+PWGhFd3XL09IkCeAd0TNrWVsj+bAcQESx
|
|
F27lCgMnYYebiy86QmhEGzM+lu7KX1Vn15qn
|
|
2KnyEKofW+kFlCaOMZDmwBcU0PznBuGJ/oQ9
|
|
2OWe3X2bw5kMEQdxo7tjMlDo+v975VaZgbCz
|
|
od9pETQxdNBHkEfKmxWpenMi9PI= )
|
|
3600 AAAA ::1
|
|
3600 RRSIG AAAA 10 2 3600 (
|
|
20230110031403 20190111031403 39026 example.com.
|
|
qZM60MUJp95oVqQwdW03eoCe5yYu8hdpnf2y
|
|
Z7eyxTDg1qEgF+NUF6Spe8OKsu2SdTolT0CF
|
|
8X068IGTEr2rbFK/Ut1owQEyYuAnbNGBmg99
|
|
+yo1miPgxpHL/GbkMiSK7q6phMdF+LOmGXkQ
|
|
G3wbQ5LUn2R7uSPehDwXiRbD0V8= )
|
|
3600 NSEC example.com. A NS SOA AAAA RRSIG NSEC DNSKEY
|
|
3600 RRSIG NSEC 10 2 3600 (
|
|
20230110031403 20190111031403 39026 example.com.
|
|
Rdx/TmynYt0plItVI10plFis6PbsH29qyXBw
|
|
NLOEAMNLvU6IhCOlv7T8YxZWsamg3NyM0det
|
|
NgQqIFfJCfLEn2mzHdqfPeVqxyKgXF1mEwua
|
|
TZpE8nFw95buxV0cg67N8VF7PZX6zr1aZvEn
|
|
b022mYFpqaGMhaA6f++lGChDw80= )
|
|
3600 DNSKEY 256 3 10 (
|
|
AwEAAaqQ5dsqndLRH+9j/GbtUObxgAEvM7VH
|
|
/y12xjouBFnqTkAL9VvonNwYkFjnCZnIriyl
|
|
jOkNDgE4G8pYzYlK13EtxBDJrUoHU11ZdL95
|
|
ZQEpd8hWGqSG2KQiCYwAAhmG1qu+I+LtexBe
|
|
kNwT3jJ1BMgGB3xsCluUYHBeSlq9caU/
|
|
) ; ZSK; alg = RSASHA512 ; key id = 39026
|
|
3600 DNSKEY 257 3 10 (
|
|
AwEAAaLSZl7J7bJnFAcRrqWE7snJvJ1uzkS8
|
|
p1iq3ciHnt6rZJq47HYoP5TCnKgCpje/HtZt
|
|
L/7n8ixPjhgj8/GkfOwoWq5kU3JUN2uX6pBb
|
|
FhSsVeNe2JgEFtloZSMHhSU52yS009WcjZJV
|
|
O2QX2JXcLy0EMI2S4JIFLa5xtatXQ2/F
|
|
) ; KSK; alg = RSASHA512 ; key id = 34983
|
|
3600 RRSIG DNSKEY 10 2 3600 (
|
|
20230110031403 20190111031403 34983 example.com.
|
|
g1JfHNrvVch3pAX3/qHuiivUeSawpmO7h2Pp
|
|
Hqt9hPbR7jpzOxbOzLAxHopMR/xxXN1avyI5
|
|
dh23ySy1rbRMJprz2n09nYbK7m695u7P18+F
|
|
sCmI8pjqtpJ0wg/ltEQBCRNaYOrHvK+8NLvt
|
|
PGJqJru7+7aaRr1PP+ne7Wer+gE= )
|
|
EOS
|
|
(testpath/"example.com.zone-delegation").write <<~EOS
|
|
example.com. IN NS ns1.example.com.
|
|
ns1.example.com. IN A 127.0.0.1
|
|
example.com. IN DS 34983 10 1 EC358CFAAEC12266EF5ACFC1FEAF2CAFF083C418
|
|
example.com. IN DS 34983 10 2 608D3B089D79D554A1947BD10BEC0A5B1BDBE67B4E60E34B1432ED00 33F24B49
|
|
EOS
|
|
system "#{bin}/dnsviz", "probe", "-d", "0", "-A",
|
|
"-x", "example.com:example.com.zone.signed",
|
|
"-N", "example.com:example.com.zone-delegation",
|
|
"-D", "example.com:example.com.zone-delegation",
|
|
"-o", "example.com.json",
|
|
"example.com"
|
|
system "#{bin}/dnsviz", "graph", "-r", "example.com.json", "-Thtml", "-o", "/dev/null"
|
|
system "#{bin}/dnsviz", "grok", "-r", "example.com.json", "-o", "/dev/null"
|
|
system "#{bin}/dnsviz", "print", "-r", "example.com.json", "-o", "/dev/null"
|
|
end
|
|
end
|