Author: dj Date: 2005-06-25 23:59:06 -0600 (Sat, 25 Jun 2005) New Revision: 990
Added: trunk/dhcp/dhcp-3.0.2-gcc_3.4.3-2.patch trunk/dhcp/dhcp-3.0.2-iproute2-3.patch Removed: trunk/dhcp/dhcp-3.0.1-fix_gcc_3.4.3_compile_error-1.patch trunk/dhcp/dhcp-3.0.2-iproute2-2.patch Log: updated dhcp iproute2 and gcc-3.4.3 patches Deleted: trunk/dhcp/dhcp-3.0.1-fix_gcc_3.4.3_compile_error-1.patch =================================================================== --- trunk/dhcp/dhcp-3.0.1-fix_gcc_3.4.3_compile_error-1.patch 2005-06-25 20:20:57 UTC (rev 989) +++ trunk/dhcp/dhcp-3.0.1-fix_gcc_3.4.3_compile_error-1.patch 2005-06-26 05:59:06 UTC (rev 990) @@ -1,26 +0,0 @@ -Submitted By: Michael Labuschke (michael at labuschke dot de) -Date: 2004-11-14 -Initial Package Version: 3.0.1 -Origin: made myself -Upstream Status: not send -Description: it compiles (i'm pretty sure its not the right way of fixing it) In file included from raw.c:53: -/root/dhcp-3.0.1/includes/dhcpd.h:309: error: mode `byte' applied to inappropriate type -/root/dhcp-3.0.1/includes/dhcpd.h:310: error: mode `byte' applied to inappropriate type -/root/dhcp-3.0.1/includes/dhcpd.h:311: error: mode `byte' applied to inappropriate type - -diff -Naur dhcp-3.0.1.orig/includes/dhcpd.h dhcp-3.0.1/includes/dhcpd.h ---- dhcp-3.0.1.orig/includes/dhcpd.h 2004-06-10 17:59:29.000000000 +0000 -+++ dhcp-3.0.1/includes/dhcpd.h 2004-11-14 13:44:16.818742527 +0000 -@@ -306,9 +306,9 @@ - # define EPHEMERAL_FLAGS (MS_NULL_TERMINATION | \ - UNICAST_BROADCAST_HACK) - -- binding_state_t __attribute__ ((mode (__byte__))) binding_state; -- binding_state_t __attribute__ ((mode (__byte__))) next_binding_state; -- binding_state_t __attribute__ ((mode (__byte__))) desired_binding_state; -+ binding_state_t binding_state; -+ binding_state_t next_binding_state; -+ binding_state_t desired_binding_state; - - struct lease_state *state; - Added: trunk/dhcp/dhcp-3.0.2-gcc_3.4.3-2.patch =================================================================== --- trunk/dhcp/dhcp-3.0.2-gcc_3.4.3-2.patch 2005-06-25 20:20:57 UTC (rev 989) +++ trunk/dhcp/dhcp-3.0.2-gcc_3.4.3-2.patch 2005-06-26 05:59:06 UTC (rev 990) @@ -0,0 +1,23 @@ +Submitted By: DJ Lucas (dj at linuxfromscratch dot org) +Date: 2005-06-18 +Initial Package Version: 3.0.2 +Origin: Jakub Jelinek (https://bugzilla.redhat.com/beta/show_bug.cgi?id=144358) +Description: Fixed syntax to honor old (broken) gcc behavior +Upstream Status: Not submitted + +diff -Naur dhcp-3.0.2-orig/includes/dhcpd.h dhcp-3.0.2/includes/dhcpd.h +--- dhcp-3.0.2-orig/includes/dhcpd.h 2004-11-24 11:39:16.000000000 -0600 ++++ dhcp-3.0.2/includes/dhcpd.h 2005-06-18 20:14:57.000000000 -0500 +@@ -306,9 +306,9 @@ + # define EPHEMERAL_FLAGS (MS_NULL_TERMINATION | \ + UNICAST_BROADCAST_HACK) + +- binding_state_t __attribute__ ((mode (__byte__))) binding_state; +- binding_state_t __attribute__ ((mode (__byte__))) next_binding_state; +- binding_state_t __attribute__ ((mode (__byte__))) desired_binding_state; ++ uint8_t binding_state; ++ uint8_t next_binding_state; ++ uint8_t desired_binding_state; + + struct lease_state *state; + Deleted: trunk/dhcp/dhcp-3.0.2-iproute2-2.patch =================================================================== --- trunk/dhcp/dhcp-3.0.2-iproute2-2.patch 2005-06-25 20:20:57 UTC (rev 989) +++ trunk/dhcp/dhcp-3.0.2-iproute2-2.patch 2005-06-26 05:59:06 UTC (rev 990) @@ -1,220 +0,0 @@ -diff -Naur dhcp-3.0.2.old/client/scripts/linux dhcp-3.0.2/client/scripts/linux ---- dhcp-3.0.2.old/client/scripts/linux Thu Nov 14 19:09:09 2002 -+++ dhcp-3.0.2/client/scripts/linux Sun Mar 13 01:35:32 2005 -@@ -1,26 +1,15 @@ - #!/bin/bash - # dhclient-script for Linux. Dan Halbert, March, 1997. - # Updated for Linux 2.[12] by Brian J. Murrell, January 1999. --# No guarantees about this. I'm a novice at the details of Linux --# networking. -+ -+# Updated to iproute2 by Jim Gifford ([EMAIL PROTECTED]) - - # Notes: - - # 0. This script is based on the netbsd script supplied with dhcp-970306. -- --# 1. ifconfig down apparently deletes all relevant routes and flushes --# the arp cache, so this doesn't need to be done explicitly. -- --# 2. The alias address handling here has not been tested AT ALL. --# I'm just going by the doc of modern Linux ip aliasing, which uses --# notations like eth0:0, eth0:1, for each alias. -- --# 3. I have to calculate the network address, and calculate the broadcast --# address if it is not supplied. This might be much more easily done --# by the dhclient C code, and passed on. -- --# 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious --# of the $1 in its args. -+# 1. This script was modified to work with iproute2 -+# 2. cidr_convert based on a script by Kevin Fleming ([EMAIL PROTECTED]) -+# 3. Updated to delete addresses when taking an interface down ([EMAIL PROTECTED]) - - make_resolv_conf() { - if [ "x$new_domain_name" != x ] && [ x"$new_domain_name_servers" != x ]; then -@@ -32,6 +21,30 @@ - fi - } - -+dec2binary() -+{ -+ local n=$1 -+ local ret="" -+ while [ $n != 0 ]; do -+ ret=$[$n%2]$ret -+ n=$[$n>>1] -+ done -+ echo $ret -+} -+ -+mask_to_binary() -+{ -+ echo `dec2binary $1``dec2binary $2``dec2binary $3``dec2binary $4` -+} -+ -+cidr_convert() -+{ -+ netmask=$1 -+ local mask=`mask_to_binary ${netmask//./ }` -+ mask=${mask%%0*} -+ cidr=${#mask} -+} -+ - # Must be used on exit. Invokes the local dhcp client exit hooks, if any. - exit_with_hooks() { - exit_status=$1 -@@ -53,11 +66,6 @@ - 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/'` -- - if [ x$new_broadcast_address != x ]; then - new_broadcast_arg="broadcast $new_broadcast_address" - fi -@@ -65,13 +73,12 @@ - old_broadcast_arg="broadcast $old_broadcast_address" - fi - if [ x$new_subnet_mask != x ]; then -- new_subnet_arg="netmask $new_subnet_mask" -+ cidr_convert $new_subnet_mask -+ new_subnet_arg="$cidr" - fi - if [ x$old_subnet_mask != x ]; then -- old_subnet_arg="netmask $old_subnet_mask" --fi --if [ x$alias_subnet_mask != x ]; then -- alias_subnet_arg="netmask $alias_subnet_mask" -+ cidr_convert $old_subnet_mask -+ old_subnet_arg="$cidr" - fi - - if [ x$reason = xMEDIUM ]; then -@@ -82,17 +89,10 @@ - if [ x$reason = xPREINIT ]; then - if [ x$alias_ip_address != x ]; then - # Bring down alias interface. Its routes will disappear too. -- ifconfig $interface:0- inet 0 -- fi -- if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ) -- then -- ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \ -- broadcast 255.255.255.255 up -- # Add route to make broadcast work. Do not omit netmask. -- route add default dev $interface netmask 0.0.0.0 -- else -- ifconfig $interface 0 up -+ ip link set $interface down -+ ip addr del $alias_ip_address dev $interface - fi -+ ip link set $interface up - - # We need to give the kernel some time to get the interface up. - sleep 1 -@@ -115,83 +115,50 @@ - fi - fi - -- if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \ -- [ x$alias_ip_address != x$old_ip_address ]; then -- # Possible new alias. Remove old alias. -- ifconfig $interface:0- inet 0 -- fi - if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then - # IP address changed. Bringing down the interface will delete all routes, - # and clear the ARP cache. -- ifconfig $interface inet 0 down -- -+ ip link set $interface down -+ ip addr del $old_ip_address dev $interface - fi - if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \ - [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then - -- ifconfig $interface inet $new_ip_address $new_subnet_arg \ -- $new_broadcast_arg -+ ip link set $interface up -+ ip addr add $new_ip_address/$new_subnet_arg $new_broadcast_arg \ -+ label $interface dev $interface - # Add a network route to the computed network address. -- if [ $relmajor -lt 2 ] || \ -- ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then -- route add -net $new_network_number $new_subnet_arg dev $interface -- fi - for router in $new_routers; do -- route add default gw $router -+ ip route add default via $router - done - fi -- if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ]; -- then -- ifconfig $interface:0- inet 0 -- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg -- route add -host $alias_ip_address $interface:0 -- fi - make_resolv_conf - exit_with_hooks 0 - fi - - if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \ - || [ x$reason = xSTOP ]; then -- if [ x$alias_ip_address != x ]; then -- # Turn off alias interface. -- ifconfig $interface:0- inet 0 -- fi - if [ x$old_ip_address != x ]; then - # Shut down interface, which will delete routes and clear arp cache. -- ifconfig $interface inet 0 down -- fi -- if [ x$alias_ip_address != x ]; then -- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg -- route add -host $alias_ip_address $interface:0 -+ ip link set $interface down - fi - exit_with_hooks 0 - fi - - if [ x$reason = xTIMEOUT ]; then -- if [ x$alias_ip_address != x ]; then -- ifconfig $interface:0- inet 0 -- fi -- ifconfig $interface inet $new_ip_address $new_subnet_arg \ -- $new_broadcast_arg -+ ip link set $interface up -+ ip addr set $new_ip_address/$new_subnet_arg $new_broadcast_arg \ -+ label $interface dev $interface - 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 -- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg -- route add -host $alias_ip_address dev $interface:0 -- fi -- if [ $relmajor -lt 2 ] || \ -- ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then -- route add -net $new_network_number -- fi -- for router in $new_routers; do -- route add default gw $router -- done -- make_resolv_conf -- exit_with_hooks 0 -- fi -- ifconfig $interface inet 0 down -+ -+ for router in $new_routers; do -+ ip route add default via $router -+ done -+ -+ make_resolv_conf -+ exit_with_hooks 0 -+ ip link set $interface down -+ ip addr flush dev $interface - exit_with_hooks 1 - fi - Added: trunk/dhcp/dhcp-3.0.2-iproute2-3.patch =================================================================== --- trunk/dhcp/dhcp-3.0.2-iproute2-3.patch 2005-06-25 20:20:57 UTC (rev 989) +++ trunk/dhcp/dhcp-3.0.2-iproute2-3.patch 2005-06-26 05:59:06 UTC (rev 990) @@ -0,0 +1,230 @@ +Submitted By: DJ Lucas (dj at linuxfromscratch dot org) +Date: 2005-06-18 +Initial Package Version: 3.0.2 +Origin: Jim Gifford, Bruce Dubbs, DJ Lucas +Description: Fixes client script to use iproute2 (added flush to previous + unversioned patches) +Upstream Status: Not submitted + +--- dhcp-3.0.2-orig/client/scripts/linux 2002-11-14 19:09:09.000000000 -0600 ++++ dhcp-3.0.2/client/scripts/linux 2005-06-18 22:54:59.000000000 -0500 +@@ -1,26 +1,15 @@ + #!/bin/bash + # dhclient-script for Linux. Dan Halbert, March, 1997. + # Updated for Linux 2.[12] by Brian J. Murrell, January 1999. +-# No guarantees about this. I'm a novice at the details of Linux +-# networking. ++ ++# Updated to iproute2 by Jim Gifford ([EMAIL PROTECTED]) + + # Notes: + + # 0. This script is based on the netbsd script supplied with dhcp-970306. +- +-# 1. ifconfig down apparently deletes all relevant routes and flushes +-# the arp cache, so this doesn't need to be done explicitly. +- +-# 2. The alias address handling here has not been tested AT ALL. +-# I'm just going by the doc of modern Linux ip aliasing, which uses +-# notations like eth0:0, eth0:1, for each alias. +- +-# 3. I have to calculate the network address, and calculate the broadcast +-# address if it is not supplied. This might be much more easily done +-# by the dhclient C code, and passed on. +- +-# 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious +-# of the $1 in its args. ++# 1. This script was modified to work with iproute2 ++# 2. cidr_convert based on a script by Kevin Fleming ([EMAIL PROTECTED]) ++# 3. Updated to delete addresses when taking an interface down ([EMAIL PROTECTED]) + + make_resolv_conf() { + if [ "x$new_domain_name" != x ] && [ x"$new_domain_name_servers" != x ]; then +@@ -32,6 +21,30 @@ + fi + } + ++dec2binary() ++{ ++ local n=$1 ++ local ret="" ++ while [ $n != 0 ]; do ++ ret=$[$n%2]$ret ++ n=$[$n>>1] ++ done ++ echo $ret ++} ++ ++mask_to_binary() ++{ ++ echo `dec2binary $1``dec2binary $2``dec2binary $3``dec2binary $4` ++} ++ ++cidr_convert() ++{ ++ netmask=$1 ++ local mask=`mask_to_binary ${netmask//./ }` ++ mask=${mask%%0*} ++ cidr=${#mask} ++} ++ + # Must be used on exit. Invokes the local dhcp client exit hooks, if any. + exit_with_hooks() { + exit_status=$1 +@@ -53,11 +66,6 @@ + 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/'` +- + if [ x$new_broadcast_address != x ]; then + new_broadcast_arg="broadcast $new_broadcast_address" + fi +@@ -65,13 +73,12 @@ + old_broadcast_arg="broadcast $old_broadcast_address" + fi + if [ x$new_subnet_mask != x ]; then +- new_subnet_arg="netmask $new_subnet_mask" ++ cidr_convert $new_subnet_mask ++ new_subnet_arg="$cidr" + fi + if [ x$old_subnet_mask != x ]; then +- old_subnet_arg="netmask $old_subnet_mask" +-fi +-if [ x$alias_subnet_mask != x ]; then +- alias_subnet_arg="netmask $alias_subnet_mask" ++ cidr_convert $old_subnet_mask ++ old_subnet_arg="$cidr" + fi + + if [ x$reason = xMEDIUM ]; then +@@ -82,17 +89,10 @@ + if [ x$reason = xPREINIT ]; then + if [ x$alias_ip_address != x ]; then + # Bring down alias interface. Its routes will disappear too. +- ifconfig $interface:0- inet 0 +- fi +- if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ) +- then +- ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \ +- broadcast 255.255.255.255 up +- # Add route to make broadcast work. Do not omit netmask. +- route add default dev $interface netmask 0.0.0.0 +- else +- ifconfig $interface 0 up ++ ip link set $interface down ++ ip addr del $alias_ip_address dev $interface + fi ++ ip link set $interface up + + # We need to give the kernel some time to get the interface up. + sleep 1 +@@ -115,83 +115,51 @@ + fi + fi + +- if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \ +- [ x$alias_ip_address != x$old_ip_address ]; then +- # Possible new alias. Remove old alias. +- ifconfig $interface:0- inet 0 +- fi + if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then +- # IP address changed. Bringing down the interface will delete all routes, ++ # IP address changed. Bring down the interface, delete all routes, + # and clear the ARP cache. +- ifconfig $interface inet 0 down +- ++ ip link set $interface down ++ ip addr flush dev $interface + fi + if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \ + [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then + +- ifconfig $interface inet $new_ip_address $new_subnet_arg \ +- $new_broadcast_arg ++ ip link set $interface up ++ ip addr add $new_ip_address/$new_subnet_arg $new_broadcast_arg \ ++ label $interface dev $interface + # Add a network route to the computed network address. +- if [ $relmajor -lt 2 ] || \ +- ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then +- route add -net $new_network_number $new_subnet_arg dev $interface +- fi + for router in $new_routers; do +- route add default gw $router ++ ip route add default via $router + done + fi +- if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ]; +- then +- ifconfig $interface:0- inet 0 +- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg +- route add -host $alias_ip_address $interface:0 +- fi + make_resolv_conf + exit_with_hooks 0 + fi + + if [ x$reason = xEXPIRE ] || [ x$reason = xFAIL ] || [ x$reason = xRELEASE ] \ + || [ x$reason = xSTOP ]; then +- if [ x$alias_ip_address != x ]; then +- # Turn off alias interface. +- ifconfig $interface:0- inet 0 +- fi + if [ x$old_ip_address != x ]; then +- # Shut down interface, which will delete routes and clear arp cache. +- ifconfig $interface inet 0 down +- fi +- if [ x$alias_ip_address != x ]; then +- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg +- route add -host $alias_ip_address $interface:0 ++ # Shut down interface, delete routes, and clear arp cache. ++ ip link set $interface down ++ ip addr flush dev $interface + fi + exit_with_hooks 0 + fi + + if [ x$reason = xTIMEOUT ]; then +- if [ x$alias_ip_address != x ]; then +- ifconfig $interface:0- inet 0 +- fi +- ifconfig $interface inet $new_ip_address $new_subnet_arg \ +- $new_broadcast_arg ++ ip link set $interface up ++ ip addr set $new_ip_address/$new_subnet_arg $new_broadcast_arg \ ++ label $interface dev $interface + 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 +- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg +- route add -host $alias_ip_address dev $interface:0 +- fi +- if [ $relmajor -lt 2 ] || \ +- ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then +- route add -net $new_network_number +- fi +- for router in $new_routers; do +- route add default gw $router +- done +- make_resolv_conf +- exit_with_hooks 0 +- fi +- ifconfig $interface inet 0 down ++ ++ for router in $new_routers; do ++ ip route add default via $router ++ done ++ ++ make_resolv_conf ++ exit_with_hooks 0 ++ ip link set $interface down ++ ip addr flush dev $interface + exit_with_hooks 1 + fi + -- http://linuxfromscratch.org/mailman/listinfo/patches FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
