From b7105e1982a39332bd8bdf81b21431cad83fb7f0 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Wed, 19 Feb 2025 17:49:20 +0000 Subject: [PATCH] OpenBSD: fetching MTU works with privsep again --- src/if.c | 2 +- src/privsep-root.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/if.c b/src/if.c index 69c2c4c1..d95b843e 100644 --- a/src/if.c +++ b/src/if.c @@ -188,7 +188,7 @@ if_mtu(struct interface *ifp) struct ifreq ifr = { .ifr_mtu = 0 }; strlcpy(ifr.ifr_name, ifp->name, sizeof(ifr.ifr_name)); - if (ioctl(ifp->ctx->pf_inet_fd, SIOCGIFMTU, &ifr) == -1) + if (if_ioctl(ifp->ctx, SIOCGIFMTU, &ifr, sizeof(ifr)) == -1) return 0; return (unsigned int)ifr.ifr_mtu; diff --git a/src/privsep-root.c b/src/privsep-root.c index 8a994b80..640edcf7 100644 --- a/src/privsep-root.c +++ b/src/privsep-root.c @@ -251,8 +251,7 @@ ps_root_doioctl(unsigned long req, void *data, size_t len) case SIOCGIFPRIORITY: /* FALLTHROUGH */ #endif case SIOCSIFFLAGS: /* FALLTHROUGH */ - case SIOCGIFMTU: /* FALLTHROUGH */ - case SIOCSIFMTU: + case SIOCGIFMTU: break; default: errno = EPERM; -- 2.47.3