Author: arekm                        Date: Sun Feb  3 19:12:17 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- updated to 4.0.0; handle ipv6, too

---- Files affected:
SOURCES:
   dhcp-dhclient.script.patch (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: SOURCES/dhcp-dhclient.script.patch
diff -u SOURCES/dhcp-dhclient.script.patch:1.2 
SOURCES/dhcp-dhclient.script.patch:1.3
--- SOURCES/dhcp-dhclient.script.patch:1.2      Mon Apr 16 18:19:35 2007
+++ SOURCES/dhcp-dhclient.script.patch  Sun Feb  3 20:12:12 2008
@@ -1,6 +1,6 @@
 --- dhcp-3.1.0a3/client/scripts/linux.orig     2006-07-22 04:24:16.000000000 
+0200
 +++ dhcp-3.1.0a3/client/scripts/linux  2007-04-16 17:25:06.000000000 +0200
-@@ -1,208 +1,227 @@
+@@ -1,290 +1,302 @@
 -#!/bin/bash
 +#!/bin/sh
  # dhclient-script for Linux. Dan Halbert, March, 1997.
@@ -26,6 +26,9 @@
 -
 -# 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious
 -# of the $1 in its args.
+-
+-# 'ip' just looks too weird.  /sbin/ip looks less weird.
+-ip=/sbin/ip
 +calc_prefix()
 +{
 +      local old_IFS=$IFS
@@ -69,6 +72,18 @@
 -    done
 -
 -    mv /etc/resolv.conf.dhclient /etc/resolv.conf
+-  elif [ "x${new_dhcp6_name_servers}" != x ] ; then
+-    cat /dev/null > /etc/resolv.conf.dhclient6
+-    chmod 644 /etc/resolv.conf.dhclient6
+-
+-    if [ "x${new_dhcp6_domain_search}" != x ] ; then
+-      echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
+-    fi
+-    for nameserver in ${new_dhcp6_name_servers} ; do
+-      echo nameserver ${nameserver} >> /etc/resolv.conf.dhclient6
+-    done
+-
+-    mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
 -  fi
 +      if [ -n "$new_domain_name_servers" ]; then
 +              :> /etc/resolv.conf.dhclient
@@ -85,6 +100,17 @@
 +                      echo nameserver $nameserver >>/etc/resolv.conf.dhclient
 +              done
 +              mv /etc/resolv.conf.dhclient /etc/resolv.conf
++      elif [ -n "${new_dhcp6_name_servers}" ] ; then
++              :> /etc/resolv.conf.dhclient6
++              chmod 644 /etc/resolv.conf.dhclient6
++
++              if [ "x${new_dhcp6_domain_search}" != x ] ; then
++                      echo search ${new_dhcp6_domain_search} >> 
/etc/resolv.conf.dhclient6
++              fi
++              for nameserver in ${new_dhcp6_name_servers} ; do
++                      echo nameserver ${nameserver} >> 
/etc/resolv.conf.dhclient6
++              done
++              mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
 +      fi
  }
  
@@ -115,13 +141,24 @@
 -  if [ $exit_status -ne 0 ]; then
 -    exit $exit_status
 -  fi
--fi
--
++      exit_status=0
++      . /etc/dhclient-enter-hooks
++      # allow the local script to abort processing of this state
++      # local script must set exit_status variable to nonzero.
++      if [ $exit_status -ne 0 ]; then
++              exit $exit_status
++      fi
+ fi
+ 
 -release=`uname -r`
 -release=`expr $release : '\(.*\)\..*'`
 -relminor=`echo $release |sed -e 's/[0-9]*\.\([0-9][0-9]*\)\(\..*\)*$/\1/'`
 -relmajor=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'`
 -
+ ###
+ ### DHCPv4 Handlers
+ ###
+ 
 -if [ x$new_broadcast_address != x ]; then
 -  new_broadcast_arg="broadcast $new_broadcast_address"
 -fi
@@ -229,7 +266,9 @@
 -    route add -host $alias_ip_address $interface:0
 -  fi
 -  exit_with_hooks 0
--fi
++if [ -n "$new_broadcast_address" ]; then
++      new_broadcast_arg="broadcast $new_broadcast_address"
+ fi
 -
 -if [ x$reason = xTIMEOUT ]; then
 -  if [ x$alias_ip_address != x ]; then
@@ -238,7 +277,6 @@
 -  ifconfig $interface inet $new_ip_address $new_subnet_arg \
 -                                      $new_broadcast_arg
 -  set $new_routers
--  ############## what is -w in ping?
 -  if ping -q -c 1 $1; then
 -    if [ x$new_ip_address != x$alias_ip_address ] && \
 -                      [ x$alias_ip_address != x ]; then
@@ -257,25 +295,25 @@
 -  fi
 -  ifconfig $interface inet 0 down
 -  exit_with_hooks 1
--fi
-+      exit_status=0
-+      . /etc/dhclient-enter-hooks
-+      # allow the local script to abort processing of this state
-+      # local script must set exit_status variable to nonzero.
-+      if [ $exit_status -ne 0 ]; then
-+              exit $exit_status
-+      fi
-+fi
-+
-+if [ -n "$new_broadcast_address" ]; then
-+      new_broadcast_arg="broadcast $new_broadcast_address"
-+fi
 +if [ -n "$old_broadcast_address" ]; then
 +      old_broadcast_arg="broadcast $old_broadcast_address"
-+fi
+ fi
+-
+-###
+-### DHCPv6 Handlers
+-###
+-
+-if [ ${reason} = PREINIT6 ] ; then
+-  # Ensure interface is up.
+-  ${ip} link set ${interface} up
+-
+-  # Remove any stale addresses from aborted clients.
+-  ${ip} -f inet6 addr flush dev ${interface} scope global permanent
+-
+-  exit_with_hooks 0
 +if [ -n "$new_subnet_mask" ]; then
 +      new_subnet_arg="$(calc_prefix $new_subnet_mask)"
-+fi
+ fi
 +if [ -n "$old_subnet_mask" ]; then
 +      old_subnet_arg="$(calc_prefix $old_subnet_mask)"
 +fi
@@ -412,6 +450,107 @@
 +      fi
 +      exit_with_hooks 1
 +      ;;
++
++  PREINIT6)
++      # Ensure interface is up.
++      /sbin/ip link set ${interface} up
++
++      # Remove any stale addresses from aborted clients.
++      /sbin/ip -f inet6 addr flush dev ${interface} scope global permanent
++
++      exit_with_hooks 0
++      ;;
++  BOUND6)
++      if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
++              exit_with_hooks 2;
++      fi
+ 
+-if [ ${reason} = BOUND6 ] ; then
+-  if [ x${new_ip6_address} = x ] || [ x${new_ip6_prefixlen} = x ] ; then
+-    exit_with_hooks 2;
+-  fi
+-
+-  ${ip} -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
++      /sbin/ip -f inet6 addr add ${new_ip6_address}/${new_ip6_prefixlen} \
+       dev ${interface} scope global
+ 
+-  # Check for nameserver options.
+-  make_resolv_conf
+-
+-  exit_with_hooks 0
+-fi
++      # Check for nameserver options.
++      make_resolv_conf
+ 
+-if [ ${reason} = RENEW6 ] || [ ${reason} = REBIND6 ] ; then
+-  # Make sure nothing has moved around on us.
++      exit_with_hooks 0
++      ;;
+ 
+-  # Nameservers/domains/etc.
+-  if [ "x${new_dhcp6_name_servers}" != "x${old_dhcp6_name_servers}" ] ||
+-     [ "x${new_dhcp6_domain_search}" != "x${old_dhcp6_domain_search}" ] ; then
+-    make_resolv_conf
+-  fi
+-
+-  exit_with_hooks 0
+-fi
++  RENEW6|REBIND6)
++        # Make sure nothing has moved around on us.
+ 
+-if [ ${reason} = DEPREF6 ] ; then
+-  if [ x${new_ip6_prefixlen} = x ] ; then
+-    exit_with_hooks 2;
+-  fi
+-
+-  # There doesn't appear to be a way to update an addr to indicate
+-  # preference.
+-#  ${ip} -f inet6 addr ??? ${new_ip6_address}/${new_ip6_prefixlen} \
+-#       dev ${interface} scope global deprecated?
++      # Nameservers/domains/etc.
++      if [ "x${new_dhcp6_name_servers}" != "x${old_dhcp6_name_servers}" ] ||
++              [ "x${new_dhcp6_domain_search}" != 
"x${old_dhcp6_domain_search}" ] ; then
++              make_resolv_conf
++      fi
++
++      exit_with_hooks 0
++      ;;
++
++  DEPREF6)
++        if [ x${new_ip6_prefixlen} = x ] ; then
++              exit_with_hooks 2;
++      fi
++
++      # There doesn't appear to be a way to update an addr to indicate
++      # preference.
++      #  /sbin/ip -f inet6 addr ??? ${new_ip6_address}/${new_ip6_prefixlen} \
++      #       dev ${interface} scope global deprecated?
++
++      exit_with_hooks 0
++      ;;
++
++  EXPIRE6|RELEASE6|STOP6)
++        if [ x${old_ip6_address} = x ] || [ x${old_ip6_prefixlen} = x ] ; then
++              exit_with_hooks 2;
++      fi
+ 
+-  exit_with_hooks 0
+-fi
+-
+-if [ ${reason} = EXPIRE6 -o ${reason} = RELEASE6 -o ${reason} = STOP6 ] ; then
+-  if [ x${old_ip6_address} = x ] || [ x${old_ip6_prefixlen} = x ] ; then
+-    exit_with_hooks 2;
+-  fi
+-
+-  ${ip} -f inet6 addr del ${old_ip6_address}/${old_ip6_prefixlen} \
++      /sbin/ip -f inet6 addr del ${old_ip6_address}/${old_ip6_prefixlen} \
+       dev ${interface}
+ 
+-  exit_with_hooks 0
+-fi
++      exit_with_hooks 0
++      ;;
++      
 +  *)
 +      ;;
 +esac
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/dhcp-dhclient.script.patch?r1=1.2&r2=1.3&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to