aboutsummaryrefslogtreecommitdiff
path: root/straper/db/public/network/etc-network/if-up.d/resolved
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukasz.kasprzak@pm.me>2026-04-14 22:32:43 +0200
committerLukasz Kasprzak <lukasz.kasprzak@pm.me>2026-04-14 22:32:43 +0200
commit83f7fe4b8402bab171d110703a1b1115efbc9b28 (patch)
tree19110702c7d740f6bd8ee4f5d2ebcb97442be237 /straper/db/public/network/etc-network/if-up.d/resolved
parent51d43498b07dc97d795947964534f0903cd05db5 (diff)
downloadbin-83f7fe4b8402bab171d110703a1b1115efbc9b28.tar.gz
bin-83f7fe4b8402bab171d110703a1b1115efbc9b28.zip
cleaned up many scrits and deleted some that were of no use; renamed a lot
Diffstat (limited to 'straper/db/public/network/etc-network/if-up.d/resolved')
-rwxr-xr-xstraper/db/public/network/etc-network/if-up.d/resolved131
1 files changed, 0 insertions, 131 deletions
diff --git a/straper/db/public/network/etc-network/if-up.d/resolved b/straper/db/public/network/etc-network/if-up.d/resolved
deleted file mode 100755
index e79f997..0000000
--- a/straper/db/public/network/etc-network/if-up.d/resolved
+++ /dev/null
@@ -1,131 +0,0 @@
-#!/bin/sh
-#
-# Script fragment to make ifupdown supply DNS information to resolved
-#
-
-case "$ADDRFAM" in
- inet|inet6) : ;;
- *) exit 0 ;;
-esac
-
-if systemctl is-enabled systemd-resolved > /dev/null 2>&1; then
- interface=$IFACE
- if [ ! "$interface" ]; then
- return
- fi
- # TODO handle lo interface settings
- if [ "$interface" = "lo" ]; then
- return
- fi
- ifindex=$(cat "/sys/class/net/$interface/ifindex")
- if [ ! "$ifindex" ]; then
- return
- fi
- mystatedir=/run/network
- mkdir -p $mystatedir
-
- statedir=/run/systemd/resolve/netif
- mkdir -p $statedir
- chown systemd-resolve:systemd-resolve $statedir
-
- oldstate="$(mktemp)"
- # ignore errors due to nonexistent file
- md5sum "$mystatedir/isc-dhcp-v4-$interface" "$mystatedir/isc-dhcp-v6-$interface" "$mystatedir/ifupdown-inet-$interface" "$mystatedir/ifupdown-inet6-$interface" > "$oldstate" 2> /dev/null || true
-
- NEW_DEFAULT_ROUTE=$IF_DNS_DEFAULT_ROUTE
- NEW_DNS=$(echo $IF_DNS_NAMESERVERS $IF_DNS_NAMESERVER)
- NEW_DOMAINS=$(echo $IF_DNS_DOMAIN $IF_DNS_SEARCH)
- DNS=DNS
- DOMAINS=DOMAINS
- if [ "$ADDRFAM" = "inet6" ]; then
- DNS=DNS6
- DOMAINS=DOMAINS6
- fi
- if [ -n "$NEW_DNS" ]; then
- cat <<EOF >"$mystatedir/ifupdown-${ADDRFAM}-$interface"
-$DNS="$NEW_DNS"
-EOF
- if [ -n "$NEW_DOMAINS" ]; then
- cat <<EOF >>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
-$DOMAINS="$NEW_DOMAINS"
-EOF
- fi
- fi
- case "$NEW_DEFAULT_ROUTE" in
- 1|yes|true|on) NEW_DEFAULT_ROUTE=yes ;;
- 0|no|false|off) NEW_DEFAULT_ROUTE=no ;;
- *) NEW_DEFAULT_ROUTE= ;;
- esac
- if [ -n "$NEW_DEFAULT_ROUTE" ]; then
- cat <<EOF >>"$mystatedir/ifupdown-${ADDRFAM}-$interface"
-DEFAULT_ROUTE="$NEW_DEFAULT_ROUTE"
-EOF
- fi
-
- newstate="$(mktemp)"
- # ignore errors due to nonexistent file
- md5sum "$mystatedir/isc-dhcp-v4-$interface" "$mystatedir/isc-dhcp-v6-$interface" "$mystatedir/ifupdown-inet-$interface" "$mystatedir/ifupdown-inet6-$interface" > "$newstate" 2> /dev/null || true
- if ! cmp --silent "$oldstate" "$newstate" 2>/dev/null; then
- unset DNS DNS6 DOMAINS DOMAINS6 DEFAULT_ROUTE
- # v4 first
- if [ -e "$mystatedir/isc-dhcp-v4-$interface" ]; then
- . "$mystatedir/isc-dhcp-v4-$interface"
- fi
- # v4 manual config overrides
- if [ -e "$mystatedir/ifupdown-inet-$interface" ]; then
- . "$mystatedir/ifupdown-inet-$interface"
- fi
- # v6 preffered
- if [ -e "$mystatedir/isc-dhcp-v6-$interface" ]; then
- . "$mystatedir/isc-dhcp-v6-$interface"
- fi
- # v6 manual config overrides
- if [ -e "$mystatedir/ifupdown-inet6-$interface" ]; then
- . "$mystatedir/ifupdown-inet6-$interface"
- fi
- resolvectl_failed=
- if [ "$DNS" ] || [ "$DNS6" ] ; then
- cat <<EOF >"$statedir/$ifindex"
-# This is private data. Do not parse.
-LLMNR=yes
-MDNS=no
-SERVERS=$(echo $DNS6 $DNS)
-DOMAINS=$(echo $DOMAINS6 $DOMAINS)
-EOF
- if [ -n "$DEFAULT_ROUTE" ]; then
- cat <<EOF >>"$statedir/$ifindex"
-DEFAULT_ROUTE=$DEFAULT_ROUTE
-EOF
- fi
- chown systemd-resolve:systemd-resolve "$statedir/$ifindex"
- # In addition to creating the state file (needed if we run before
- # resolved is started), also feed the information directly to
- # resolved.
- if systemctl --quiet is-active systemd-resolved; then
- resolvectl llmnr "$ifindex" yes || resolvectl_failed=$?
- resolvectl mdns "$ifindex" no || resolvectl_failed=$?
- if [ "$DOMAINS6" ] || [ "$DOMAINS" ]; then
- resolvectl domain "$ifindex" $DOMAINS6 $DOMAINS || resolvectl_failed=$?
- else
- resolvectl domain "$ifindex" "" || resolvectl_failed=$?
- fi
- resolvectl dns "$ifindex" $DNS6 $DNS || resolvectl_failed=$?
- if [ "$DEFAULT_ROUTE" ]; then
- resolvectl default-route "$ifindex" $DEFAULT_ROUTE || resolvectl_failed=$?
- fi
- fi
- else
- rm -f "$statedir/$ifindex"
- if systemctl --quiet is-active systemd-resolved; then
- resolvectl revert "$ifindex" || resolvectl_failed=$?
- fi
- fi
-
- # resolved was running, but without dbus, it means state files
- # will not be read & resolvectl commands failed, restart it
- if [ "$resolvectl_failed" ]; then
- systemctl try-restart systemd-resolved
- fi
- fi
- rm -f "$oldstate" "$newstate"
-fi