summaryrefslogtreecommitdiff
path: root/packages/busybox/busybox-1.00/dhcp-hostname.patch
blob: 5eb77a8e102237d0b0d74621ab147029708af961 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
--- busybox/networking/udhcp/dhcpc.c	2005-05-25 11:49:24.000000000 +0100
+++ busybox/networking/udhcp/dhcpc.c	2005-05-25 12:54:30.000000000 +0100
@@ -193,6 +193,7 @@
 	long now;
 	int max_fd;
 	int sig;
+	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;