https://bugzilla.novell.com/show_bug.cgi?id=423145 Summary: SUSE-specific dhcpcd patch makes retrieving IP impossible Product: openSUSE 11.0 Version: Final Platform: All OS/Version: openSUSE 11.0 Status: NEW Severity: Blocker Priority: P5 - None Component: Network AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: matthias.andree@gmx.de QAContact: qa@suse.de Found By: --- Matthias Andree <matthias.andree@gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Flag| |SHIP_STOPPER? dhcpcd-3.2.3-6.1 contains a SUSE-specific patch that breaks dhcpcd, dhcpcd-3.2.3-more-params.diff. dhcpcd now requests - among others - DHCP option 47, the NetBIOS scope, DHCP_NETBIOSSCOPE. This patch breaks dhcpcd in various ways: 1. No documentation is added anywhere about what this patch does. The documentation should - even if not required by the 2-clause BSD license - make very clear that the openSUSE version is functionally modified in non-trivial ways, and that Novell will be responsible for the fallout, rather than Roy S. Marples. That much respect do Open Source authors deserve, to avoid being annoyed with bogus bug reports such as http://bugs.marples.name/show_bug.cgi?id=112 2. dhcpcd's requesting option 47 fails if the DHCP server returns an empty, i. e. 0-length, NetBIOS scope, with these error messages: Sep 4 09:31:38 foo dhcpcd[2294]: eth0: option 47 has zero length Sep 4 09:31:38 foo dhcpcd[2294]: eth0: failed to parse packet dhcpcd consequently discards the whole packet, unable to obtain the IP from servers that send an empty NetBIOS scope. 3. Note that the patch doesn't work as supposed to, it breaks when reading the old lease information; look closely - the NetBIOS scope overwrites the rebind time: @@ -459,6 +501,18 @@ parse_uint (&dhcp->renewaltime, value, "RENEWALTIME"); else if (strcmp (var, "REBINDTIME") == 0) parse_uint (&dhcp->rebindtime, value, "REBINDTIME"); + else if (strcmp (var, "NETBIOSSCOPE") == 0) + parse_uint (&dhcp->rebindtime, value, "NETBIOSSCOPE"); + else if (strcmp (var, "NETBIOSNAMESERVER") == 0) + parse_uint (&dhcp->rebindtime, value, "NETBIOSNAMESERVER"); + else if (strcmp (var, "LPRSERVER") == 0) + dhcp->lprservers = parse_addresses (value, "LPRSERVER"); + else if (strcmp (var, "LOGSERVER") == 0) + dhcp->logservers = parse_addresses (value, "LOGSERVER"); + else if (strcmp (var, "NETBIOSNAMESERVER") == 0) + dhcp->netbiosnameservers = parse_addresses (value, "NETBIOSNAMESERVER"); + else if (strcmp (var, "NETBIOSDDSERVER") == 0) + dhcp->netbiosddservers = parse_addresses (value, "NETBIOSDDSERVER"); 4. If you need to extend the software, submit patches to the upstream maintainer. Also note that this patching makes dhcpcd and dhclient incompatible on openSUSE 11.0. 5. Note that dhclient doesn't request option 47 either. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.