2011-12-03 03:25:25 +00:00
|
|
|
class Bind < Formula
|
2015-05-19 00:00:59 +00:00
|
|
|
desc "Implementation of the DNS protocols"
|
2015-03-18 20:11:30 +00:00
|
|
|
homepage "https://www.isc.org/downloads/bind/"
|
2016-07-20 15:37:28 +00:00
|
|
|
url "https://ftp.isc.org/isc/bind9/9.10.4-P2/bind-9.10.4-P2.tar.gz"
|
|
|
|
mirror "https://fossies.org/linux/misc/dns/bind9/9.10.4-P2/bind-9.10.4-P2.tar.gz"
|
|
|
|
version "9.10.4-P2"
|
|
|
|
sha256 "b35b8af8fe030196d03b3e487f5ecd0c0836b5e124abc7a3ecd184740b444423"
|
2015-07-29 06:14:20 +00:00
|
|
|
head "https://source.isc.org/git/bind9.git"
|
2011-12-03 03:25:25 +00:00
|
|
|
|
2014-06-12 06:57:26 +00:00
|
|
|
bottle do
|
2016-09-04 22:38:06 +00:00
|
|
|
rebuild 1
|
2016-09-17 07:48:31 +00:00
|
|
|
sha256 "c3c2243b3da6731b79c657a997e1db57b813c3dae4ec42bead9bd374c1be41d7" => :sierra
|
2016-09-04 22:38:06 +00:00
|
|
|
sha256 "10134f5cd7bc0e624488940913e82f38d845bf395ed822d97d678731ead5b9b2" => :el_capitan
|
|
|
|
sha256 "cecf420ad46afde38c5052be2c6b4283af3b013d5467c95f377af12631acc018" => :yosemite
|
|
|
|
sha256 "718c67cce4fa804890ef830f4eb7124151ce785b120cf843cf83dbc5ccec1b25" => :mavericks
|
2014-06-12 06:57:26 +00:00
|
|
|
end
|
|
|
|
|
2014-03-30 02:20:26 +00:00
|
|
|
depends_on "openssl"
|
2015-07-17 17:18:18 +00:00
|
|
|
depends_on "json-c" => :optional
|
2011-12-03 03:25:25 +00:00
|
|
|
|
|
|
|
def install
|
2012-06-12 23:06:43 +00:00
|
|
|
ENV.libxml2
|
|
|
|
# libxml2 appends one inc dir to CPPFLAGS but bind ignores CPPFLAGS
|
2014-08-25 08:49:26 +00:00
|
|
|
ENV.append "CFLAGS", ENV.cppflags
|
2012-06-12 23:06:43 +00:00
|
|
|
|
2016-09-04 22:30:22 +00:00
|
|
|
# enable DNSSEC signature chasing in dig
|
|
|
|
ENV["STD_CDEFINES"] = "-DDIG_SIGCHASE=1"
|
|
|
|
|
2015-07-17 17:18:18 +00:00
|
|
|
json = build.with?("json-c") ? "yes" : "no"
|
2014-03-30 02:20:26 +00:00
|
|
|
system "./configure", "--prefix=#{prefix}",
|
|
|
|
"--enable-threads",
|
|
|
|
"--enable-ipv6",
|
2015-07-17 17:18:18 +00:00
|
|
|
"--with-openssl=#{Formula["openssl"].opt_prefix}",
|
|
|
|
"--with-libjson=#{json}"
|
2012-06-12 23:06:43 +00:00
|
|
|
|
2014-08-25 08:49:26 +00:00
|
|
|
# From the bind9 README: "Do not use a parallel "make"."
|
2012-06-12 23:06:43 +00:00
|
|
|
ENV.deparallelize
|
|
|
|
system "make"
|
2014-08-25 08:49:26 +00:00
|
|
|
system "make", "install"
|
2014-08-25 08:49:13 +00:00
|
|
|
|
2016-03-11 14:28:41 +00:00
|
|
|
(buildpath/"named.conf").write named_conf
|
2014-08-25 08:49:13 +00:00
|
|
|
system "#{sbin}/rndc-confgen", "-a", "-c", "#{buildpath}/rndc.key"
|
|
|
|
etc.install "named.conf", "rndc.key"
|
2011-12-03 03:25:25 +00:00
|
|
|
end
|
2013-10-25 19:16:04 +00:00
|
|
|
|
|
|
|
def post_install
|
2016-07-20 18:26:50 +00:00
|
|
|
(var/"log/named").mkpath
|
2014-08-25 08:49:26 +00:00
|
|
|
|
|
|
|
# Create initial configuration/zone/ca files.
|
|
|
|
# (Mirrors Apple system install from 10.8)
|
2016-03-11 14:28:41 +00:00
|
|
|
unless (var/"named").exist?
|
|
|
|
(var/"named").mkpath
|
|
|
|
(var/"named/localhost.zone").write localhost_zone
|
|
|
|
(var/"named/named.local").write named_local
|
2013-10-25 19:16:04 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def named_conf; <<-EOS.undent
|
|
|
|
//
|
|
|
|
// Include keys file
|
|
|
|
//
|
|
|
|
include "#{etc}/rndc.key";
|
|
|
|
|
|
|
|
// Declares control channels to be used by the rndc utility.
|
|
|
|
//
|
|
|
|
// It is recommended that 127.0.0.1 be the only address used.
|
|
|
|
// This also allows non-privileged users on the local host to manage
|
|
|
|
// your name server.
|
|
|
|
|
|
|
|
//
|
|
|
|
// Default controls
|
|
|
|
//
|
|
|
|
controls {
|
2014-03-30 11:56:08 +00:00
|
|
|
inet 127.0.0.1 port 54 allow { any; }
|
2013-10-25 19:16:04 +00:00
|
|
|
keys { "rndc-key"; };
|
|
|
|
};
|
|
|
|
|
|
|
|
options {
|
|
|
|
directory "#{var}/named";
|
|
|
|
/*
|
|
|
|
* If there is a firewall between you and nameservers you want
|
|
|
|
* to talk to, you might need to uncomment the query-source
|
|
|
|
* directive below. Previous versions of BIND always asked
|
|
|
|
* questions using port 53, but BIND 8.1 uses an unprivileged
|
|
|
|
* port by default.
|
|
|
|
*/
|
|
|
|
// query-source address * port 53;
|
|
|
|
};
|
|
|
|
//
|
|
|
|
// a caching only nameserver config
|
|
|
|
//
|
|
|
|
zone "localhost" IN {
|
|
|
|
type master;
|
|
|
|
file "localhost.zone";
|
|
|
|
allow-update { none; };
|
|
|
|
};
|
|
|
|
|
|
|
|
zone "0.0.127.in-addr.arpa" IN {
|
|
|
|
type master;
|
|
|
|
file "named.local";
|
|
|
|
allow-update { none; };
|
|
|
|
};
|
|
|
|
|
|
|
|
logging {
|
|
|
|
category default {
|
|
|
|
_default_log;
|
|
|
|
};
|
|
|
|
|
|
|
|
channel _default_log {
|
|
|
|
file "#{var}/log/named/named.log";
|
|
|
|
severity info;
|
|
|
|
print-time yes;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
|
|
|
|
def localhost_zone; <<-EOS.undent
|
|
|
|
$TTL 86400
|
|
|
|
$ORIGIN localhost.
|
|
|
|
@ 1D IN SOA @ root (
|
|
|
|
42 ; serial (d. adams)
|
|
|
|
3H ; refresh
|
|
|
|
15M ; retry
|
|
|
|
1W ; expiry
|
|
|
|
1D ) ; minimum
|
|
|
|
|
|
|
|
1D IN NS @
|
|
|
|
1D IN A 127.0.0.1
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
|
|
|
|
def named_local; <<-EOS.undent
|
|
|
|
$TTL 86400
|
|
|
|
@ IN SOA localhost. root.localhost. (
|
|
|
|
1997022700 ; Serial
|
|
|
|
28800 ; Refresh
|
|
|
|
14400 ; Retry
|
|
|
|
3600000 ; Expire
|
|
|
|
86400 ) ; Minimum
|
|
|
|
IN NS localhost.
|
|
|
|
|
|
|
|
1 IN PTR localhost.
|
|
|
|
EOS
|
|
|
|
end
|
|
|
|
|
2016-09-18 14:18:50 +00:00
|
|
|
plist_options startup: true
|
2013-10-25 19:16:04 +00:00
|
|
|
|
|
|
|
def plist; <<-EOS.undent
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
|
|
<plist version="1.0">
|
|
|
|
<dict>
|
|
|
|
<key>EnableTransactions</key>
|
|
|
|
<true/>
|
|
|
|
<key>Label</key>
|
|
|
|
<string>#{plist_name}</string>
|
|
|
|
<key>RunAtLoad</key>
|
|
|
|
<true/>
|
|
|
|
<key>ProgramArguments</key>
|
|
|
|
<array>
|
2014-03-06 05:28:31 +00:00
|
|
|
<string>#{opt_sbin}/named</string>
|
2013-10-25 19:16:04 +00:00
|
|
|
<string>-f</string>
|
|
|
|
<string>-c</string>
|
|
|
|
<string>#{etc}/named.conf</string>
|
|
|
|
</array>
|
|
|
|
<key>ServiceIPC</key>
|
|
|
|
<false/>
|
|
|
|
</dict>
|
|
|
|
</plist>
|
|
|
|
EOS
|
|
|
|
end
|
2015-09-03 16:21:22 +00:00
|
|
|
|
|
|
|
test do
|
|
|
|
system bin/"dig", "-v"
|
|
|
|
system bin/"dig", "brew.sh"
|
|
|
|
end
|
2011-12-03 03:25:25 +00:00
|
|
|
end
|