2 # postinst script for bind9-cn
4 # see: dh_installdeb(1)
8 # summary of how this script can be called:
9 # * <postinst> `configure' <most-recently-configured-version>
10 # * <old-postinst> `abort-upgrade' <new version>
11 # * <conflictor's-postinst> `abort-remove' `in-favour' <package>
13 # * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
14 # <failed-install-package> <version> `removing'
15 # <conflicting-package> <version>
16 # for details, see http://www.debian.org/doc/debian-policy/ or
17 # the debian-policy package
21 configure|reconfigure)
31 . /usr/share/carnet-tools/functions.sh
33 echo "CN: Making sample configurations in /usr/share/doc/bind9-cn/examples"
34 echo "CN: Make sure you change them appropriately *before* running Bind9 service!"
41 CARNET_HOSTNAME=`hostname`
42 CARNET_DOMAINNAME=`hostname --domain`
43 CARNET_REV=`echo $CARNET_IPADDR | awk -F. '{ print $3 "." $2 "." $1 ".in-addr.arpa" }'`
44 SERNO=`date +%Y%m%d01`
45 BROJ=`echo $CARNET_IPADDR | cut -d. -f4`
47 echo "CN: Generating Bind9 examples in /usr/share/doc/bind9-cn/examples"
49 # make example named.conf.local
50 cat > /usr/share/doc/bind9-cn/examples/named.conf.local <<EOF
51 zone "$CARNET_DOMAINNAME" in {
53 file "/etc/bind/hosts.db";
56 zone "$CARNET_REV" in {
58 file "/etc/bind/hosts.rev";
62 # make example named.conf.options
63 cat > /usr/share/doc/bind9-cn/examples/named.conf.options <<EOF
77 directory "/etc/bind";
79 allow-transfer { xfer; };
80 allow-recursion { trusted; };
81 version "No version.";
82 transfer-format many-answers;
83 max-transfer-time-in 90;
86 listen-on-v6 { none; };
90 category lame-servers { null; };
94 # make example hosts.db
95 cat > /usr/share/doc/bind9-cn/examples/hosts.db <<EOF
97 @ SOA $CARNET_HOSTNAME.$CARNET_DOMAINNAME. hostmaster.$CARNET_HOSTNAME.$CARNET_DOMAINNAME. (
103 NS $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
106 MX 5 $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
108 localhost.$CARNET_DOMAINNAME. A 127.0.0.1
109 $CARNET_HOSTNAME.$CARNET_DOMAINNAME. A $CARNET_IPADDR
111 dns CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
112 ns CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
113 www CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
114 proxy CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
115 mail CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
116 smtp CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
117 pop CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
118 imap CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
119 ftp CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
120 ntp CNAME $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
123 # make example hosts.rev
124 cat > /usr/share/doc/bind9-cn/examples/hosts.rev <<EOF
126 @ SOA $CARNET_HOSTNAME.$CARNET_DOMAINNAME. hostmaster.$CARNET_HOSTNAME.$CARNET_DOMAINNAME. (
132 NS $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
135 $BROJ PTR $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
139 cat > /usr/share/doc/bind9-cn/examples/hosts <<EOF
140 # /etc/hosts - names & shortcuts to various hosts
141 127.0.0.1 localhost.$CARNET_DOMAINNAME localhost
142 $CARNET_IPADDR $CARNET_HOSTNAME.$CARNET_DOMAINNAME $CARNET_HOSTNAME
145 # make example resolv.conf
146 cat > /usr/share/doc/bind9-cn/examples/resolv.conf <<EOF
147 search $CARNET_DOMAINNAME
149 nameserver 161.53.123.3
150 nameserver 161.53.160.3
153 # check if named.conf has lame server logging
154 script='/^logging/,/^}/ { if ($0 ~ /category lame-servers/) { print "yes"; exit } }'
156 if [ -e /etc/bind/named.conf.options -a -e /etc/bind/named.conf ]; then
157 lameconf=$(cat /etc/bind/named.conf /etc/bind/named.conf.options | awk "$script")
159 if [ -e /etc/bind/named.conf ]; then
160 lameconf=$(awk "$script" /etc/bind/named.conf)
163 if [ "x$lameconf" != "xyes" ]; then
164 if [ ! -e /etc/bind/named.conf.options ]; then
165 touch /etc/bind/named.conf.options
167 cp /etc/bind/named.conf.options /etc/bind/named.conf.options.$$
168 cp-update bind9-cn /etc/bind/named.conf.options.$$ <<EOF
170 category lame-servers { null; };
173 cp_mv /etc/bind/named.conf.options.$$ /etc/bind/named.conf.options
176 echo "CN: Added lame-servers logging exclusion to named.conf.options"
177 rndc reload || echo "CN: Reload didn't work, please check manually"
180 if [ -e /etc/bind/named.conf.options ] && \
181 fgrep -q 'query-source address * port 53' \
182 /etc/bind/named.conf.options; then
183 fgrep -v 'query-source address * port 53' \
184 /etc/bind/named.conf.options > /etc/bind/named.conf.options.$$
185 cp_mv /etc/bind/named.conf.options.$$ /etc/bind/named.conf.options
186 echo "CN: Removing obsolete query-source directive"
187 rndc reload || echo "CN: Reload didn't work, please check manually"
190 # dh_installdeb will replace this with shell code automatically
191 # generated by other debhelper scripts.