about summary refs log tree commit diff
path: root/pkgs/applications/networking/firehol
diff options
context:
space:
mode:
authorxeji <xeji@cat3.de>2018-02-18 16:12:06 +0100
committerxeji <xeji@cat3.de>2018-02-18 16:12:06 +0100
commitdce83f0b7971714737a3e67a63537ebdc960125f (patch)
treeba7bf50c185cdc21347e81ffa8dd6e1f6ae43282 /pkgs/applications/networking/firehol
parentd8a4e098f6af2934f6d3c575a8c10d95059a3c58 (diff)
firehol: 3.1.5: fix uname command path quoting bug
Missing quotes of $UNAME_CMD in the firehol bash script
result in an error if the path to uname contains a dash,
as in /nix/store/...-coreutils-.../bin/uname.
Might be considered an upstream bug but only appears
in this special case, unlikely to occur in other distros.
Diffstat (limited to 'pkgs/applications/networking/firehol')
-rw-r--r--pkgs/applications/networking/firehol/default.nix18
1 files changed, 18 insertions, 0 deletions
diff --git a/pkgs/applications/networking/firehol/default.nix b/pkgs/applications/networking/firehol/default.nix
index 2435b2dcc98df..6c0d43b1c129f 100644
--- a/pkgs/applications/networking/firehol/default.nix
+++ b/pkgs/applications/networking/firehol/default.nix
@@ -63,6 +63,24 @@ stdenv.mkDerivation rec {
       -SYSCONFDIR="@sysconfdir_POST@"
       +SYSCONFDIR="/etc"
       '')
+
+    # we must quote "$UNAME_CMD", or the dash in /nix/store/...-coreutils-.../bin/uname
+    # will be interpreted as IFS -> error. this might be considered an upstream bug
+    # but only appears when there are dashes in the command path
+    (pkgs.writeText "firehol-uname-command.patch"
+      ''
+      --- a/sbin/firehol
+      +++ b/sbin/firehol
+      @@ -10295,7 +10295,7 @@
+       	kmaj=$1
+       	kmin=$2
+       
+      -	set -- $($UNAME_CMD -r)
+      +	set -- $("$UNAME_CMD" -r)
+       	eval $kmaj=\$1 $kmin=\$2
+       }
+       kernel_maj_min KERNELMAJ KERNELMIN
+      '')
   ];
   
   nativeBuildInputs = [ autoconf automake ];