31 lines
774 B
Diff
31 lines
774 B
Diff
|
|
#
|
|
# Patch managed by http://www.holgerschurig.de/patcher.html
|
|
#
|
|
|
|
--- busybox-1.01/networking/udhcp/dhcpc.c~dhcp-hostname
|
|
+++ busybox-1.01/networking/udhcp/dhcpc.c
|
|
@@ -193,6 +193,7 @@
|
|
int max_fd;
|
|
int sig;
|
|
int no_clientid = 0;
|
|
+ char hostbuf[256]; /* SUSv2: hostnames are <= 255 bytes */
|
|
|
|
static const struct option arg_options[] = {
|
|
{"clientid", required_argument, 0, 'c'},
|
|
@@ -211,6 +212,14 @@
|
|
{0, 0, 0, 0}
|
|
};
|
|
|
|
+ if (gethostname (hostbuf, sizeof (hostbuf)) == 0) {
|
|
+ len = strlen (hostbuf);
|
|
+ client_config.hostname = xmalloc (len + 2);
|
|
+ client_config.hostname[OPT_CODE] = DHCP_HOST_NAME;
|
|
+ client_config.hostname[OPT_LEN] = len;
|
|
+ strncpy(client_config.hostname + 2, hostbuf, len);
|
|
+ }
|
|
+
|
|
/* get options */
|
|
while (1) {
|
|
int option_index = 0;
|