ssahani / rpms / dhcp

Forked from rpms/dhcp 5 years ago
Clone
Blob Blame History Raw
#!/bin/bash
# run dhclient.d scripts in an emulated environment

PATH=/bin:/usr/bin:/sbin
ETCDIR=/etc/dhcp
SAVEDIR=/var/lib/dhclient
interface=$1

for optname in "${!DHCP4_@}"; do
    newoptname=${optname,,};
    newoptname=new_${newoptname#dhcp4_};
    export "${newoptname}"="${!optname}";
done

[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network

[ -f /etc/sysconfig/network-scripts/ifcfg-"${interface}" ] && \
    . /etc/sysconfig/network-scripts/ifcfg-"${interface}"

if [ -d $ETCDIR/dhclient.d ]; then
    for f in $ETCDIR/dhclient.d/*.sh; do
        if [ -x "${f}" ]; then
            subsystem="${f%.sh}"
            subsystem="${subsystem##*/}"
            . "${f}"
            if [ "$2" = "up" ]; then
                "${subsystem}_config"
            elif [ "$2" = "down" ]; then
                "${subsystem}_restore"
            fi
        fi
    done
fi