izmjene u postinstu
[bind9-cn.git] / debian / postinst
1 #!/bin/sh
2
3 set -e
4
5 [ "$1" = "configure" ] || exit 0
6 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx
7
8 # Load CARNet Tools
9 . /usr/share/carnet-tools/functions.sh
10
11 echo "CN: Making sample configurations in /usr/share/doc/bind9-cn/examples"
12 echo "CN: Make sure you change them appropriately *before* running Bind9 service!"
13
14 #variables
15 cp_get_ifaddr
16 CARNET_IPADDR=$RET
17 cp_get_netaddr
18 CARNET_NETADDR=$RET
19 CARNET_HOSTNAME=`hostname`
20 CARNET_DOMAINNAME=`hostname --domain`
21 CARNET_REV=`echo $CARNET_IPADDR | awk -F. '{ print $3 "." $2 "." $1 ".in-addr.arpa" }'`
22 SERNO=`date +%Y%m%d01`
23 BROJ=`echo $CARNET_IPADDR | cut -d. -f4`
24
25 echo "CN: Generating Bind9 examples in /usr/share/doc/bind9-cn/examples"
26
27 # make example named.conf.local
28 cat > /usr/share/doc/bind9-cn/examples/named.conf.local <<EOF
29 zone "$CARNET_DOMAINNAME" in {
30     type master;
31     file "/etc/bind/hosts.db";
32 };
33
34 zone "$CARNET_REV" in {
35     type master;
36     file "/etc/bind/hosts.rev";
37 };
38 EOF
39
40 # make example named.conf.options
41 cat > /usr/share/doc/bind9-cn/examples/named.conf.options <<EOF
42 acl "xfer" {
43     161.53.2.70;
44     161.53.123.3;
45     161.53.3.7;
46     127.0.0.1;
47 };
48
49 acl "trusted" {
50     $CARNET_NETADDR;
51     127.0.0.0/8;
52 };
53
54 options {
55     directory "/etc/bind";
56     auth-nxdomain no;
57     allow-transfer { xfer; };
58     allow-recursion { trusted; };
59     version "No version.";
60     transfer-format many-answers;
61     max-transfer-time-in 90;
62     interface-interval 0;
63     notify yes;
64     listen-on-v6 { none; };
65 };
66
67 logging {
68     category lame-servers { null; };
69 };
70 EOF
71
72 # make example hosts.db
73 cat > /usr/share/doc/bind9-cn/examples/hosts.db <<EOF
74 \$TTL 86400
75 @  SOA  $CARNET_HOSTNAME.$CARNET_DOMAINNAME. hostmaster.$CARNET_HOSTNAME.$CARNET_DOMAINNAME. (
76     $SERNO   ; Serial
77     28800    ; Refresh
78     7200     ; Retry
79     604800   ; Expire
80     86400 )  ; Minimum
81     NS  $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
82     NS  bjesomar.srce.hr.
83     A   $CARNET_IPADDR
84     MX  5   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
85
86 localhost.$CARNET_DOMAINNAME.   A       127.0.0.1
87 $CARNET_HOSTNAME.$CARNET_DOMAINNAME.      A     $CARNET_IPADDR
88
89 dns         CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
90 ns          CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
91 www         CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
92 proxy       CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
93 mail        CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
94 smtp        CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
95 pop         CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
96 imap        CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
97 ftp         CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
98 ntp         CNAME   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
99 EOF
100
101 # make example hosts.rev
102 cat > /usr/share/doc/bind9-cn/examples/hosts.rev <<EOF
103 \$TTL 86400
104 @  SOA  $CARNET_HOSTNAME.$CARNET_DOMAINNAME. hostmaster.$CARNET_HOSTNAME.$CARNET_DOMAINNAME. (
105     $SERNO       ; Serial
106     28800   ; Refresh
107     7200    ; Retry
108     604800  ; Expire
109     86400 ) ; Minimum
110     NS  $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
111     NS  bjesomar.srce.hr.
112
113 $BROJ   PTR   $CARNET_HOSTNAME.$CARNET_DOMAINNAME.
114 EOF
115
116 # make example hosts
117 cat > /usr/share/doc/bind9-cn/examples/hosts <<EOF
118 # /etc/hosts - names & shortcuts to various hosts
119 127.0.0.1       localhost.$CARNET_DOMAINNAME localhost
120 $CARNET_IPADDR      $CARNET_HOSTNAME.$CARNET_DOMAINNAME $CARNET_HOSTNAME
121 EOF
122
123 # make example resolv.conf
124 cat > /usr/share/doc/bind9-cn/examples/resolv.conf <<EOF
125 search $CARNET_DOMAINNAME
126 nameserver 127.0.0.1
127 nameserver 161.53.123.3
128 nameserver 161.53.160.3
129 EOF
130
131 # check if named.conf has lame server logging
132 script='/^logging/,/^}/ { if ($0 ~ /category lame-servers/) { print "yes"; exit } }'
133 lameconf=
134 if [ -e /etc/bind/named.conf.options -a -e /etc/bind/named.conf ]; then
135   lameconf=$(cat /etc/bind/named.conf /etc/bind/named.conf.options | awk "$script")
136 else
137     if [ -e /etc/bind/named.conf ]; then
138       lameconf=$(awk "$script" /etc/bind/named.conf)
139     fi
140 fi
141 if [ "x$lameconf" != "xyes" ]; then
142   if [ ! -e /etc/bind/named.conf.options ]; then
143     touch /etc/bind/named.conf.options
144   fi
145   cp /etc/bind/named.conf.options /etc/bind/named.conf.options.$$
146   cp-update bind9-cn /etc/bind/named.conf.options.$$ <<EOF
147 logging {
148     category lame-servers { null; };
149 };
150 EOF
151   cp_mv /etc/bind/named.conf.options.$$ /etc/bind/named.conf.options
152     
153   # reload
154   echo "CN: Added lame-servers logging exclusion to named.conf.options"
155   rndc reload || echo "CN: Reload didn't work, please check manually"
156 fi
157
158 if [ -e /etc/bind/named.conf.options ] && \
159     fgrep -q 'query-source address * port 53' \
160         /etc/bind/named.conf.options; then
161         fgrep -v 'query-source address * port 53' \
162             /etc/bind/named.conf.options > /etc/bind/named.conf.options.$$
163     cp_mv /etc/bind/named.conf.options.$$ /etc/bind/named.conf.options
164     echo "CN: Removing obsolete query-source directive"
165     rndc reload || echo "CN: Reload didn't work, please check manually"
166 fi
167
168 # dh_installdeb will replace this with shell code automatically
169 # generated by other debhelper scripts.
170
171 #DEBHELPER#
172
173 exit 0