diff options
| author | Roy Marples <roy@marples.name> | 2020-10-07 15:28:33 +0100 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2020-10-07 15:28:33 +0100 |
| commit | 5699c07d535fbe8cdc513b1c380519cb861009b3 (patch) | |
| tree | 51497bd058038663df30e92e4e9d22cdb0cda420 /src/privsep-inet.c | |
| parent | d047f2dd0d9cee881d1d3e56da8ba67664f7726d (diff) | |
| download | dhcpcd-5699c07d535fbe8cdc513b1c380519cb861009b3.tar.xz | |
privsep: Only start network proxy if we need to
Do this before starting it rather than it shutting down.
Diffstat (limited to 'src/privsep-inet.c')
| -rw-r--r-- | src/privsep-inet.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/privsep-inet.c b/src/privsep-inet.c index 81487f63..2770569f 100644 --- a/src/privsep-inet.c +++ b/src/privsep-inet.c @@ -89,6 +89,28 @@ ps_inet_recvdhcp6(void *arg) } #endif +bool +ps_inet_canstart(const struct dhcpcd_ctx *ctx) +{ + +#ifdef INET + if ((ctx->options & (DHCPCD_IPV4 | DHCPCD_MASTER)) == + (DHCPCD_IPV4 | DHCPCD_MASTER)) + return true; +#endif +#if defined(INET6) && !defined(__sun) + if (ctx->options & DHCPCD_IPV6) + return true; +#endif +#ifdef DHCP6 + if ((ctx->options & (DHCPCD_IPV6 | DHCPCD_MASTER)) == + (DHCPCD_IPV6 | DHCPCD_MASTER)) + return true; +#endif + + return false; +} + static int ps_inet_startcb(void *arg) { |
