From nobody Thu Mar 17 16:56:55 2022 X-Original-To: bugs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 1B2C81A24E6C for ; Thu, 17 Mar 2022 16:56:56 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KKCwl4m2kz4TFN for ; Thu, 17 Mar 2022 16:56:55 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7F49F6710 for ; Thu, 17 Mar 2022 16:56:55 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 22HGutOY095830 for ; Thu, 17 Mar 2022 16:56:55 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 22HGutrC095829 for bugs@FreeBSD.org; Thu, 17 Mar 2022 16:56:55 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 262622] [pf][patch] fix showing rules in (some) nested anchors Date: Thu, 17 Mar 2022 16:56:55 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: misc X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: kp@freebsd.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-bugs@freebsd.org MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647536215; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rnQs6zn0V9CGd5OekwpLafSfh+TioGNPTYQ2BVvxsUU=; b=Mu2HFsqkIJKhgcxEgVUo42rKTt5S1nvWN3FLv01T8vStN+yy6LfWP21OjE8xRCNxAUoxht XsEHFCvhhWXDugOVRKIL6iGf4k6fpRKCZtqT6UpISAFAUHx6H/RxaTAZNaO8pX9ffAQ1EI EMUp/zbUPInLfKL7WVSkNokm4kcEFRjPoUF4jvYZOUGWHx22IcwVrNSvuwZCDe2/LdYvTf RwWnb3IkA629SX0vhPU6FQZVCwWbbohR+ioguTthdq2O/qoykqJEeQbdoDw+OHeIj/V0PM 5G9/KQK64Ny0dmYraHjxAK4U87QeLVVabjNoAOif0r1u8jzO/JO/goIVwASzVQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1647536215; a=rsa-sha256; cv=none; b=sfejkEhp/GJCtkZNhfzd7i8i0XYzCX2nc0OqyiB6qE2CvjYVob9RN7zwHS1NwuNDbgSHks h8I5a8Xq7aIr1HgRjZJB3QSH00GYDKPsPDxTGBEszRbGnxSCitLKqvz9dJdYvuX/t0uFTr TEiZsZ+lG1NZjcRFzB+kIORsGT/zlVgdJ4ql2LSUPnbOpWWnSh/bF30jnxPaMpgrTYJ0nL ur3tGaISsUsipxD0VDHS1sZdhaIRrzMQdVAKIj81lpFZWB7IAk6FIQyZRbrXYcFg5OcDD5 WZ6MTK0k0X6dF0QNMwaFFzM5psK/CX4tk2aavclhJgjIoAqsbJ+6oUJcsjZj7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D262622 --- Comment #5 from Kristof Provost --- Can you try this:=20 diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 8f064594260b..884431aa73fc 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -894,7 +894,7 @@ pfctl_add_rule(int dev, const struct pfctl_rule *r, con= st char *anchor, int pfctl_get_rules_info(int dev, struct pfctl_rules_info *rules, uint32_t ruleset, - const char *path) + const char *path, char *anchor_call) { struct pfioc_rule pr; int ret; @@ -911,6 +911,9 @@ pfctl_get_rules_info(int dev, struct pfctl_rules_info *rules, uint32_t ruleset, rules->nr =3D pr.nr; rules->ticket =3D pr.ticket; + if (anchor_call) + strlcpy(anchor_call, pr.anchor_call, MAXPATHLEN); + return (0); } diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index b7f703b64def..536377c38404 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -364,7 +364,7 @@ int pfctl_get_eth_rule(int dev, uint32_t nr, uint32_t ticket, int pfctl_add_eth_rule(int dev, const struct pfctl_eth_rule *r, const char *anchor, const char *anchor_call, uint32_t ticket); int pfctl_get_rules_info(int dev, struct pfctl_rules_info *rules, - uint32_t ruleset, const char *path); + uint32_t ruleset, const char *path, char *anchor_call); int pfctl_get_rule(int dev, uint32_t nr, uint32_t ticket, const char *anchor, uint32_t ruleset, struct pfctl_rule *rule, char *anchor_call); diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index ffd978b304cb..6b0ed98aeb77 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1150,14 +1150,16 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, snprintf(&path[len], MAXPATHLEN - len, "%s", anchorname); if (opts & PF_OPT_SHOWALL) { - ret =3D pfctl_get_rules_info(dev, &ri, PF_PASS, anchorname); + ret =3D pfctl_get_rules_info(dev, &ri, PF_PASS, path, + anchor_call); if (ret !=3D 0) { warn("DIOCGETRULES"); goto error; } header++; } - ret =3D pfctl_get_rules_info(dev, &ri, PF_SCRUB, anchorname); + ret =3D pfctl_get_rules_info(dev, &ri, PF_SCRUB, path, + anchor_call); if (ret !=3D 0) { warn("DIOCGETRULES"); goto error; @@ -1195,7 +1197,8 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, } pfctl_clear_pool(&rule.rpool); } - ret =3D pfctl_get_rules_info(dev, &ri, PF_PASS, anchorname); + ret =3D pfctl_get_rules_info(dev, &ri, PF_PASS, path, + anchor_call); if (ret !=3D 0) { warn("DIOCGETRULES"); goto error; @@ -1294,7 +1297,8 @@ pfctl_show_nat(int dev, char *path, int opts, char *anchorname, int depth) char *p; for (i =3D 0; i < 3; i++) { - ret =3D pfctl_get_rules_info(dev, &ri, nattype[i], anchorna= me); + ret =3D pfctl_get_rules_info(dev, &ri, nattype[i], anchorna= me, + anchor_call); if (ret !=3D 0) { warn("DIOCGETRULES"); return (-1); That should restore the previous behaviour, and appears to be working for m= e. --=20 You are receiving this mail because: You are the assignee for the bug.=