diff options
Diffstat (limited to 'packages/busybox/busybox-1.01/dhcp-hostname.patch')
-rw-r--r-- | packages/busybox/busybox-1.01/dhcp-hostname.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/busybox/busybox-1.01/dhcp-hostname.patch b/packages/busybox/busybox-1.01/dhcp-hostname.patch new file mode 100644 index 0000000000..e0adea662e --- /dev/null +++ b/packages/busybox/busybox-1.01/dhcp-hostname.patch @@ -0,0 +1,30 @@ + +# +# 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; |