From e110f5ecc1038ca2769013a6e6ba77321f387dc7 Mon Sep 17 00:00:00 2001 From: Andrew Childs Date: Tue, 17 Mar 2020 10:32:37 +0900 Subject: [PATCH] nixos/firewall: fix types in reverse path assertion Broken by 0f973e273c284a97a8dffeab7d9c0b09a88b7139 in #73533 The type of the checkReversePath option allows "strict" and "loose" as well as boolean values. --- nixos/modules/services/networking/firewall.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index b0045ff795e3..cdc3a172ea70 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -546,9 +546,13 @@ in options nf_conntrack nf_conntrack_helper=1 ''; - assertions = [ { assertion = cfg.checkReversePath -> kernelHasRPFilter; - message = "This kernel does not support rpfilter"; } - ]; + assertions = [ + # This is approximately "checkReversePath -> kernelHasRPFilter", + # but the checkReversePath option can include non-boolean + # values. + { assertion = cfg.checkReversePath == false || kernelHasRPFilter; + message = "This kernel does not support rpfilter"; } + ]; systemd.services.firewall = { description = "Firewall";