]> git.pld-linux.org Git - packages/dhcp.git/commitdiff
Use upstream dhclient-script auto/th/dhcp-4.3.5-2
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Mon, 7 Aug 2017 12:17:01 +0000 (14:17 +0200)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Mon, 7 Aug 2017 12:17:01 +0000 (14:17 +0200)
It contains interface-mtu support and probably other fixes.

Release: 2

dhclient_hooks_d.patch [new file with mode: 0644]
dhcp-dhclient-script [deleted file]
dhcp.spec

diff --git a/dhclient_hooks_d.patch b/dhclient_hooks_d.patch
new file mode 100644 (file)
index 0000000..0544373
--- /dev/null
@@ -0,0 +1,56 @@
+diff -dur dhcp-4.3.5.orig/client/scripts/linux dhcp-4.3.5/client/scripts/linux
+--- dhcp-4.3.5.orig/client/scripts/linux       2016-09-27 21:16:50.000000000 +0200
++++ dhcp-4.3.5/client/scripts/linux    2017-08-07 13:26:44.000000000 +0200
+@@ -69,24 +69,44 @@
+ # Must be used on exit.   Invokes the local dhcp client exit hooks, if any.
+ exit_with_hooks() {
++  
+   exit_status=$1
+-  if [ -f /etc/dhclient-exit-hooks ]; then
+-    . /etc/dhclient-exit-hooks
+-  fi
+-# probably should do something with exit status of the local script
++
++  for i in /etc/dhclient-exit-hooks.d/*[!~,] ; do
++    [ -f "$i" ] || continue
++    # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
++    [ "${i%.rpmsave}" != "${i}" ] && continue
++    [ "${i%.rpmorig}" != "${i}" ] && continue
++    [ "${i%.rpmnew}" != "${i}" ] && continue
++    [ "${i%.swp}" != "${i}" ] && continue
++    [ "${i%,v}" != "${i}" ] && continue
++
++    . ${i}
++  done
++
++  # probably should do something with exit status of the local script
+   exit $exit_status
+ }
+ # Invoke the local dhcp client enter hooks, if they exist.
+-if [ -f /etc/dhclient-enter-hooks ]; then
+-  exit_status=0
+-  . /etc/dhclient-enter-hooks
++exit_status=0
++for i in /etc/dhclient-enter-hooks.d/*[!~,] ; do
++  [ -f "$i" ] || continue
++  # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
++  [ "${i%.rpmsave}" != "${i}" ] && continue
++  [ "${i%.rpmorig}" != "${i}" ] && continue
++  [ "${i%.rpmnew}" != "${i}" ] && continue
++  [ "${i%.swp}" != "${i}" ] && continue
++  [ "${i%,v}" != "${i}" ] && continue
++
++  . ${i}
++  
+   # 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
++done
+ ###
+ ### DHCPv4 Handlers
diff --git a/dhcp-dhclient-script b/dhcp-dhclient-script
deleted file mode 100644 (file)
index 692b1cb..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-#!/bin/sh
-# dhclient-script for Linux. Dan Halbert, March, 1997.
-# Updated for Linux 2.[12] by Brian J. Murrell, January 1999.
-
-# Notes:
-
-# 0. This script is based on the netbsd script supplied with dhcp-970306.
-
-# 1. This script was modified to work with iproute2
-
-if [ -n "$dhc_dbus" -a -x /usr/bin/dbus-send ]; then
-       /usr/bin/dbus-send \
-               --system \
-               --dest=com.redhat.dhcp \
-               --type=method_call \
-               /com/redhat/dhcp/$interface \
-               com.redhat.dhcp.set \
-               'string:'"$(unset PATH SHLVL _ PWD dhc_dbus ; env)"
-
-       if [ $(($dhc_dbus & 31)) -eq 31 ]; then
-               exit 0
-       fi
-fi
-
-calc_prefix()
-{
-       local old_IFS=$IFS
-       IFS='.'
-       local netmask=$(echo $1)
-       IFS=$old_IFS
-
-       local ret=0
-       local endp=0
-       for n in $netmask ; do
-               for i in 128 64 32 16 8 4 2 1 ; do
-                       if [ $(($n & $i)) -ne 0 ]; then
-                               if [ $endp -eq 0 ]; then
-                                       ret=$(($ret + 1))
-                               else
-                                       echo "32"
-                                       return
-                               fi
-                       else
-                               endp=1
-                       fi
-               done
-       done
-       echo $ret
-}
-
-make_resolv_conf() {
-       if [ -n "$new_domain_name_servers" ]; then
-               :> /etc/resolv.conf.dhclient
-               chmod 644 /etc/resolv.conf.dhclient
-               if [ -n "$new_domain_search" ]; then
-                       echo search $new_domain_search >> /etc/resolv.conf.dhclient
-               elif [ -n "$new_domain_name" ]; then
-                       # Note that the DHCP 'Domain Name Option' is really just a domain
-                       # name, and that this practice of using the domain name option as
-                       # a search path is both nonstandard and deprecated.
-                       echo search $new_domain_name >> /etc/resolv.conf.dhclient
-               fi
-               for nameserver in $new_domain_name_servers; do
-                       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
-}
-
-# Must be used on exit.
-# Invokes the local dhcp client exit hooks, if any.
-exit_with_hooks() {
-       exit_status=$1
-
-       for i in /etc/dhclient-exit-hooks.d/*[!~,] ; do
-               [ -f "$i" ] || continue
-               # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
-               [ "${i%.rpmsave}" != "${i}" ] && continue
-               [ "${i%.rpmorig}" != "${i}" ] && continue
-               [ "${i%.rpmnew}" != "${i}" ] && continue
-               [ "${i%.swp}" != "${i}" ] && continue
-               [ "${i%,v}" != "${i}" ] && continue
-
-               . ${i}
-       done
-       # probably should do something with exit status of the local script
-       exit $exit_status
-}
-
-exit_status=0
-for i in /etc/dhclient-enter-hooks.d/*[!~,] ; do
-       [ -f "$i" ] || continue
-       # Don't run *.{rpmsave,rpmorig,rpmnew,swp} scripts
-       [ "${i%.rpmsave}" != "${i}" ] && continue
-       [ "${i%.rpmorig}" != "${i}" ] && continue
-       [ "${i%.rpmnew}" != "${i}" ] && continue
-       [ "${i%.swp}" != "${i}" ] && continue
-       [ "${i%,v}" != "${i}" ] && continue
-
-       . ${i}
-       
-       if [ $exit_status -ne 0 ]; then
-               exit $exit_status
-       fi
-done
-
-###
-### DHCPv4 Handlers
-###
-
-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
-if [ -n "$new_subnet_mask" ]; then
-       new_subnet_arg="$(calc_prefix $new_subnet_mask)"
-fi
-if [ -n "$old_subnet_mask" ]; then
-       old_subnet_arg="$(calc_prefix $old_subnet_mask)"
-fi
-if [ -n "$alias_subnet_mask" ]; then
-       alias_subnet_arg="$(calc_prefix $alias_subnet_mask)"
-fi
-[ -z "new_subnet_arg" ] && $new_subnet_arg="32"
-[ -z "old_subnet_arg" ] && $old_subnet_arg="32"
-[ -z "alias_subnet_arg" ] && $alias_subnet_arg="32"
-
-case "$reason" in
-  MEDIUM)
-       # Linux doesn't do mediums (ok, ok, media).
-       ;;
-
-  PREINIT)
-       if [ -n "$alias_ip_address" ]; then
-               /sbin/ip addr del $alias_ip_address/$alias_subnet_arg dev $interface
-       fi
-       /sbin/ip link set $interface up
-
-       # We need to give the kernel some time to get the interface up.
-       sleep 1
-       ;;
-
-  BOUND|RENEW|REBIND|REBOOT)
-       current_hostname=`hostname`
-       if [ -z "$current_hostname" ]; then
-               hostname $new_host_name
-       elif [ "$current_hostname" = "$old_host_name" -a \
-              "$new_host_name" != "$old_host_name" ]; then
-               hostname $new_host_name
-       fi
-
-       if [ -n "$old_ip_address" -a -n "$alias_ip_address" -a \
-            "$alias_ip_address" != "$old_ip_address" ]; then
-               # Possible new alias. Remove old alias.
-               /sbin/ip addr del $alias_ip_address/$alias_subnet_arg dev $interface
-       fi
-       if [ -n "$old_ip_address" -a "$old_ip_address" != "$new_ip_address" ]; then
-               # IP address changed.
-               /sbin/ip addr del $old_ip_address/$old_subnet_arg dev $interface
-               for router in $old_routers; do
-                       /sbin/ip route del default via $router
-               done
-               if [ -n "$old_static_routes" ]; then
-                       set -- $old_static_routes
-                       while [ $# -gt 1 ]; do
-                               /sbin/ip route del $1 via $2
-                               shift; shift
-                       done
-               fi
-       fi
-       if [ -z "$old_ip_address" -o "$old_ip_address" != "$new_ip_address" -o \
-            "$reason" = "BOUND" -o "$reason" = "REBOOT" ]; then
-               /sbin/ip addr add $new_ip_address/$new_subnet_arg $new_broadcast_arg dev $interface
-               # Add a network route to the computed network address.
-               for router in $new_routers; do
-                       /sbin/ip route add default via $router
-               done
-               if [ -n "$new_static_routes" ]; then
-                       set -- $new_static_routes
-                       while [ $# -gt 1 ]; do
-                               /sbin/ip route add $1 via $2
-                               shift; shift
-                       done
-               fi
-       fi
-       if [ -n "$alias_ip_address" -a "$new_ip_address" != "$alias_ip_address" ]; then
-               /sbin/ip addr add $alias_ip_address/$alias_subnet_arg dev $interface
-       fi
-       make_resolv_conf
-       ;;
-
-  EXPIRE|FAIL|RELEASE|STOP)
-       if [ -n "$alias_ip_address" ]; then
-               # Turn off alias interface.
-               /sbin/ip addr del $alias_ip_address/$alias_subnet_arg dev $interface
-       fi
-       if [ -n "$old_ip_address" ]; then
-               /sbin/ip addr del $old_ip_address/$old_subnet_arg dev $interface
-               for router in $old_routers; do
-                       /sbin/ip route del default via $router
-               done
-               if [ -n "$old_static_routes" ]; then
-                       set -- $old_static_routes
-                       while [ $# -gt 1 ]; do
-                               /sbin/ip route del $1 via $2
-                               shift; shift
-                       done
-               fi
-       fi
-       if [ -n "$alias_ip_address" ]; then
-               /sbin/ip addr add $alias_ip_address/$alias_subnet_arg dev $interface
-       fi
-       ;;
-
-  TIMEOUT)
-       if [ -n "$alias_ip_address" ]; then
-               /sbin/ip addr del $alias_ip_address/$alias_subnet_arg dev $interface
-       fi
-       /sbin/ip addr add $new_ip_address/$new_subnet_arg $new_broadcast_arg dev $interface
-
-       set $new_routers
-       if ping -q -c 1 $1; then
-               if [ "$new_ip_address" != "$alias_ip_address" ] && \
-                  [ -n "$alias_ip_address" ]; then
-                       /sbin/ip addr add $alias_ip_address/$alias_subnet_arg dev $interface
-               fi
-               for router in $new_routers; do
-                       /sbin/ip route add default via $router
-               done
-               if [ -n "$new_static_routes" ]; then
-                       set -- $new_static_routes
-                       while [ $# -gt 1 ]; do
-                               /sbin/ip route add $1 via $2
-                               shift; shift
-                       done
-               fi
-               make_resolv_conf
-               exit_with_hooks 0
-       fi
-
-       /sbin/ip addr del $new_ip_address/$new_subnet_arg dev $interface
-       for router in $old_routers; do
-               /sbin/ip route del default via $router
-       done
-       if [ -n "$old_static_routes" ]; then
-               set -- $old_static_routes
-               while [ $# -gt 1 ]; do
-                       /sbin/ip route del $1 via $2
-                       shift; shift
-               done
-       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
-
-       /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
-       ;;
-
-  RENEW6|REBIND6)
-        # Make sure nothing has moved around on us.
-
-       # 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
-
-       /sbin/ip -f inet6 addr del ${old_ip6_address}/${old_ip6_prefixlen} \
-       dev ${interface}
-
-       exit_with_hooks 0
-       ;;
-       
-  *)
-       ;;
-esac
-
-exit_with_hooks 0
index b9bdb6a5be16aa89b1ef6968bd987b6765d38c63..3eaf121f64181758ea75e36e601d2c062a9faa86 100644 (file)
--- a/dhcp.spec
+++ b/dhcp.spec
@@ -20,7 +20,7 @@ Summary(pl.UTF-8):    Serwer DHCP
 Summary(pt_BR.UTF-8):  Servidor DHCP (Protocolo de configuração dinâmica de hosts)
 Name:          dhcp
 Version:       %{ver}%{pverdot}
-Release:       1
+Release:       2
 Epoch:         4
 License:       MIT
 Group:         Networking/Daemons
@@ -35,19 +35,18 @@ Source10:   %{name}.schema
 Source11:      %{name}-README.ldap
 Source12:      draft-ietf-dhc-ldap-schema-01.txt
 Source13:      %{name}d-conf-to-ldap
-Source14:      %{name}-dhclient-script
 Patch0:                %{name}-release-by-ifup.patch
-Patch2:                %{name}-3.0.3-x-option.patch
-Patch3:                %{name}-paths.patch
-Patch5:                %{name}-timeouts.patch
-Patch6:                %{name}-options.patch
-Patch9:                %{name}-errwarn-message.patch
-Patch10:       %{name}-memory.patch
-Patch11:       %{name}-dhclient-decline-backoff.patch
-Patch12:       %{name}-unicast-bootp.patch
-Patch16:       %{name}-default-requested-options.patch
-
-Patch19:       %{name}-manpages.patch
+Patch1:                %{name}-3.0.3-x-option.patch
+Patch2:                %{name}-paths.patch
+Patch3:                %{name}-timeouts.patch
+Patch4:                %{name}-options.patch
+Patch5:                %{name}-errwarn-message.patch
+Patch6:                %{name}-memory.patch
+Patch7:                %{name}-dhclient-decline-backoff.patch
+Patch8:                %{name}-unicast-bootp.patch
+Patch9:                %{name}-default-requested-options.patch
+Patch10:       %{name}-manpages.patch
+Patch11:       dhclient_hooks_d.patch
 URL:           http://www.isc.org/sw/dhcp/
 BuildRequires: autoconf
 BuildRequires: automake
@@ -200,17 +199,17 @@ komunikacji z działającym serwerem ISC DHCP i jego kontroli.
 #in that environment to handle options they do not know about in advance -
 #this is a Red Hat extension to support dhcdbd and NetworkManager.
 # however, fedora doesn't have this patch anymore, so can drop?
-#%%patch2 -p1
+#%%patch1 -p1
+%patch2 -p1
 %patch3 -p1
+%patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
+%patch8 -p1
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
-%patch12 -p1
-%patch16 -p1
-
-%patch19 -p1
 
 # Copy in documentation and example scripts for LDAP patch to dhcpd
 cp -a %{SOURCE11} README.ldap
@@ -266,7 +265,8 @@ install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcpd6
 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcp-relay
 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/dhcpd
 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/dhcp-relay
-install %{SOURCE14} $RPM_BUILD_ROOT/sbin/dhclient-script
+
+install client/scripts/linux $RPM_BUILD_ROOT/sbin/dhclient-script
 
 install server/dhcpd.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/dhcpd.conf
 install doc/examples/dhcpd-dhcpv6.conf $RPM_BUILD_ROOT%{_sysconfdir}/dhcpd6.conf
This page took 0.156582 seconds and 4 git commands to generate.