about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/linux/otpw/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/otpw/default.nix')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/otpw/default.nix43
1 files changed, 31 insertions, 12 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/otpw/default.nix b/nixpkgs/pkgs/os-specific/linux/otpw/default.nix
index 6c53bf16efc1..c379c149a358 100644
--- a/nixpkgs/pkgs/os-specific/linux/otpw/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/otpw/default.nix
@@ -1,20 +1,38 @@
-{ lib, stdenv, fetchurl, pam, libxcrypt }:
+{ lib
+, stdenv
+, coreutils
+, fetchurl
+, libxcrypt
+, pam
+, procps
+, unixtools
+, util-linux
+}:
 
 stdenv.mkDerivation rec {
   pname = "otpw";
-  version = "1.3";
+  version = "1.5";
 
   src = fetchurl {
     url = "https://www.cl.cam.ac.uk/~mgk25/download/otpw-${version}.tar.gz";
-    sha256 = "1k3hc7xbxz6hkc55kvddi3cibafwf93ivn58sy1l888d3l5dwmrk";
+    hash = "sha256-mKyjimHHcTZ3uW8kQmynBTSAwP0HfZGx6ZvJ+SzLgyo=";
   };
 
   patchPhase = ''
     sed -i 's/^CFLAGS.*/CFLAGS=-O2 -fPIC/' Makefile
-    sed -i -e 's,PATH=.*;,,' conf.h
-    sed -i -e '/ENTROPY_ENV/d' otpw-gen.c
+    substituteInPlace otpw-gen.c \
+      --replace "head -c 20 /dev/urandom 2>&1" "${coreutils}/bin/head -c 20 /dev/urandom 2>&1" \
+      --replace "ls -lu /etc/. /tmp/. / /usr/. /bin/. /usr/bin/." "${coreutils}/bin/ls -lu /etc/. /tmp/. / /usr/. /bin/. /usr/bin/." \
+      --replace "PATH=/usr/ucb:/bin:/usr/bin;ps lax" "PATH=/usr/ucb:/bin:/usr/bin;${unixtools.procps}/bin/ps lax" \
+      --replace "last | head -50" "${util-linux}/bin/last | ${coreutils}/bin/head -50" \
+      --replace "uptime;netstat -n;hostname;date;w" "${coreutils}/bin/uptime; ${unixtools.nettools}/bin/netstat -n; ${unixtools.nettools}/bin/hostname; ${coreutils}/bin/date; ${procps}/bin/w"
   '';
 
+  buildInputs = [
+    libxcrypt
+    pam
+  ];
+
   installPhase = ''
     mkdir -p $out/bin $out/lib/security $out/share/man/man{1,8}
     cp pam_*.so $out/lib/security
@@ -23,14 +41,15 @@ stdenv.mkDerivation rec {
     cp *.8 $out/share/man/man8
   '';
 
-  buildInputs = [ pam libxcrypt ];
-
-  hardeningDisable = [ "stackprotector" ];
+  hardeningDisable = [
+    "stackprotector"
+  ];
 
-  meta = {
-    homepage = "http://www.cl.cam.ac.uk/~mgk25/otpw.html";
+  meta = with lib; {
     description = "A one-time password login package";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.linux;
+    homepage = "http://www.cl.cam.ac.uk/~mgk25/otpw.html";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.linux;
   };
 }