Dodana ovisnost o ipcalc i carnet-tools-cn, popravak postinsta
[fail2ban-cn.git] / debian / postinst
1 #!/bin/sh
2
3 set -e
4 [ "$1" = "configure" ] || exit 0
5 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx
6
7 # Load CARNet Tools
8 . /usr/share/carnet-tools/functions.sh
9
10 CONF="/etc/fail2ban/jail.conf"
11
12 if [ -e "$CONF" ]; then
13     # enable ssh, pam-generic, sasl, proftpd and vsftpd service
14     echo "CN: Enabling SSH, PAM-generic, SASL and Dovecot support..."
15     perl -ne 'if (/^\[(ssh|pam-generic|sasl|dovecot)\]/ .. /^enabled/) { $_ =~ s/^enabled\s+=\s+false/enabled  = true/gi }; print $_' "$CONF" > "$CONF.$$" && \
16         cp_mv "$CONF.$$" "$CONF"
17     rm -f "$CONF.$$"
18
19     if [ -f /var/log/vsftpd.log ]; then
20       echo "CN: Enabling vsftpd support..."
21       perl -ne 'if (/^\[vsftpd\]/ .. /^enabled/) { $_ =~ s/^enabled\s+=\s+false/enabled  = true/gi }; print $_' "$CONF" > "$CONF.$$" && \
22           cp_mv "$CONF.$$" "$CONF"
23       rm -f "$CONF.$$"
24     else
25       echo "CN: Disabling vsftpd support..."
26       perl -ne 'if (/^\[vsftpd\]/ .. /^enabled/) { $_ =~ s/^enabled\s+=\s+true/enabled  = false/gi }; print $_' "$CONF" > "$CONF.$$" && \
27           cp_mv "$CONF.$$" "$CONF"
28       rm -f "$CONF.$$"
29     fi
30
31     if [ -f /var/log/proftpd/proftpd.log ]; then
32       echo "CN: Enabling ProFTPD support..."
33       perl -ne 'if (/^\[proftpd\]/ .. /^enabled/) { $_ =~ s/^enabled\s+=\s+false/enabled  = true/gi }; print $_' "$CONF" > "$CONF.$$" && \
34           cp_mv "$CONF.$$" "$CONF"
35       rm -f "$CONF.$$"
36    else
37       echo "CN: Disabling ProFTPD support..."
38       perl -ne 'if (/^\[proftpd\]/ .. /^enabled/) { $_ =~ s/^enabled\s+=\s+true/enabled  = false/gi }; print $_' "$CONF" > "$CONF.$$" && \
39           cp_mv "$CONF.$$" "$CONF"
40       rm -f "$CONF.$$"
41     fi
42
43     # postfix-sasl in jessie, not sasl anymore
44     cp_check_and_sed 'filter[ ]*=[ ]*sasl' \
45                      's/^filter[ ]*=[ ]*sasl/filter     = postfix-sasl/gi' \
46                      "$CONF" && echo "CN: Fixing sasl to postfix-sasl..." || true
47
48     # add network address and class if needed
49     cp_get_netaddr || true
50     NETADDR="$RET"
51     IGNOREIP=$(grep '^ignoreip' "$CONF")
52     if ! echo "$IGNOREIP" | grep -q "$NETADDR"; then
53        echo "CN: Enabling local IP ranges exclusion..."
54        cp_check_and_sed '^ignoreip' \
55             "s;^\(ignoreip.*\)$;\1 $NETADDR;g" "$CONF" || true
56     fi
57 fi
58
59 # restart the services
60 service fail2ban restart || exit $?
61
62 # dh_installdeb will replace this with shell code automatically
63 # generated by other debhelper scripts.
64
65 #DEBHELPER#
66
67 exit 0