summaryrefslogtreecommitdiffstats
path: root/debian/knot-resolver.preinst
blob: c6df754ae6d8f6ffd177f47758e8ace31e3c2c9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
# SPDX-License-Identifier: GPL-3.0-or-later
set -e

# upgrade-4-to-5
if [ -f /lib/systemd/system/kresd.socket ] ; then
       export UPG_DIR=/var/lib/knot-resolver/.upgrade-4-to-5
       mkdir -p ${UPG_DIR}
       touch ${UPG_DIR}/.unfinished

       for sock in kresd.socket kresd-tls.socket ; do
               if deb-systemd-helper is-enabled ${sock} 2>/dev/null | grep -qv masked ; then
                       #TODO: handle systems not running systemd
                       systemctl show ${sock} -p Listen > ${UPG_DIR}/${sock}
                       case "$(systemctl show ${sock} -p BindIPv6Only)" in
                       *ipv6-only)
                               touch ${UPG_DIR}/${sock}.v6only
                               ;;
                       *default)
                               if cat /proc/sys/net/ipv6/bindv6only | grep -q 1 ; then
                                       touch ${UPG_DIR}/${sock}.v6only
                               fi
                               ;;
                       esac
               fi
       done
fi

#DEBHELPER#