[git commit] udhcp: rename server_config to server_data

Denys Vlasenko vda.linux at googlemail.com
Thu May 30 14:23:34 UTC 2019


commit: https://git.busybox.net/busybox/commit/?id=91755cb16d496d1094f5d81051a1e1e6f27a21c1
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 networking/udhcp/dhcpd.c | 150 +++++++++++++++++++++++------------------------
 networking/udhcp/dhcpd.h |   8 +--
 2 files changed, 79 insertions(+), 79 deletions(-)

diff --git a/networking/udhcp/dhcpd.c b/networking/udhcp/dhcpd.c
index 058f86bca..6e426e6a2 100644
--- a/networking/udhcp/dhcpd.c
+++ b/networking/udhcp/dhcpd.c
@@ -46,7 +46,7 @@
 
 /* globals */
 #define g_leases ((struct dyn_lease*)ptr_to_globals)
-/* struct server_config_t server_config is in bb_common_bufsiz1 */
+/* struct server_data_t server_data is in bb_common_bufsiz1 */
 
 struct static_lease {
 	struct static_lease *next;
@@ -100,7 +100,7 @@ static void add_static_lease(struct static_lease **st_lease_pp,
 /* Find static lease IP by mac */
 static uint32_t get_static_nip_by_mac(void *mac)
 {
-	struct static_lease *st_lease = server_config.static_leases;
+	struct static_lease *st_lease = server_data.static_leases;
 
 	while (st_lease) {
 		if (memcmp(st_lease->mac, mac, 6) == 0)
@@ -113,7 +113,7 @@ static uint32_t get_static_nip_by_mac(void *mac)
 
 static int is_nip_reserved_as_static(uint32_t nip)
 {
-	struct static_lease *st_lease = server_config.static_leases;
+	struct static_lease *st_lease = server_data.static_leases;
 
 	while (st_lease) {
 		if (st_lease->nip == nip)
@@ -133,7 +133,7 @@ static struct dyn_lease *oldest_expired_lease(void)
 
 	/* Unexpired leases have g_leases[i].expires >= current time
 	 * and therefore can't ever match */
-	for (i = 0; i < server_config.max_leases; i++) {
+	for (i = 0; i < server_data.max_leases; i++) {
 		if (g_leases[i].expires == 0 /* empty entry */
 		 || g_leases[i].expires < oldest_time
 		) {
@@ -151,7 +151,7 @@ static void clear_leases(const uint8_t *chaddr, uint32_t yiaddr)
 {
 	unsigned i;
 
-	for (i = 0; i < server_config.max_leases; i++) {
+	for (i = 0; i < server_data.max_leases; i++) {
 		if ((chaddr && memcmp(g_leases[i].lease_mac, chaddr, 6) == 0)
 		 || (yiaddr && g_leases[i].lease_nip == yiaddr)
 		) {
@@ -216,7 +216,7 @@ static struct dyn_lease *find_lease_by_mac(const uint8_t *mac)
 {
 	unsigned i;
 
-	for (i = 0; i < server_config.max_leases; i++)
+	for (i = 0; i < server_data.max_leases; i++)
 		if (memcmp(g_leases[i].lease_mac, mac, 6) == 0)
 			return &g_leases[i];
 
@@ -228,7 +228,7 @@ static struct dyn_lease *find_lease_by_nip(uint32_t nip)
 {
 	unsigned i;
 
-	for (i = 0; i < server_config.max_leases; i++)
+	for (i = 0; i < server_data.max_leases; i++)
 		if (g_leases[i].lease_nip == nip)
 			return &g_leases[i];
 
@@ -242,17 +242,17 @@ static int nobody_responds_to_arp(uint32_t nip, const uint8_t *safe_mac, unsigne
 	int r;
 
 	r = arpping(nip, safe_mac,
-			server_config.server_nip,
-			server_config.server_mac,
-			server_config.interface,
+			server_data.server_nip,
+			server_data.server_mac,
+			server_data.interface,
 			arpping_ms);
 	if (r)
 		return r;
 
 	temp.s_addr = nip;
 	bb_info_msg("%s belongs to someone, reserving it for %u seconds",
-		inet_ntoa(temp), (unsigned)server_config.conflict_time);
-	add_lease(NULL, nip, server_config.conflict_time, NULL, 0);
+		inet_ntoa(temp), (unsigned)server_data.conflict_time);
+	add_lease(NULL, nip, server_data.conflict_time, NULL, 0);
 	return 0;
 }
 
@@ -274,12 +274,12 @@ static uint32_t find_free_or_expired_nip(const uint8_t *safe_mac, unsigned arppi
 		hash += safe_mac[i] + (hash << 6) + (hash << 16) - hash;
 
 	/* pick a seed based on hwaddr then iterate until we find a free address. */
-	addr = server_config.start_ip
-		+ (hash % (1 + server_config.end_ip - server_config.start_ip));
+	addr = server_data.start_ip
+		+ (hash % (1 + server_data.end_ip - server_data.start_ip));
 	stop = addr;
 #else
-	addr = server_config.start_ip;
-#define stop (server_config.end_ip + 1)
+	addr = server_data.start_ip;
+#define stop (server_data.end_ip + 1)
 #endif
 	do {
 		uint32_t nip;
@@ -293,7 +293,7 @@ static uint32_t find_free_or_expired_nip(const uint8_t *safe_mac, unsigned arppi
 			goto next_addr;
 		nip = htonl(addr);
 		/* skip our own address */
-		if (nip == server_config.server_nip)
+		if (nip == server_data.server_nip)
 			goto next_addr;
 		/* is this a static lease addr? */
 		if (is_nip_reserved_as_static(nip))
@@ -312,8 +312,8 @@ static uint32_t find_free_or_expired_nip(const uint8_t *safe_mac, unsigned arppi
  next_addr:
 		addr++;
 #if ENABLE_FEATURE_UDHCPD_BASE_IP_ON_MAC
-		if (addr > server_config.end_ip)
-			addr = server_config.start_ip;
+		if (addr > server_data.end_ip)
+			addr = server_data.start_ip;
 #endif
 	} while (addr != stop);
 
@@ -386,7 +386,7 @@ struct config_keyword {
 	const char *def;
 };
 
-#define OFS(field) offsetof(struct server_config_t, field)
+#define OFS(field) offsetof(struct server_data_t, field)
 
 static const struct config_keyword keywords[] = {
 	/* keyword        handler           variable address    default */
@@ -422,17 +422,17 @@ static NOINLINE void read_config(const char *file)
 	char *token[2];
 
 	for (i = 0; i < KWS_WITH_DEFAULTS; i++)
-		keywords[i].handler(keywords[i].def, (char*)&server_config + keywords[i].ofs);
+		keywords[i].handler(keywords[i].def, (char*)&server_data + keywords[i].ofs);
 
 	parser = config_open(file);
 	while (config_read(parser, token, 2, 2, "# \t", PARSE_NORMAL)) {
 		for (k = keywords, i = 0; i < ARRAY_SIZE(keywords); k++, i++) {
 			if (strcasecmp(token[0], k->keyword) == 0) {
-				if (!k->handler(token[1], (char*)&server_config + k->ofs)) {
+				if (!k->handler(token[1], (char*)&server_data + k->ofs)) {
 					bb_error_msg("can't parse line %u in %s",
 							parser->lineno, file);
 					/* reset back to the default value */
-					k->handler(k->def, (char*)&server_config + k->ofs);
+					k->handler(k->def, (char*)&server_data + k->ofs);
 				}
 				break;
 			}
@@ -440,8 +440,8 @@ static NOINLINE void read_config(const char *file)
 	}
 	config_close(parser);
 
-	server_config.start_ip = ntohl(server_config.start_ip);
-	server_config.end_ip = ntohl(server_config.end_ip);
+	server_data.start_ip = ntohl(server_data.start_ip);
+	server_data.end_ip = ntohl(server_data.end_ip);
 }
 
 static void write_leases(void)
@@ -451,7 +451,7 @@ static void write_leases(void)
 	leasetime_t curr;
 	int64_t written_at;
 
-	fd = open_or_warn(server_config.lease_file, O_WRONLY|O_CREAT|O_TRUNC);
+	fd = open_or_warn(server_data.lease_file, O_WRONLY|O_CREAT|O_TRUNC);
 	if (fd < 0)
 		return;
 
@@ -460,7 +460,7 @@ static void write_leases(void)
 	written_at = SWAP_BE64(written_at);
 	full_write(fd, &written_at, sizeof(written_at));
 
-	for (i = 0; i < server_config.max_leases; i++) {
+	for (i = 0; i < server_data.max_leases; i++) {
 		leasetime_t tmp_time;
 
 		if (g_leases[i].lease_nip == 0)
@@ -483,10 +483,10 @@ static void write_leases(void)
 	}
 	close(fd);
 
-	if (server_config.notify_file) {
+	if (server_data.notify_file) {
 		char *argv[3];
-		argv[0] = server_config.notify_file;
-		argv[1] = server_config.lease_file;
+		argv[0] = server_data.notify_file;
+		argv[1] = server_data.lease_file;
 		argv[2] = NULL;
 		spawn_and_wait(argv);
 	}
@@ -517,7 +517,7 @@ static NOINLINE void read_leases(const char *file)
 
 	while (full_read(fd, &lease, sizeof(lease)) == sizeof(lease)) {
 		uint32_t y = ntohl(lease.lease_nip);
-		if (y >= server_config.start_ip && y <= server_config.end_ip) {
+		if (y >= server_data.start_ip && y <= server_data.end_ip) {
 			signed_leasetime_t expires = ntohl(lease.expires) - (signed_leasetime_t)time_passed;
 			uint32_t static_nip;
 
@@ -590,9 +590,9 @@ static void send_packet_to_client(struct dhcp_packet *dhcp_pkt, int force_broadc
 	}
 
 	udhcp_send_raw_packet(dhcp_pkt,
-		/*src*/ server_config.server_nip, SERVER_PORT,
+		/*src*/ server_data.server_nip, SERVER_PORT,
 		/*dst*/ ciaddr, CLIENT_PORT, chaddr,
-		server_config.ifindex);
+		server_data.ifindex);
 }
 
 /* Send a packet to gateway_nip using the kernel ip stack */
@@ -601,7 +601,7 @@ static void send_packet_to_relay(struct dhcp_packet *dhcp_pkt)
 	log1("forwarding packet to relay");
 
 	udhcp_send_kernel_packet(dhcp_pkt,
-			server_config.server_nip, SERVER_PORT,
+			server_data.server_nip, SERVER_PORT,
 			dhcp_pkt->gateway_nip, SERVER_PORT);
 }
 
@@ -633,7 +633,7 @@ static void init_packet(struct dhcp_packet *packet, struct dhcp_packet *oldpacke
 	packet->flags = oldpacket->flags;
 	packet->gateway_nip = oldpacket->gateway_nip;
 	packet->ciaddr = oldpacket->ciaddr;
-	udhcp_add_simple_option(packet, DHCP_SERVER_ID, server_config.server_nip);
+	udhcp_add_simple_option(packet, DHCP_SERVER_ID, server_data.server_nip);
 }
 
 /* Fill options field, siaddr_nip, and sname and boot_file fields.
@@ -646,7 +646,7 @@ static void add_server_options(struct dhcp_packet *packet)
 
 	client_hostname_opt = NULL;
 	if (packet->yiaddr) { /* if we aren't from send_inform()... */
-		struct static_lease *st_lease = server_config.static_leases;
+		struct static_lease *st_lease = server_data.static_leases;
 		while (st_lease) {
 			if (st_lease->nip == packet->yiaddr) {
 				if (st_lease->opt[0] != 0)
@@ -657,7 +657,7 @@ static void add_server_options(struct dhcp_packet *packet)
 		}
 	}
 
-	config_opts = server_config.options;
+	config_opts = server_data.options;
 	while (config_opts) {
 		if (config_opts->data[OPT_CODE] != DHCP_LEASE_TIME) {
 			/* ^^^^
@@ -684,25 +684,25 @@ static void add_server_options(struct dhcp_packet *packet)
 	if (client_hostname_opt)
 		udhcp_add_binary_option(packet, client_hostname_opt);
 
-	packet->siaddr_nip = server_config.siaddr_nip;
+	packet->siaddr_nip = server_data.siaddr_nip;
 
-	if (server_config.sname)
-		strncpy((char*)packet->sname, server_config.sname, sizeof(packet->sname) - 1);
-	if (server_config.boot_file)
-		strncpy((char*)packet->file, server_config.boot_file, sizeof(packet->file) - 1);
+	if (server_data.sname)
+		strncpy((char*)packet->sname, server_data.sname, sizeof(packet->sname) - 1);
+	if (server_data.boot_file)
+		strncpy((char*)packet->file, server_data.boot_file, sizeof(packet->file) - 1);
 }
 
 static uint32_t select_lease_time(struct dhcp_packet *packet)
 {
-	uint32_t lease_time_sec = server_config.max_lease_sec;
+	uint32_t lease_time_sec = server_data.max_lease_sec;
 	uint8_t *lease_time_opt = udhcp_get_option32(packet, DHCP_LEASE_TIME);
 	if (lease_time_opt) {
 		move_from_unaligned32(lease_time_sec, lease_time_opt);
 		lease_time_sec = ntohl(lease_time_sec);
-		if (lease_time_sec > server_config.max_lease_sec)
-			lease_time_sec = server_config.max_lease_sec;
-		if (lease_time_sec < server_config.min_lease_sec)
-			lease_time_sec = server_config.min_lease_sec;
+		if (lease_time_sec > server_data.max_lease_sec)
+			lease_time_sec = server_data.max_lease_sec;
+		if (lease_time_sec < server_data.min_lease_sec)
+			lease_time_sec = server_data.min_lease_sec;
 	}
 	return lease_time_sec;
 }
@@ -737,8 +737,8 @@ static NOINLINE void send_offer(struct dhcp_packet *oldpacket,
 		/* Or: if client has requested an IP */
 		else if (requested_nip != 0
 		 /* and the IP is in the lease range */
-		 && ntohl(requested_nip) >= server_config.start_ip
-		 && ntohl(requested_nip) <= server_config.end_ip
+		 && ntohl(requested_nip) >= server_data.start_ip
+		 && ntohl(requested_nip) <= server_data.end_ip
 		 /* and */
 		 && (  !(lease = find_lease_by_nip(requested_nip)) /* is not already taken */
 		    || is_expired_lease(lease) /* or is taken, but expired */
@@ -758,7 +758,7 @@ static NOINLINE void send_offer(struct dhcp_packet *oldpacket,
 		/* Reserve the IP for a short time hoping to get DHCPREQUEST soon */
 		p_host_name = (const char*) udhcp_get_option(oldpacket, DHCP_HOST_NAME);
 		lease = add_lease(packet.chaddr, packet.yiaddr,
-				server_config.offer_time,
+				server_data.offer_time,
 				p_host_name,
 				p_host_name ? (unsigned char)p_host_name[OPT_LEN - OPT_DATA] : 0
 		);
@@ -886,7 +886,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 	}
 	if (opt & 4) { /* -I */
 		len_and_sockaddr *lsa = xhost_and_af2sockaddr(str_I, 0, AF_INET);
-		server_config.server_nip = lsa->u.sin.sin_addr.s_addr;
+		server_data.server_nip = lsa->u.sin.sin_addr.s_addr;
 		free(lsa);
 	}
 #if ENABLE_FEATURE_UDHCP_PORT
@@ -901,42 +901,42 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 	 * otherwise NOMMU machines will parse config twice */
 	read_config(argv[0] ? argv[0] : DHCPD_CONF_FILE);
 	/* prevent poll timeout overflow */
-	if (server_config.auto_time > INT_MAX / 1000)
-		server_config.auto_time = INT_MAX / 1000;
+	if (server_data.auto_time > INT_MAX / 1000)
+		server_data.auto_time = INT_MAX / 1000;
 
 	/* Make sure fd 0,1,2 are open */
 	bb_sanitize_stdio();
 
 	/* Create pidfile */
-	write_pidfile(server_config.pidfile);
+	write_pidfile(server_data.pidfile);
 	/* if (!..) bb_perror_msg("can't create pidfile %s", pidfile); */
 
 	bb_info_msg("started, v"BB_VER);
 
-	option = udhcp_find_option(server_config.options, DHCP_LEASE_TIME);
-	server_config.max_lease_sec = DEFAULT_LEASE_TIME;
+	option = udhcp_find_option(server_data.options, DHCP_LEASE_TIME);
+	server_data.max_lease_sec = DEFAULT_LEASE_TIME;
 	if (option) {
-		move_from_unaligned32(server_config.max_lease_sec, option->data + OPT_DATA);
-		server_config.max_lease_sec = ntohl(server_config.max_lease_sec);
+		move_from_unaligned32(server_data.max_lease_sec, option->data + OPT_DATA);
+		server_data.max_lease_sec = ntohl(server_data.max_lease_sec);
 	}
 
 	/* Sanity check */
-	num_ips = server_config.end_ip - server_config.start_ip + 1;
-	if (server_config.max_leases > num_ips) {
+	num_ips = server_data.end_ip - server_data.start_ip + 1;
+	if (server_data.max_leases > num_ips) {
 		bb_error_msg("max_leases=%u is too big, setting to %u",
-			(unsigned)server_config.max_leases, num_ips);
-		server_config.max_leases = num_ips;
+			(unsigned)server_data.max_leases, num_ips);
+		server_data.max_leases = num_ips;
 	}
 
 	/* this sets g_leases */
-	SET_PTR_TO_GLOBALS(xzalloc(server_config.max_leases * sizeof(g_leases[0])));
+	SET_PTR_TO_GLOBALS(xzalloc(server_data.max_leases * sizeof(g_leases[0])));
 
-	read_leases(server_config.lease_file);
+	read_leases(server_data.lease_file);
 
-	if (udhcp_read_interface(server_config.interface,
-			&server_config.ifindex,
-			(server_config.server_nip == 0 ? &server_config.server_nip : NULL),
-			server_config.server_mac)
+	if (udhcp_read_interface(server_data.interface,
+			&server_data.ifindex,
+			(server_data.server_nip == 0 ? &server_data.server_nip : NULL),
+			server_data.server_mac)
 	) {
 		retval = 1;
 		goto ret;
@@ -946,7 +946,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 	udhcp_sp_setup();
 
  continue_with_autotime:
-	timeout_end = monotonic_sec() + server_config.auto_time;
+	timeout_end = monotonic_sec() + server_data.auto_time;
 	while (1) { /* loop until universe collapses */
 		struct pollfd pfds[2];
 		struct dhcp_packet packet;
@@ -960,14 +960,14 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 
 		if (server_socket < 0) {
 			server_socket = udhcp_listen_socket(/*INADDR_ANY,*/ SERVER_PORT,
-					server_config.interface);
+					server_data.interface);
 		}
 
 		udhcp_sp_fd_set(pfds, server_socket);
 
  new_tv:
 		tv = -1;
-		if (server_config.auto_time) {
+		if (server_data.auto_time) {
 			tv = timeout_end - monotonic_sec();
 			if (tv <= 0) {
  write_leases:
@@ -1037,7 +1037,7 @@ int udhcpd_main(int argc UNUSED_PARAM, char **argv)
 		if (server_id_opt) {
 			uint32_t server_id_network_order;
 			move_from_unaligned32(server_id_network_order, server_id_opt);
-			if (server_id_network_order != server_config.server_nip) {
+			if (server_id_network_order != server_data.server_nip) {
 				/* client talks to somebody else */
 				log1("server ID doesn't match, ignoring");
 				continue;
@@ -1204,7 +1204,7 @@ o DHCPREQUEST generated during REBINDING state:
 			 && requested_nip == lease->lease_nip
 			) {
 				memset(lease->lease_mac, 0, sizeof(lease->lease_mac));
-				lease->expires = time(NULL) + server_config.decline_time;
+				lease->expires = time(NULL) + server_data.decline_time;
 			}
 			break;
 
@@ -1235,7 +1235,7 @@ o DHCPREQUEST generated during REBINDING state:
  ret0:
 	retval = 0;
  ret:
-	/*if (server_config.pidfile) - server_config.pidfile is never NULL */
-		remove_pidfile(server_config.pidfile);
+	/*if (server_data.pidfile) - server_data.pidfile is never NULL */
+		remove_pidfile(server_data.pidfile);
 	return retval;
 }
diff --git a/networking/udhcp/dhcpd.h b/networking/udhcp/dhcpd.h
index ba11d77e8..b42849bbb 100644
--- a/networking/udhcp/dhcpd.h
+++ b/networking/udhcp/dhcpd.h
@@ -17,7 +17,7 @@ PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
 
 struct static_lease;
 
-struct server_config_t {
+struct server_data_t {
 	char *interface;                /* interface to use */
 //TODO: ifindex, server_nip, server_mac
 // are obtained from interface name.
@@ -53,12 +53,12 @@ struct server_config_t {
 	struct static_lease *static_leases; /* List of ip/mac pairs to assign static leases */
 } FIX_ALIASING;
 
-#define server_config (*(struct server_config_t*)bb_common_bufsiz1)
+#define server_data (*(struct server_data_t*)bb_common_bufsiz1)
 /* client_data sits in 2nd half of bb_common_bufsiz1 */
 
 #if ENABLE_FEATURE_UDHCP_PORT
-#define SERVER_PORT  (server_config.port)
-#define SERVER_PORT6 (server_config.port)
+#define SERVER_PORT  (server_data.port)
+#define SERVER_PORT6 (server_data.port)
 #else
 #define SERVER_PORT  67
 #define SERVER_PORT6 547


More information about the busybox-cvs mailing list