Your message dated Sat, 19 Jan 2008 01:17:02 +0000 with message-id <[EMAIL PROTECTED]> and subject line Bug#313866: fixed in dhcp3 3.1.0-2 has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what I am talking about this indicates a serious mail system misconfiguration somewhere. Please contact me immediately.) Debian bug tracking system administrator (administrator, Debian Bugs database)
--- Begin Message ---Package: dhcp3-client Severity: wishlist On Tue, Jun 14, 2005 at 01:10:31PM -0400, Joey Hess wrote: > Andrew Pollock wrote: > > So, before we go doing this and breaking things, I thought it best to give > > people a bit of notice. My understanding is that dhcp3-client is too large, > > so maybe something like udhcpc (or apparently klibc has a DHCP client) > > instead? > > udhcp and pump have proven to be broken in the past. I tried again to > fit the dhcp3 udeb onto our floppy, but that image, which has 93k free > with the dhcp2 udeb, gets over-full with the dhcp3 one. That 100k > (compressed; 300k uncompressed!) size difference is pretty amazing. :-( > BTW, d-i currently contains a forked version of > /etc/dhcp3/dhclient-script (and/or /etc/dhclient-script). The changes are: > > * Runs under /bin/sh; does not need bash. > * Runs set -e, probaly so we can detect when it fails. > * Some XSI-isms fixed, although I don't know that that really matters > for d-i. > * Doesn't depend on the hostname command, since d-i lacks one. > * Ripped out some stuff that is not appropriate for d-i, or to save > space, including support for setting multiple nameservers and keeping old > nameservers, all the hook code > * Uses ip command, not ifconfig. We've been planning to drop ifconfig > from d-i, though it's not happened yet. > * Some other changes that I don't understand very well, like it uses a > ptom command instead of netmask. > * A very nasty hack to omminicate the dhcp hostname on to netcfg. > * Probably some changes that have not been kept up to date since the > fork, for example, the fix for #144666 may not be included. > > I've attached a full diff, I hope we can find a way to merge these or at > least make the diff smaller, and this really belongs in the udeb(s) for > the dhcp client, not in d-i itself. Okay, I don't see why this can't live in a patch in the dhcp3 source that is applied to produce the dhcp3-client udeb. > -- > see shy jo > --- /etc/dhcp3/dhclient-script 2005-03-03 03:10:44.000000000 -0500 > +++ dhclient-script 2005-05-13 16:55:43.000000000 -0400 > @@ -1,134 +1,57 @@ > -#!/bin/bash > +#!/bin/sh > + > +set -e > + > +# reduced dhclient-script for the Debian installer > +# changes by Joshua Kwan <[EMAIL PROTECTED]>, > +# Bastian Blank <[EMAIL PROTECTED]> > > # dhclient-script for Linux. Dan Halbert, March, 1997. > # Updated for Linux 2.[12] by Brian J. Murrell, January 1999. > # Modified for Debian. Matt Zimmerman and Eloy Paris, December 2003 > -# Modified to remove useless tests for antiquated kernel versions that > -# this doesn't even work with anyway, and introduces a dependency on /usr > -# being mounted, which causes cosmetic errors on hosts that NFS mount /usr > -# Andrew Pollock, February 2005 > - > -# The alias handling in here probably still sucks. -mdz > > make_resolv_conf() { > - if [ -n "$new_domain_name" -o -n "$new_domain_name_servers" ]; then > + if [ -n "$new_domain_name" ] || [ -n "$new_domain_name_servers" ]; then > local new_resolv_conf=/etc/resolv.conf.dhclient-new > rm -f $new_resolv_conf > if [ -n "$new_domain_name" ]; then > - echo search $new_domain_name >>$new_resolv_conf > - fi > - if [ -n "$new_domain_name_servers" ]; then > - for nameserver in $new_domain_name_servers; do > - echo nameserver $nameserver >>$new_resolv_conf > - done > - else # keep 'old' nameservers > - sed -n /^\w*[Nn][Aa][Mm][Ee][Ss][Ee][Rr][Vv][Ee][Rr]/p > /etc/resolv.conf >>$new_resolv_conf > + echo "search $new_domain_name" >>$new_resolv_conf > fi > - chown --reference=/etc/resolv.conf $new_resolv_conf > - chmod --reference=/etc/resolv.conf $new_resolv_conf > - mv $new_resolv_conf /etc/resolv.conf > - fi > -} > - > -run_hook() { > - local script="$1" > - local exit_status > - > - if [ -f $script ]; then > - . $script > - fi > - > - > - if [ -n "$exit_status" ] && [ "$exit_status" -ne 0 ]; then > - logger -p daemon.err "$script returned non-zero exit status > $exit_status" > - save_exit_status=$exit_status > - fi > - > - return $exit_status > -} > - > -run_hookdir() { > - local dir="$1" > - local exit_status > - > - if [ -d "$dir" ]; then > - for script in $(run-parts --list $dir); do > - run_hook $script || true > - exit_status=$? > + for nameserver in $new_domain_name_servers; do > + echo "nameserver $nameserver" >>$new_resolv_conf > done > + mv $new_resolv_conf /etc/resolv.conf > fi > - > - return $exit_status > -} > - > -# Must be used on exit. Invokes the local dhcp client exit hooks, if any. > -exit_with_hooks() { > - exit_status=$1 > - > - # Source the documented exit-hook script, if it exists > - if ! run_hook /etc/dhcp3/dhclient-exit-hooks; then > - exit_status=$? > - fi > - > - # Now run scripts in the Debian-specific directory. > - if ! run_hookdir /etc/dhcp3/dhclient-exit-hooks.d; then > - exit_status=$? > - fi > - > - exit $exit_status > } > > set_hostname() { > - local current_hostname=$(hostname) > - if [ -z "$current_hostname" -o "$current_hostname" = "(none)" ]; then > - hostname "$new_host_name" > + local current_hostname=$(cat /proc/sys/kernel/hostname) > + if [ -z "$current_hostname" ] || [ "$current_hostname" = "(none)" ]; then > + echo "$new_host_name" > /proc/sys/kernel/hostname > 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 > if [ -n "$new_subnet_mask" ]; then > - new_subnet_arg="netmask $new_subnet_mask" > + new_mask="/$(ptom $new_subnet_mask)" > fi > if [ -n "$old_subnet_mask" ]; then > - old_subnet_arg="netmask $old_subnet_mask" > + old_mask="/$(ptom $old_subnet_mask)" > fi > -if [ -n "$alias_subnet_mask" ]; then > - alias_subnet_arg="netmask $alias_subnet_mask" > -fi > -if [ -n "$new_interface_mtu" ]; then > - mtu_arg="mtu $new_interface_mtu" > + > +if [ -n "$new_broadcast_address" ]; then > + new_broadcast_arg="broadcast $new_broadcast_address" > fi > -if [ -n "$IF_METRIC" ]; then > - metric_arg="metric $IF_METRIC" # interfaces(5), "metric" option > +if [ -n "$old_broadcast_address" ]; then > + old_broadcast_arg="broadcast $old_broadcast_address" > fi > - > - > -# The action starts here > - > -# Invoke the local dhcp client enter hooks, if they exist. > -run_hook /etc/dhcp3/dhclient-enter-hooks > -run_hookdir /etc/dhcp3/dhclient-enter-hooks.d > - > + > # Execute the operation > case "$reason" in > MEDIUM|ARPCHECK|ARPSEND) > # Do nothing > ;; > PREINIT) > - # The DHCP client is requesting that an interface be > - # configured as required in order to send packets prior to > - # receiving an actual address. - dhclient-script(8) > - > - if [ -n "$alias_ip_address" ]; then > - # Bring down alias interface. Its routes will disappear too. > - ifconfig $interface:0- inet 0 > - fi > - ifconfig $interface 0 up > + ip link set $interface up > > # We need to give the kernel some time to get the interface up. > sleep 1 > @@ -137,90 +60,50 @@ > > set_hostname > > - if [ -n "$old_ip_address" -a -n "$alias_ip_address" -a \ > - "$alias_ip_address" != "$old_ip_address" ]; then > - # Possible new alias. Remove old alias. > - ifconfig $interface:0- inet 0 > - fi > - > - if [ -n "$old_ip_address" -a \ > - "$old_ip_address" != "$new_ip_address" ]; then > + if [ -n "$old_ip_address" ] && \ > + [ "$old_ip_address" != "$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 addr del $old_ip_address$old_mask $old_broadcast_arg dev > $interface > + ip link set $interface down > + fi > > + if [ -n "$new_interface_mtu" ]; then > + ip link set $interface mtu $new_interface_mtu || true > fi > > - if [ -z "$old_ip_address" -o "$old_ip_address" != "$new_ip_address" > -o \ > - "$reason" = "BOUND" -o "$reason" = "REBOOT" ]; then > + if [ -z "$old_ip_address" ] || [ "$old_ip_address" != > "$new_ip_address" ] || \ > + [ "$reason" = "BOUND" ] || [ "$reason" = "REBOOT" ]; then > > - ifconfig $interface inet $new_ip_address $new_subnet_arg \ > - $new_broadcast_arg $mtu_arg > + ip link set $interface up > + ip addr flush dev $interface > + ip addr add $new_ip_address$new_mask $new_broadcast_arg dev > $interface > > for router in $new_routers; do > - route add default dev $interface gw $router $metric_arg > + ip route add default via $router > done > fi > > - if [ "$new_ip_address" != "$alias_ip_address" -a -n > "$alias_ip_address" ]; > - 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 > > + # Get the domain name into a file suitable for netcfg to read. > + echo -n "$new_domain_name" > /tmp/domain_name > + > ;; > > EXPIRE|FAIL|RELEASE|STOP) > - if [ -n "$alias_ip_address" ]; then > - # Turn off alias interface. > - ifconfig $interface:0- inet 0 > - fi > - > if [ -n "$old_ip_address" ]; then > # Shut down interface, which will delete routes and clear arp > cache. > - ifconfig $interface inet 0 down > - fi > - > - if [ -n "$alias_ip_address" ]; then > - ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg > - route add -host $alias_ip_address $interface:0 > + ip addr flush dev $interface > + ip link set $interface down > fi > > ;; > > TIMEOUT) > - if [ -n "$alias_ip_address" ]; then > - ifconfig $interface:0- inet 0 > - fi > - > - ifconfig $interface inet $new_ip_address $new_subnet_arg \ > - $new_broadcast_arg $mtu_arg > - > - set -- $new_routers > - first_router="$1" > - > - if ping -q -c 1 $first_router; then > - if [ "$new_ip_address" != "$alias_ip_address" -a \ > - -n "$alias_ip_address" ]; then > - ifconfig $interface:0 inet $alias_ip_address > $alias_subnet_arg > - route add -host $alias_ip_address dev $interface:0 > - fi > - > - for router in $new_routers; do > - route add default dev $interface gw $router $metric_arg > - done > - > - make_resolv_conf > - else > - # Changed from 'ifconfig $interface inet 0 down' - see Debian > bug #144666 > - ifconfig $interface inet 0 > - exit_with_hooks 2 > - fi > + ip link set $interface down > > ;; > esac > > -exit_with_hooks 0 > +exit 0
--- End Message ---
--- Begin Message ---Source: dhcp3 Source-Version: 3.1.0-2 We believe that the bug you reported is fixed in the latest version of dhcp3, which is due to be installed in the Debian FTP archive: dhcp3-client-udeb_3.1.0-2_i386.udeb to pool/main/d/dhcp3/dhcp3-client-udeb_3.1.0-2_i386.udeb dhcp3-client_3.1.0-2_i386.deb to pool/main/d/dhcp3/dhcp3-client_3.1.0-2_i386.deb dhcp3-common_3.1.0-2_i386.deb to pool/main/d/dhcp3/dhcp3-common_3.1.0-2_i386.deb dhcp3-dev_3.1.0-2_i386.deb to pool/main/d/dhcp3/dhcp3-dev_3.1.0-2_i386.deb dhcp3-relay_3.1.0-2_i386.deb to pool/main/d/dhcp3/dhcp3-relay_3.1.0-2_i386.deb dhcp3-server_3.1.0-2_i386.deb to pool/main/d/dhcp3/dhcp3-server_3.1.0-2_i386.deb dhcp3_3.1.0-2.diff.gz to pool/main/d/dhcp3/dhcp3_3.1.0-2.diff.gz dhcp3_3.1.0-2.dsc to pool/main/d/dhcp3/dhcp3_3.1.0-2.dsc A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [EMAIL PROTECTED], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Andrew Pollock <[EMAIL PROTECTED]> (supplier of updated dhcp3 package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [EMAIL PROTECTED]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.7 Date: Fri, 18 Jan 2008 16:35:39 -0800 Source: dhcp3 Binary: dhcp3-client-udeb dhcp3-common dhcp3-relay dhcp3-dev dhcp3-client dhcp3-server Architecture: source i386 Version: 3.1.0-2 Distribution: unstable Urgency: low Maintainer: Eloy A. Paris <[EMAIL PROTECTED]> Changed-By: Andrew Pollock <[EMAIL PROTECTED]> Description: dhcp3-client - DHCP client dhcp3-client-udeb - DHCP Client for debian-installer dhcp3-client-udeb - DHCP Client for debian-installer (udeb) dhcp3-common - common files used by all the dhcp3* packages dhcp3-dev - API for accessing and modifying the DHCP server and client state dhcp3-relay - DHCP relay daemon dhcp3-server - DHCP server for automatic IP address assignment Closes: 313866 399084 461056 461098 Changes: dhcp3 (3.1.0-2) unstable; urgency=low . * debian/dhclient-script.{linux,kfreebsd}: Applied patch from Yves-Alexis Perez to properly remove all instances of \032 in the domain-search option not just the first one (closes: #461056) * Applied patch from Frans Pop to incorporate the light-weight debian-installer dhclient-script into the dhcp3-client-udeb package (closes: #461098, #313866) * debian/dhclient-script.{linux,kfreebsd}: added fix suggested by Helmar Gerloni for static leases without a default gateway option (closes: #399084) Files: b1ded8a1f37be39d192614bf61481d85 762 net important dhcp3_3.1.0-2.dsc 68ca889c753d8fe3f9d948b00bcb1d82 84552 net important dhcp3_3.1.0-2.diff.gz 19a0e66aab2e00ae5bef7a30714e0f7c 323804 net optional dhcp3-server_3.1.0-2_i386.deb a3b90b23e3e970791fd508a4d8c2123c 282972 net important dhcp3-common_3.1.0-2_i386.deb e59fca57a2dfe767e2119b8666b9f6a6 103418 devel optional dhcp3-dev_3.1.0-2_i386.deb 06c8f44ed0ff8f6828d081424d1f5583 216070 net important dhcp3-client_3.1.0-2_i386.deb f76d345115c46257edc76052472801c8 162798 debian-installer extra dhcp3-client-udeb_3.1.0-2_i386.udeb d081fcf4bc67f77b89a34eb0ca566679 98640 net optional dhcp3-relay_3.1.0-2_i386.deb Package-Type: udeb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHkUwjIblXXKfZFgIRAlu1AJsGt7wi05A15U2/gg4i57ok0pCfQQCfSnRm wwQ8NGek9LV8RJfYbT3D8Ac= =9s/8 -----END PGP SIGNATURE-----
--- End Message ---

