summaryrefslogtreecommitdiff
blob: a210982c340b3f04f9906914528b82f984fafb67 (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
From 12ddbee51f0e1cf4372146f8d42ea404dd07dba3 Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@marples.name>
Date: Thu, 2 Apr 2020 19:54:19 +0000
Subject: Fix build without INET or INET6

---
 src/dhcpcd.c       | 2 +-
 src/if-bsd.c       | 2 ++
 src/if-options.c   | 6 ++++++
 src/privsep-root.c | 2 ++
 4 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/dhcpcd.c b/src/dhcpcd.c
index 057a1fd9..9208f37c 100644
--- a/src/dhcpcd.c
+++ b/src/dhcpcd.c
@@ -2169,7 +2169,7 @@ printpidfile:
 	}
 #endif
 
-#ifdef BSD
+#if defined(BSD) && defined(INET6)
 	/* Disable the kernel RTADV sysctl as early as possible. */
 	if (ctx.options & DHCPCD_IPV6 && ctx.options & DHCPCD_IPV6RS)
 		if_disable_rtadv();
diff --git a/src/if-bsd.c b/src/if-bsd.c
index dbe5c359..d6c38903 100644
--- a/src/if-bsd.c
+++ b/src/if-bsd.c
@@ -1524,6 +1524,8 @@ if_missfilter0(struct dhcpcd_ctx *ctx, struct interface *ifp,
 #ifdef INET6
 	if (sa->sa_family == AF_INET6)
 		ifa_setscope(satosin6(sa), ifp->index);
+#else
+	UNUSED(ifp);
 #endif
 
 	cp = ctx->rt_missfilter + ctx->rt_missfilterlen;
diff --git a/src/if-options.c b/src/if-options.c
index 7850ff2e..1280cfbd 100644
--- a/src/if-options.c
+++ b/src/if-options.c
@@ -573,6 +573,8 @@ set_option_space(struct dhcpcd_ctx *ctx,
 		return;
 	}
 #endif
+#else
+	UNUSED(arg);
 #endif
 
 #ifdef INET
@@ -1275,6 +1277,7 @@ parse_option(struct dhcpcd_ctx *ctx, const char *ifname, struct if_options *ifo,
 		memset(ifo->nomask6, 0xff, sizeof(ifo->nomask6));
 
 		/* Allow the bare minimum through */
+#ifdef INET
 		del_option_mask(ifo->nomask, DHO_SUBNETMASK);
 		del_option_mask(ifo->nomask, DHO_CSR);
 		del_option_mask(ifo->nomask, DHO_ROUTER);
@@ -1286,11 +1289,14 @@ parse_option(struct dhcpcd_ctx *ctx, const char *ifname, struct if_options *ifo,
 		del_option_mask(ifo->nomask, DHO_RENEWALTIME);
 		del_option_mask(ifo->nomask, DHO_REBINDTIME);
 		del_option_mask(ifo->nomask, DHO_DNSSEARCH);
+#endif
 
+#ifdef INET6
 		del_option_mask(ifo->nomask6, D6_OPTION_DNS_SERVERS);
 		del_option_mask(ifo->nomask6, D6_OPTION_DOMAIN_LIST);
 		del_option_mask(ifo->nomask6, D6_OPTION_SOL_MAX_RT);
 		del_option_mask(ifo->nomask6, D6_OPTION_INF_MAX_RT);
+#endif
 
 		break;
 #ifdef INET
diff --git a/src/privsep-root.c b/src/privsep-root.c
index f88f56dd..0f099bb7 100644
--- a/src/privsep-root.c
+++ b/src/privsep-root.c
@@ -435,8 +435,10 @@ ps_root_dispatchcb(void *arg, struct ps_msghdr *psm, struct msghdr *msg)
 	struct dhcpcd_ctx *ctx = arg;
 	ssize_t err;
 
+#ifdef INET
 	err = ps_bpf_dispatch(ctx, psm, msg);
 	if (err == -1 && errno == ENOTSUP)
+#endif
 		err = ps_inet_dispatch(ctx, psm, msg);
 	return err;
 }
-- 
cgit v1.2.3