#!/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 [ "$2" = "boot" -a -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 [ "$PEERDNS" != no -a -n "$DNS1" ] && ! grep -q "^nameserver $DNS1" /etc/resolv.conf && 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" (cat /etc/resolv.conf ; echo EOF ; echo EOF) | while read answer ; do case $answer in nameserver*|EOF) 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 if [ $answer != EOF ] ; then echo "$answer" >> $tr fi 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