2009-07-24 03:07:41 +00:00
|
|
|
#!/bin/bash
|
|
|
|
# run dhclient.d scripts in an emulated environment
|
|
|
|
|
2009-08-12 21:04:26 +00:00
|
|
|
PATH=/bin:/usr/bin:/sbin
|
2009-07-24 03:07:41 +00:00
|
|
|
SAVEDIR=/var/lib/dhclient
|
|
|
|
ETCDIR=/etc/dhcp
|
|
|
|
interface=$1
|
|
|
|
|
2018-05-18 07:51:01 +00:00
|
|
|
for optname in "${!DHCP4_@}"; do
|
|
|
|
newoptname=${optname,,};
|
|
|
|
newoptname=new_${newoptname#dhcp4_};
|
|
|
|
export $newoptname="${!optname}";
|
2009-07-24 03:07:41 +00:00
|
|
|
done
|
|
|
|
|
2009-08-12 21:04:26 +00:00
|
|
|
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
|
|
|
|
|
2009-07-24 03:07:41 +00:00
|
|
|
[ -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
|