#!/bin/sh cd /etc/sysconfig/network-scripts . network-functions need_hostname CONFIG=$1 source_config DEVICETYPE=`echo $DEVICE | sed "s/[0-9]*$//"` REALDEVICE=`echo $DEVICE | sed 's/:.*//g'` if echo $DEVICE | grep -q ':' ; then ISALIAS=yes else ISALIAS=no fi if [ "$ISALIAS" = no ] ; then /etc/sysconfig/network-scripts/ifup-aliases ${DEVICE} fi /etc/sysconfig/network-scripts/ifup-routes ${DEVICE} # don't set hostname on ppp/slip connections if [ -n "$NEEDHOSTNAME" -a "${DEVICE}" != lo -a "${DEVICETYPE}" != "ppp" -a "${DEVICETYPE}" != "slip" ]; then IPADDR=`ifconfig ${DEVICE} | grep 'inet addr' | awk -F: '{ print $2 } ' | awk '{ print $1 }'` eval `/bin/ipcalc --silent --hostname ${IPADDR}` && set_hostname $HOSTNAME fi if [ "$DEVICETYPE" = ppp -a "$PEERDNS" != no -a -n "$DNS1" ] && tr=`mktemp /tmp/resolv.XXXXXX` ; then # replace only the first two nameserver lines; cannot count on awk # and do not know if sed is capable of this... current_replacement="$DNS1" next_replacement="$DNS2" while read answer < /etc/resolv.conf ; do case $answer in nameserver*) if [ -n "$current_replacement" ] ; then echo "nameserver $current_replacement" >> $tr if [ -n "$next_replacement" ] ; then current_replacement="$next_replacement" next_replacement= else current_replacement= fi else echo "$answer" >> $tr fi ;; *) echo "$answer" >> $tr ;; esac done # maintain permissions cat $tr > /etc/resolv.conf rm -f $tr fi # Notify programs that have requested notification do_netreport if [ -x /sbin/ifup-local ]; then /sbin/ifup-local ${DEVICE} fi exit 0