| #!/bin/sh -e |
| |
| create_hosts_file() { |
| if [ -e /etc/hosts ]; then return 0; fi |
| |
| cat > /etc/hosts <<-EOF |
| 127.0.0.1 localhost |
| ::1 localhost ip6-localhost ip6-loopback |
| fe00::0 ip6-localnet |
| ff00::0 ip6-mcastprefix |
| ff02::1 ip6-allnodes |
| ff02::2 ip6-allrouters |
| |
| EOF |
| } |
| |
| create_networks_file() { |
| if [ -e /etc/networks ]; then return 0; fi |
| |
| cat > /etc/networks <<-EOF |
| default 0.0.0.0 |
| loopback 127.0.0.0 |
| link-local 169.254.0.0 |
| |
| EOF |
| } |
| |
| update_rc() { |
| if [ -x /etc/init.d/networking ]; then |
| update-rc.d networking start 40 S . start 35 0 6 . > /dev/null |
| fi |
| } |
| |
| # create bindv6only.conf on new installs and upgrades from << 4.38 |
| create_bindv6only_conf() { |
| if [ -e /etc/sysctl.d/bindv6only.conf ]; then |
| return 0 |
| fi |
| [ "$(uname -s)" = "Linux" ] || return 0 |
| [ -d /etc/sysctl.d/ ] || mkdir /etc/sysctl.d/ |
| if [ "$2" ] && dpkg --compare-versions "$2" ge "4.38"; then |
| return 0 |
| fi |
| |
| cat >> /etc/sysctl.d/bindv6only.conf <<-EOF |
| # This sysctl sets the default value of the IPV6_V6ONLY socket option. |
| # |
| # When disabled, IPv6 sockets will also be able to send and receive IPv4 |
| # traffic with addresses in the form ::ffff:192.0.2.1 and daemons listening |
| # on IPv6 sockets will also accept IPv4 connections. |
| # |
| # When IPV6_V6ONLY is enabled, daemons interested in both IPv4 and IPv6 |
| # connections must open two listening sockets. |
| # This is the default behaviour of almost all modern operating systems. |
| |
| net.ipv6.bindv6only = 1 |
| EOF |
| } |
| |
| case "$1" in |
| configure) |
| if [ -z "$2" ]; then |
| create_hosts_file |
| create_networks_file |
| fi |
| update_rc |
| #create_bindv6only_conf "$@" |
| ;; |
| |
| abort-upgrade|abort-remove|abort-deconfigure) |
| ;; |
| |
| *) |
| echo "postinst called with unknown argument '$1'" >&2 |
| exit 1 |
| ;; |
| esac |
| |
| #DEBHELPER# |
| |