diff options
| author | Roy Marples <roy@marples.name> | 2020-09-24 03:49:30 +0100 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2020-09-24 03:49:30 +0100 |
| commit | cce22f81eec70c266071d5d3cfdf3931df203e59 (patch) | |
| tree | 369a22cb6bb7fbaf09dbdda0b0b881232508daee /src/privsep-bsd.c | |
| parent | ec4013c25f1d3fea81fff0b8410dc75a4c7eaa30 (diff) | |
| download | dhcpcd-cce22f81eec70c266071d5d3cfdf3931df203e59.tar.xz | |
FreeBSD: Anticipate SIOCGIFDATA not working in Capsicum
Diffstat (limited to 'src/privsep-bsd.c')
| -rw-r--r-- | src/privsep-bsd.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/privsep-bsd.c b/src/privsep-bsd.c index 2dc1d749..c9e31610 100644 --- a/src/privsep-bsd.c +++ b/src/privsep-bsd.c @@ -118,7 +118,7 @@ ps_root_doroute(void *data, size_t len) return err; } -#ifdef HAVE_PLEDGE +#if defined(HAVE_CAPSICUM) || defined(HAVE_PLEDGE) static ssize_t ps_root_doindirectioctl(unsigned long req, void *data, size_t len) { @@ -139,7 +139,9 @@ ps_root_doindirectioctl(unsigned long req, void *data, size_t len) return ps_root_doioctldom(PF_INET, req, &ifr, sizeof(ifr)); } +#endif +#ifdef HAVE_PLEDGE static ssize_t ps_root_doifignoregroup(void *data, size_t len) { @@ -177,10 +179,12 @@ ps_root_os(struct ps_msghdr *psm, struct msghdr *msg, break; case PS_ROUTE: return ps_root_doroute(data, len); -#ifdef HAVE_PLEDGE +#if defined(HAVE_CAPSICUM) || defined(HAVE_PLEDGE) case PS_IOCTLINDIRECT: err = ps_root_doindirectioctl(psm->ps_flags, data, len); break; +#endif +#ifdef HAVE_PLEDGE case PS_IFIGNOREGRP: return ps_root_doifignoregroup(data, len); #endif @@ -232,7 +236,7 @@ ps_root_route(struct dhcpcd_ctx *ctx, void *data, size_t len) return ps_root_readerror(ctx, data, len); } -#ifdef HAVE_PLEDGE +#if defined(HAVE_CAPSICUM) || defined(HAVE_PLEDGE) ssize_t ps_root_indirectioctl(struct dhcpcd_ctx *ctx, unsigned long request, const char *ifname, void *data, size_t len) |
