9acb893
#!/bin/bash
9acb893
# run dhclient.d scripts in an emulated environment
9acb893
c3909ac
PATH=/bin:/usr/bin:/sbin
9acb893
SAVEDIR=/var/lib/dhclient
9acb893
ETCDIR=/etc/dhcp
9acb893
interface=$1
9acb893
9acb893
eval "$(
9acb893
declare | LC_ALL=C grep '^DHCP4_[A-Z_]*=' | while read opt; do
c3909ac
    optname=${opt%%=*}
c3909ac
    optname=${optname,,}
9acb893
    optname=new_${optname#dhcp4_}
9acb893
    optvalue=${opt#*=}
ab840f8
    echo "export $optname=$optvalue"
ab840f8
9acb893
done
9acb893
)"
9acb893
c3909ac
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
c3909ac
9acb893
[ -f /etc/sysconfig/network-scripts/ifcfg-$interface ] && \
9acb893
    . /etc/sysconfig/network-scripts/ifcfg-$interface
9acb893
9acb893
if [ -d $ETCDIR/dhclient.d ]; then
9acb893
    for f in $ETCDIR/dhclient.d/*.sh; do
9acb893
        if [ -x $f ]; then
9acb893
            subsystem="${f%.sh}"
9acb893
            subsystem="${subsystem##*/}"
9acb893
            . ${f}
9acb893
            if [ "$2" = "up" ]; then
9acb893
                "${subsystem}_config"
9acb893
            elif [ "$2" = "down" ]; then
9acb893
                "${subsystem}_restore"
9acb893
            fi
9acb893
        fi
9acb893
    done
9acb893
fi