Browse Source

FILS: Fix fils_hlp.c build with older netinet/udp.h definitions

The __FAVOR_BSD macro was previously used in netinet/udp.h to select
between two different names of the variables in struct udphdr. Define
that to force the versions with the uh_ prefix. In addition, use the
same style consistently within fils_hlp.c.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen 8 years ago
parent
commit
4c8836f139
2 changed files with 8 additions and 2 deletions
  1. 2 2
      src/ap/fils_hlp.c
  2. 6 0
      src/common/dhcp.h

+ 2 - 2
src/ap/fils_hlp.c

@@ -269,8 +269,8 @@ static void fils_dhcp_handler(int sd, void *eloop_ctx, void *sock_ctx)
 	udph = wpabuf_put(resp, sizeof(*udph));
 	udph->uh_sport = htons(DHCP_SERVER_PORT);
 	udph->uh_dport = htons(DHCP_CLIENT_PORT);
-	udph->len = htons(sizeof(*udph) + (end - pos));
-	udph->check = htons(0x0000); /* TODO: calculate checksum */
+	udph->uh_ulen = htons(sizeof(*udph) + (end - pos));
+	udph->uh_sum = htons(0x0000); /* TODO: calculate checksum */
 	if (hapd->conf->dhcp_rapid_commit_proxy && msgtype == DHCPACK &&
 	    !rapid_commit && sta->fils_dhcp_rapid_commit_proxy && end_opt) {
 		/* Add rapid commit option */

+ 6 - 0
src/common/dhcp.h

@@ -10,7 +10,13 @@
 #define DHCP_H
 
 #include <netinet/ip.h>
+#if __FAVOR_BSD
 #include <netinet/udp.h>
+#else
+#define __FAVOR_BSD 1
+#include <netinet/udp.h>
+#undef __FAVOR_BSD
+#endif
 
 #define DHCP_SERVER_PORT 67
 #define DHCP_CLIENT_PORT 68