diff --git a/contrib/Sisyphus.spec b/contrib/Sisyphus.spec index 9395643..a8b882e 100644 diff --git a/etc/net/scripts/functions b/etc/net/scripts/functions index a23522d..547289f 100644 --- a/etc/net/scripts/functions +++ b/etc/net/scripts/functions @@ -27,6 +27,7 @@ DEFAULT_IFENSLAVE=/sbin/ifenslave DEFAULT_TUNCTL=/usr/sbin/tunctl DEFAULT_BRCTL=/usr/sbin/brctl DEFAULT_ETHTOOL=/usr/sbin/ethtool +DEFAULT_RESOLVCONFTOOL=/sbin/resolvconf DEFAULT_PPPD=/usr/sbin/pppd DEFAULT_CHAT=/usr/sbin/chat DEFAULT_PPPOPTIONSFILE=pppoptions @@ -559,7 +560,7 @@ declare -rx VLANTAB HOSTTAB IFTAB PROFILE_FILE PROC_CMDLINE DEFAULT_IFPLUGSTATUS declare -rx DEFAULT_IFPLUGD DEFAULT_IWCONFIG DEFAULT_WLANCONFIG DEFAULT_WPA_SUPPLICANT DEFAULT_WPA_CLI DEFAULT_PLIPCONFIG declare -rx DEFAULT_IWPRIV DEFAULT_VCONFIG DEFAULT_PENTANETT DEFAULT_PENTAVALT DEFAULT_PENTANET_CONF declare -rx DEFAULT_PENTAVAL_CONF DEFAULT_IPSECADM DEFAULT_IFENSLAVE DEFAULT_BRCTL -declare -rx DEFAULT_ETHTOOL DEFAULT_PPPD DEFAULT_CHAT DEFAULT_PPPOPTIONSFILE +declare -rx DEFAULT_ETHTOOL DEFAULT_RESOLVCONFTOOL DEFAULT_PPPD DEFAULT_CHAT DEFAULT_PPPOPTIONSFILE declare -rx DEFAULT_PPPINITCHAT DEFAULT_PPPCONNECTCHAT DEFAULT_PPPDISCONNECTCHAT declare -rx DEFAULT_CHATOPTIONS DEFAULT_PPPOE DEFAULT_PPPOEOPTIONS DEFAULT_PPTP declare -rx DEFAULT_SZAP DEFAULT_SZAP_ARGS DEFAULT_DVBNET DEFAULT_PAND diff --git a/etc/net/scripts/ifdown b/etc/net/scripts/ifdown index 33e37ae..1d4cd43 100755 --- a/etc/net/scripts/ifdown +++ b/etc/net/scripts/ifdown @@ -144,6 +144,12 @@ if iface_is_up $NAME; then ExecIfExecutable $LOCALSCRIPTDIR/ifdown-pre-local $NAME && print_progress ExecIfExecutable $MYIFACEDIR/ifdown-pre $NAME && print_progress $IP link set dev $NAME down && print_progress + # handle resolver config + MYRESOLVCONF=`profiled_filename $MYIFACEDIR/resolv.conf` + if [ -s $MYRESOLVCONF -a -x "${RESOLVCONFTOOL:=$DEFAULT_RESOLVCONFTOOL}" ]; then + $RESOLVCONFTOOL -d $NAME + print_progress + fi fi ExecIfExecutable $LOCALSCRIPTDIR/ifdown-post-local $NAME && print_progress ExecIfExecutable $MYIFACEDIR/ifdown-post $NAME && print_progress diff --git a/etc/net/scripts/ifup-common b/etc/net/scripts/ifup-common index 5a897f7..3487e5a 100755 --- a/etc/net/scripts/ifup-common +++ b/etc/net/scripts/ifup-common @@ -232,15 +232,6 @@ is_yes "$CONFIG_FW" && $SCRIPTDIR/config-fw $NAME start "${IPV4ADDRESS[*]}" "$ is_yes "$CONFIG_QOS" && $SCRIPTDIR/config-qos $NAME start "${IPV4ADDRESS[*]}" "${IPV6ADDRESS[*]}" -# handle resolver config -MYRESOLVCONF=`profiled_filename $MYIFACEDIR/resolv.conf` -if [ -s $MYRESOLVCONF ]; then - rm -f /etc/resolv.conf - cp $MYRESOLVCONF /etc/resolv.conf - [ -x "$RESOLV_POSTIN_CMD" ] && $RESOLV_POSTIN_CMD $RESOLV_POSTIN_ARGS - print_progress -fi - # handle sysctl file GLOBAL_SYSCTL=`profiled_filename $IFACEDIR/sysctl.conf` TYPESPEC_SYSCTL=`profiled_filename $IFACEDIR/default/sysctl.conf-$TYPE` @@ -254,6 +245,18 @@ ExecIfExecutable $SCRIPTDIR/setup-$TYPE $NAME && print_progress # ifup-post iface_is_up $NAME && { +# handle resolver config + MYRESOLVCONF=`profiled_filename $MYIFACEDIR/resolv.conf` + if [ -s $MYRESOLVCONF ]; then + if [ -x "${RESOLVCONFTOOL:=$DEFAULT_RESOLVCONFTOOL}" ]; then + $RESOLVCONFTOOL -a $NAME < $MYRESOLVCONF + else + rm -f /etc/resolv.conf + cp $MYRESOLVCONF /etc/resolv.conf + [ -x "$RESOLV_POSTIN_CMD" ] && $RESOLV_POSTIN_CMD $RESOLV_POSTIN_ARGS + fi + print_progress + fi ExecIfExecutable $LOCALSCRIPTDIR/ifup-post-local $NAME && print_progress ExecIfExecutable $MYIFACEDIR/ifup-post $NAME && print_progress }