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 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.