xref: /minix3/external/bsd/dhcp/dist/client/scripts/nextstep (revision 83ee113ee0d94f3844d44065af2311604e9a30ad)
1*83ee113eSDavid van Moolenbroek#!/bin/sh
2*83ee113eSDavid van Moolenbroek#
3*83ee113eSDavid van Moolenbroek# simplified dhclient-script for NeXTSTEP/OPENSTEP
4*83ee113eSDavid van Moolenbroek#
5*83ee113eSDavid van Moolenbroek# removed a lot of the cruft from the netbsd version since NeXTSTEP doesn't
6*83ee113eSDavid van Moolenbroek# support aliases and lots of things were breaking for no good reason
7*83ee113eSDavid van Moolenbroek#
8*83ee113eSDavid van Moolenbroek# 14 Sep 1997, David W. Young
9*83ee113eSDavid van Moolenbroek#
10*83ee113eSDavid van Moolenbroekif [ x$reason = xPREINIT ]; then
11*83ee113eSDavid van Moolenbroek  ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 up >/dev/null 2>&1
12*83ee113eSDavid van Moolenbroek  exit 0
13*83ee113eSDavid van Moolenbroekfi
14*83ee113eSDavid van Moolenbroekif [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
15*83ee113eSDavid van Moolenbroek   [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then
16*83ee113eSDavid van Moolenbroek  current_hostname=`hostname`
17*83ee113eSDavid van Moolenbroek  if [ x$current_hostname = x ] || \
18*83ee113eSDavid van Moolenbroek     [ x$current_hostname = x$old_host_name ]; then
19*83ee113eSDavid van Moolenbroek    if [ x$current_hostname = x ] || \
20*83ee113eSDavid van Moolenbroek       [ x$new_host_name != x$old_host_name ]; then
21*83ee113eSDavid van Moolenbroek      hostname $new_host_name
22*83ee113eSDavid van Moolenbroek    fi
23*83ee113eSDavid van Moolenbroek  fi
24*83ee113eSDavid van Moolenbroek
25*83ee113eSDavid van Moolenbroek  if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]
26*83ee113eSDavid van Moolenbroek   then
27*83ee113eSDavid van Moolenbroek    ifconfig $interface $new_ip_address netmask $new_subnet_mask \
28*83ee113eSDavid van Moolenbroek			>/dev/null 2>&1
29*83ee113eSDavid van Moolenbroek    route add $new_ip_address 127.1 0 >/dev/null 2>&1
30*83ee113eSDavid van Moolenbroek    for router in $new_routers ; do
31*83ee113eSDavid van Moolenbroek      route add default $router 1 >/dev/null 2>&1
32*83ee113eSDavid van Moolenbroek    done
33*83ee113eSDavid van Moolenbroek  fi
34*83ee113eSDavid van Moolenbroek  if [ x"$new_domain_name_servers" != x ]; then
35*83ee113eSDavid van Moolenbroek    cat /dev/null > /etc/resolv.conf.dhclient
36*83ee113eSDavid van Moolenbroek    if [ "x$new_domain_search" != x ]; then
37*83ee113eSDavid van Moolenbroek      echo search $new_domain_search >> /etc/resolv.conf.dhclient
38*83ee113eSDavid van Moolenbroek    elif [ "x$new_domain_name" != x ]; then
39*83ee113eSDavid van Moolenbroek      # Note that the DHCP 'Domain Name Option' is really just a domain
40*83ee113eSDavid van Moolenbroek      # name, and that this practice of using the domain name option as
41*83ee113eSDavid van Moolenbroek      # a search path is both nonstandard and deprecated.
42*83ee113eSDavid van Moolenbroek      echo search $new_domain_name >> /etc/resolv.conf.dhclient
43*83ee113eSDavid van Moolenbroek    fi
44*83ee113eSDavid van Moolenbroek    for nameserver in $new_domain_name_servers; do
45*83ee113eSDavid van Moolenbroek      echo nameserver $nameserver >>/etc/resolv.conf.dhclient
46*83ee113eSDavid van Moolenbroek    done
47*83ee113eSDavid van Moolenbroek
48*83ee113eSDavid van Moolenbroek    mv /etc/resolv.conf.dhclient /etc/resolv.conf
49*83ee113eSDavid van Moolenbroek  fi
50*83ee113eSDavid van Moolenbroek  exit 0
51*83ee113eSDavid van Moolenbroekfi
52*83ee113eSDavid van Moolenbroekif [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \
53*83ee113eSDavid van Moolenbroek   || [ x$reason = xSTOP ]; then
54*83ee113eSDavid van Moolenbroek  if [ x$old_ip_address != x ]; then
55*83ee113eSDavid van Moolenbroek    route delete $old_ip_address 127.1 >/dev/null 2>&1
56*83ee113eSDavid van Moolenbroek    for $router in $old_routers ; do
57*83ee113eSDavid van Moolenbroek      route delete default $router >/dev/null 2>&1
58*83ee113eSDavid van Moolenbroek    done
59*83ee113eSDavid van Moolenbroek  fi
60*83ee113eSDavid van Moolenbroek  exit 0
61*83ee113eSDavid van Moolenbroekfi
62