File dhcpcd-3.2.3-more-params.diff of Package dhcpcd
diff -u dhcpcd-3.2.3-suse/dhcp.c dhcpcd-3.2.3-more-params/dhcp.c
--- dhcpcd-3.2.3-suse/dhcp.c 2008-02-25 09:28:19.000000000 +0100
+++ dhcpcd-3.2.3-more-params/dhcp.c 2008-09-09 09:42:58.000000000 +0200
@@ -312,6 +312,11 @@
*p++ = DHCP_ROOTPATH;
*p++ = DHCP_SIPSERVER;
#endif
+ *p++ = DHCP_LPRSERVER;
+ *p++ = DHCP_LOGSERVER;
+ *p++ = DHCP_NETBIOSNAMESERVER;
+ *p++ = DHCP_NETBIOSDDSERVER;
+ *p++ = DHCP_NETBIOSSCOPE;
}
*n_params = p - n_params - 1;
@@ -474,6 +479,12 @@
free (dhcp->fqdn->name);
free (dhcp->fqdn);
}
+ free (dhcp->lprservers);
+ free (dhcp->logservers);
+ free (dhcp->netbiosnameservers);
+ free (dhcp->netbiosddservers);
+ free (dhcp->netbiosscope);
+ free (dhcp->netbiosnodetype);
}
static bool dhcp_add_address (struct address_head **addresses,
@@ -787,6 +798,13 @@
GETSTR (dhcp->nisdomain);
break;
#endif
+ case DHCP_NETBIOSNODETYPE:
+ GETSTR (dhcp->netbiosnodetype);
+ break;
+ case DHCP_NETBIOSSCOPE:
+ GETSTR (dhcp->netbiosscope);
+ break;
+
#undef GETSTR
#define GETADDR(_var) \
@@ -809,6 +827,18 @@
GETADDR (dhcp->nisservers);
break;
#endif
+ case DHCP_LPRSERVER:
+ GETADDR (dhcp->lprservers);
+ break;
+ case DHCP_LOGSERVER:
+ GETADDR (dhcp->logservers);
+ break;
+ case DHCP_NETBIOSNAMESERVER:
+ GETADDR (dhcp->netbiosnameservers);
+ break;
+ case DHCP_NETBIOSDDSERVER:
+ GETADDR (dhcp->netbiosddservers);
+ break;
#undef GETADDR
case DHCP_DNSSEARCH:
diff -u dhcpcd-3.2.3-suse/dhcp.h dhcpcd-3.2.3-more-params/dhcp.h
--- dhcpcd-3.2.3-suse/dhcp.h 2008-02-25 09:28:19.000000000 +0100
+++ dhcpcd-3.2.3-more-params/dhcp.h 2008-09-03 11:20:52.000000000 +0200
@@ -74,18 +74,47 @@
DHCP_DNSSERVER = 6,
DHCP_LOGSERVER = 7,
DHCP_COOKIESERVER = 8,
+ DHCP_LPRSERVER = 9,
+ DHCP_IMPRESSSERVER = 10,
+ DHCP_RLSSERVER = 11,
DHCP_HOSTNAME = 12,
+ DHCP_BOOTFILESIZE = 13,
+ DHCP_MERITDUMPFILE = 14,
DHCP_DNSDOMAIN = 15,
+ DHCP_SWAPSERVER = 16,
DHCP_ROOTPATH = 17,
+ DHCP_EXTENTIONSPATH = 18,
+ DHCP_IPFORWARDING = 19,
+ DHCP_NONLOCALSOURCEROUTING = 20,
+ DHCP_POLICYFILTER = 21,
+ DHCP_MAXDGRAMREASMSIZE = 22,
DHCP_DEFAULTIPTTL = 23,
+ DHCP_PATHMTUAGINGTIMEOUT = 24,
+ DHCP_PATHMTUPLATEAUTABLE = 25,
DHCP_MTU = 26,
+ DHCP_ALLSUBNETSLOCAL = 27,
DHCP_BROADCAST = 28,
DHCP_MASKDISCOVERY = 29,
+ DHCP_MASKSUPPLIER = 30,
DHCP_ROUTERDISCOVERY = 31,
+ DHCP_ROUTERSOLICITATIONADDR = 32,
DHCP_STATICROUTE = 33,
+ DHCP_TRAILERENCAPSULATION = 34,
+ DHCP_ARPCACHETIMEOUT = 35,
+ DHCP_ETHERNETENCAPSULATION = 36,
+ DHCP_TCPDEFAULTTTL = 37,
+ DHCP_TCPKEEPALIVEINTERVAL = 38,
+ DHCP_TCPKEEPALIVEGARBAGE = 39,
DHCP_NISDOMAIN = 40,
DHCP_NISSERVER = 41,
DHCP_NTPSERVER = 42,
+ DHCP_VENDORSPECIFICINFO = 43,
+ DHCP_NETBIOSNAMESERVER = 44,
+ DHCP_NETBIOSDDSERVER = 45,
+ DHCP_NETBIOSNODETYPE = 46,
+ DHCP_NETBIOSSCOPE = 47,
+ DHCP_XFONTSERVER = 48,
+ DHCP_XDISPLAYMANAGER = 49,
DHCP_ADDRESS = 50,
DHCP_LEASETIME = 51,
DHCP_OPTIONSOVERLOADED = 52,
@@ -164,6 +193,14 @@
char *rootpath;
bool frominfo;
+
+ struct address_head *lprservers;
+ struct address_head *logservers;
+ struct address_head *netbiosnameservers;
+ struct address_head *netbiosddservers;
+ char *netbiosscope;
+ char *netbiosnodetype;
+
} dhcp_t;
/* Sizes for DHCP options */
diff -u dhcpcd-3.2.3-suse/info.c dhcpcd-3.2.3-more-params/info.c
--- dhcpcd-3.2.3-suse/info.c 2008-02-25 09:28:19.000000000 +0100
+++ dhcpcd-3.2.3-more-params/info.c 2008-09-09 09:46:24.000000000 +0200
@@ -245,6 +245,48 @@
}
#endif
+ if (dhcp->lprservers) {
+ address_t *addr;
+ fprintf (f, "LPRSERVER='");
+ STAILQ_FOREACH (addr, dhcp->lprservers, entries) {
+ fprintf (f, "%s", inet_ntoa (addr->address));
+ if (STAILQ_NEXT (addr, entries))
+ fprintf (f, ",");
+ }
+ fprintf (f, "'\n");
+ }
+ if (dhcp->logservers) {
+ address_t *addr;
+ fprintf (f, "LOGSERVER='");
+ STAILQ_FOREACH (addr, dhcp->logservers, entries) {
+ fprintf (f, "%s", inet_ntoa (addr->address));
+ if (STAILQ_NEXT (addr, entries))
+ fprintf (f, ",");
+ }
+ fprintf (f, "'\n");
+ }
+ if (dhcp->netbiosnameservers) {
+ address_t *addr;
+ fprintf (f, "NETBIOSNAMESERVER='");
+ STAILQ_FOREACH (addr, dhcp->netbiosnameservers, entries) {
+ fprintf (f, "%s", inet_ntoa (addr->address));
+ if (STAILQ_NEXT (addr, entries))
+ fprintf (f, ",");
+ }
+ fprintf (f, "'\n");
+ }
+ if (dhcp->netbiosddservers) {
+ address_t *addr;
+ fprintf (f, "NETBIOSDDSERVER='");
+ STAILQ_FOREACH (addr, dhcp->netbiosddservers, entries) {
+ fprintf (f, "%s", inet_ntoa (addr->address));
+ if (STAILQ_NEXT (addr, entries))
+ fprintf (f, ",");
+ }
+ fprintf (f, "'\n");
+ }
+ print_clean (f, "NETBIOSSCOPE", dhcp->netbiosscope);
+ print_clean (f, "NETBIOSNODETYPE", dhcp->netbiosnodetype);
if (! options->test)
fclose (f);
return (true);
@@ -459,6 +501,16 @@
parse_uint (&dhcp->renewaltime, value, "RENEWALTIME");
else if (strcmp (var, "REBINDTIME") == 0)
parse_uint (&dhcp->rebindtime, value, "REBINDTIME");
+ 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, "NETBIOSSCOPE") == 0)
+ dhcp->netbiosscope = xstrdup (value);
+ else if (strcmp (var, "NETBIOSNAMESERVER") == 0)
+ dhcp->netbiosnameservers = parse_addresses (value, "NETBIOSNAMESERVER");
+ else if (strcmp (var, "NETBIOSDDSERVER") == 0)
+ dhcp->netbiosddservers = parse_addresses (value, "NETBIOSDDSERVER");
next:
free (line);