{
struct ifreq ifr = { .ifr_flags = 0 };
-#if defined(PRIVSEP) && defined(HAVE_PLEDGE)
+#if defined(PRIVSEP) && (defined(HAVE_CAPSICUM) || defined(HAVE_PLEDGE))
if (IN_PRIVSEP(ctx))
return (int)ps_root_indirectioctl(ctx, cmd, ifname, data, len);
#else
int
if_carrier_ifadata(struct interface *ifp, void *ifadata)
{
- int carrier = if_carrier(ifp);
+ int carrier = if_carrier0(ifp);
struct if_data *ifdata;
if (carrier != LINK_UNKNOWN || ifadata == NULL)
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)
{
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)
{
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
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)