summaryrefslogtreecommitdiff
path: root/pkgs/tools/security
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/security')
-rw-r--r--pkgs/tools/security/ecryptfs/default.nix4
-rw-r--r--pkgs/tools/security/ecryptfs/helper.nix4
-rw-r--r--pkgs/tools/security/enpass/data.json12
-rw-r--r--pkgs/tools/security/enpass/default.nix106
-rw-r--r--pkgs/tools/security/enpass/update_script.py95
-rw-r--r--pkgs/tools/security/fail2ban/default.nix2
-rw-r--r--pkgs/tools/security/fpm2/default.nix25
-rw-r--r--pkgs/tools/security/gencfsm/default.nix7
-rw-r--r--pkgs/tools/security/gnupg/20.nix7
-rw-r--r--pkgs/tools/security/gnupg/21.nix8
-rw-r--r--pkgs/tools/security/gnupg/fix-libusb-include-path.patch11
-rw-r--r--pkgs/tools/security/knockknock/default.nix9
-rw-r--r--pkgs/tools/security/mpw/default.nix36
-rw-r--r--pkgs/tools/security/nitrokey-app/FixInstallDestination.patch57
-rw-r--r--pkgs/tools/security/nitrokey-app/HeaderPath.patch13
-rw-r--r--pkgs/tools/security/nitrokey-app/default.nix37
-rw-r--r--pkgs/tools/security/nmap/default.nix43
-rw-r--r--pkgs/tools/security/pass/default.nix4
-rw-r--r--pkgs/tools/security/pgpdump/default.nix26
-rw-r--r--pkgs/tools/security/pinentry-mac/default.nix4
-rw-r--r--pkgs/tools/security/ssdeep/default.nix2
-rw-r--r--pkgs/tools/security/sslscan/default.nix11
-rw-r--r--pkgs/tools/security/sudo/default.nix4
-rw-r--r--pkgs/tools/security/sudolikeaboss/default.nix33
-rw-r--r--pkgs/tools/security/sudolikeaboss/deps.nix22
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/tor/tor-arm.nix2
27 files changed, 524 insertions, 64 deletions
diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix
index 582b5ceae119..4981d8fa062a 100644
--- a/pkgs/tools/security/ecryptfs/default.nix
+++ b/pkgs/tools/security/ecryptfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, utillinux, keyutils, nss, nspr, python, pam
+{ stdenv, fetchurl, pkgconfig, perl, utillinux, keyutils, nss, nspr, python2, pam
, intltool, makeWrapper, coreutils, bash, gettext, cryptsetup, lvm2, rsync, which, lsof }:
stdenv.mkDerivation rec {
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
done
'';
- buildInputs = [ pkgconfig perl nss nspr python pam intltool makeWrapper ];
+ buildInputs = [ pkgconfig perl nss nspr python2 pam intltool makeWrapper ];
propagatedBuildInputs = [ coreutils gettext cryptsetup lvm2 rsync keyutils which ];
postInstall = ''
diff --git a/pkgs/tools/security/ecryptfs/helper.nix b/pkgs/tools/security/ecryptfs/helper.nix
index 40e6771251ab..0d4b37a8efc0 100644
--- a/pkgs/tools/security/ecryptfs/helper.nix
+++ b/pkgs/tools/security/ecryptfs/helper.nix
@@ -1,7 +1,7 @@
{ stdenv
, fetchurl
, makeWrapper
-, python
+, python2
}:
stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin $out/libexec
cp $src $out/libexec/ecryptfs-helper.py
- makeWrapper "${python.interpreter} $out/libexec/ecryptfs-helper.py" $out/bin/ecryptfs-helper
+ makeWrapper "${python2.interpreter} $out/libexec/ecryptfs-helper.py" $out/bin/ecryptfs-helper
'';
meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/enpass/data.json b/pkgs/tools/security/enpass/data.json
new file mode 100644
index 000000000000..4e245d1c80fc
--- /dev/null
+++ b/pkgs/tools/security/enpass/data.json
@@ -0,0 +1,12 @@
+{
+ "amd64": {
+ "path": "pool/main/e/enpass/enpass_5.3.0_amd64.deb",
+ "sha256": "d9da061c6456281da836bdd78bdb7baeced4b7f1805bb2495e4f1d15038cf86b",
+ "version": "5.3.0"
+ },
+ "i386": {
+ "path": "pool/main/e/enpass/enpass_5.3.0_i386.deb",
+ "sha256": "58d9f3b83c2da477c13976e1826d112236eabd46a389de7e8767ee99ac41f469",
+ "version": "5.3.0"
+ }
+} \ No newline at end of file
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
new file mode 100644
index 000000000000..b7f7282d2929
--- /dev/null
+++ b/pkgs/tools/security/enpass/default.nix
@@ -0,0 +1,106 @@
+{stdenv, system, fetchurl, dpkg, openssl, xorg
+, glib, mesa, libpulseaudio, zlib, dbus, fontconfig, freetype
+, gtk2, pango, atk, cairo, gdk_pixbuf, jasper, xkeyboardconfig
+, makeWrapper , makeDesktopItem, python, pythonPackages, lib}:
+assert system == "i686-linux" || system == "x86_64-linux";
+let
+ all_data = (with builtins; fromJSON (readFile ./data.json));
+ system_map = {
+ i686-linux = "i386";
+ x86_64-linux = "amd64";
+ };
+
+ data = (with builtins; getAttr (getAttr system system_map) all_data);
+
+ baseUrl = http://repo.sinew.in;
+
+ # used of both wrappers and libpath
+ libPath = lib.makeLibraryPath (with xorg; [
+ openssl
+ mesa
+ fontconfig
+ freetype
+ libpulseaudio
+ zlib
+ dbus
+ libX11
+ libXi
+ libSM
+ libICE
+ libXext
+ libXrender
+ libXScrnSaver
+ glib
+ gtk2
+ pango
+ cairo
+ atk
+ gdk_pixbuf
+ jasper
+ stdenv.cc.cc
+ ]);
+ package = stdenv.mkDerivation rec {
+
+ inherit (data) version;
+ name = "enpass-${version}";
+
+ desktopItem = makeDesktopItem {
+ name = "Enpass";
+ exec = "$out/bin/Enpass";
+ #icon = "Enpass";
+ desktopName = "Enpass";
+ genericName = "Password manager";
+ categories = "Application;Security;";
+ };
+
+
+ src = fetchurl {
+ inherit (data) sha256;
+ url = "${baseUrl}/${data.path}";
+ };
+
+ meta = {
+ description = "a well known password manager";
+ homepage = https://www.enpass.io/;
+ maintainer = lib.maintainers.ronny;
+ license = lib.licenses.unfree;
+ platforms = lib.platforms.linux;
+ };
+
+ buildInputs = [makeWrapper dpkg];
+ phases = [ "unpackPhase" "installPhase" ];
+
+ unpackPhase = "dpkg -X $src .";
+ installPhase=''
+ mkdir $out
+ cp -r opt/Enpass/* $out
+
+ # Make desktop item
+ mkdir -p "$out"/share/applications
+ cp "$desktopItem"/share/applications/* "$out"/share/applications/
+ mkdir -p "$out"/share/icons
+
+ patchelf \
+ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+ $out/bin/Enpass
+
+ wrapProgram $out/bin/Enpass \
+ --set LD_LIBRARY_PATH "${libPath}:$out/lib:$out/plugins/sqldrivers" \
+ --set QT_PLUGIN_PATH "$out/plugins" \
+ --set QT_QPA_PLATFORM_PLUGIN_PATH "$out/plugins/platforms" \
+ --set QT_XKB_CONFIG_ROOT "${xkeyboardconfig}/share/X11/xkb"
+ '';
+ };
+ updater = {
+ update = stdenv.mkDerivation rec {
+ name = "enpass-update-script";
+ SCRIPT =./update_script.py;
+
+ buildInputs = with pythonPackages; [python requests pathlib2 six attrs ];
+ shellHook = ''
+ exec python $SCRIPT --target pkgs/tools/security/enpass/data.json --repo ${baseUrl}
+ '';
+
+ };
+ };
+in (package // {refresh = updater;})
diff --git a/pkgs/tools/security/enpass/update_script.py b/pkgs/tools/security/enpass/update_script.py
new file mode 100644
index 000000000000..f8ec715cb5e4
--- /dev/null
+++ b/pkgs/tools/security/enpass/update_script.py
@@ -0,0 +1,95 @@
+from __future__ import print_function
+
+
+import argparse
+import bz2
+import email
+import json
+import logging
+
+from itertools import product
+from operator import itemgetter
+
+import attr
+import pkg_resources
+
+from pathlib2 import Path
+from requests import Session
+from six.moves.urllib_parse import urljoin
+
+
+@attr.s
+class ReleaseElement(object):
+ sha256 = attr.ib(repr=False)
+ size = attr.ib(convert=int)
+ path = attr.ib()
+
+log = logging.getLogger('enpass.updater')
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--repo')
+parser.add_argument('--target', type=Path)
+
+
+session = Session()
+
+
+def parse_bz2_msg(msg):
+ msg = bz2.decompress(msg)
+ if '\n\n' in msg:
+ parts = msg.split('\n\n')
+ return list(map(email.message_from_string, parts))
+ return email.message_from_string(msg)
+
+
+def fetch_meta(repo, name, parse=email.message_from_string, split=False):
+ url = urljoin(repo, 'dists/stable', name)
+ response = session.get("{repo}/dists/stable/{name}".format(**locals()))
+ return parse(response.content)
+
+
+def fetch_filehashes(repo, path):
+ meta = fetch_meta(repo, path, parse=parse_bz2_msg)
+ for item in meta:
+ yield {
+ 'version': pkg_resources.parse_version(str(item['Version'])),
+ 'path': item['Filename'],
+ 'sha256': item['sha256'],
+ }
+
+
+def fetch_archs(repo):
+ m = fetch_meta(repo, 'Release')
+
+ architectures = m['Architectures'].split()
+ elements = [ReleaseElement(*x.split()) for x in m['SHA256'].splitlines()]
+ elements = [x for x in elements if x.path.endswith('bz2')]
+
+ for arch, elem in product(architectures, elements):
+ if arch in elem.path:
+ yield arch, max(fetch_filehashes(repo, elem.path),
+ key=itemgetter('version'))
+
+
+class OurVersionEncoder(json.JSONEncoder):
+ def default(self, obj):
+ # the other way around to avoid issues with
+ # newer setuptools having strict/legacy versions
+ if not isinstance(obj, (dict, str)):
+ return str(obj)
+ return json.JSONEncoder.default(self, obj)
+
+
+def main(repo, target):
+ logging.basicConfig(level=logging.DEBUG)
+ with target.open(mode='wb') as fp:
+ json.dump(
+ dict(fetch_archs(repo)), fp,
+ cls=OurVersionEncoder,
+ indent=2,
+ sort_keys=True)
+
+
+opts = parser.parse_args()
+main(opts.repo, opts.target)
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 70dfb9e82c6b..695bfcce3a59 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication {
sha256 = "1m8gqj35kwrn30rqwd488sgakaisz22xa5v9llvz6gwf4f7ps0a9";
};
- propagatedBuildInputs = [ python.modules.sqlite3 gamin ]
+ propagatedBuildInputs = [ gamin ]
++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd);
preConfigure = ''
diff --git a/pkgs/tools/security/fpm2/default.nix b/pkgs/tools/security/fpm2/default.nix
new file mode 100644
index 000000000000..8bb3cba15c46
--- /dev/null
+++ b/pkgs/tools/security/fpm2/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, gnupg, gtk2
+, libxml2, intltool
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+ name = "fpm2-${version}";
+ version = "0.79";
+
+ src = fetchurl {
+ url = "http://als.regnet.cz/fpm2/download/fpm2-${version}.tar.bz2";
+ sha256 = "d55e9ce6be38a44fc1053d82db2d117cf3991a51898bd86d7913bae769f04da7";
+ };
+
+ buildInputs = [ pkgconfig gnupg gtk2 libxml2 intltool ];
+
+ meta = {
+ description = "FPM2 is GTK2 port from Figaro's Password Manager originally developed by John Conneely, with some new enhancements.";
+ homepage = http://als.regnet.cz/fpm2/;
+ license = licenses.gpl2;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ hce ];
+ };
+}
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index 8441fbbb7613..871ba1d8b854 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -1,5 +1,7 @@
{ stdenv, fetchurl, autoconf, automake, intltool, libtool, pkgconfig, encfs
-, glib , gnome3, gtk3, libgnome_keyring, vala_0_23, wrapGAppsHook, xorg }:
+, glib , gnome3, gtk3, libgnome_keyring, vala_0_23, wrapGAppsHook, xorg
+, libgee_0_6
+}:
stdenv.mkDerivation rec {
version = "1.8.16";
@@ -11,7 +13,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ autoconf automake intltool libtool pkgconfig vala_0_23 glib encfs
- gtk3 libgnome_keyring gnome3.libgee_1 xorg.libSM xorg.libICE
+ gtk3 libgnome_keyring libgee_0_6 xorg.libSM xorg.libICE
wrapGAppsHook ];
patches = [ ./makefile-mkdir.patch ];
@@ -30,5 +32,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.spacefrogg ];
+ broken = true;
};
}
diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix
index 932bf508c2fa..fd79419d82ac 100644
--- a/pkgs/tools/security/gnupg/20.nix
+++ b/pkgs/tools/security/gnupg/20.nix
@@ -3,13 +3,13 @@
# Each of the dependencies below are optional.
# Gnupg can be built without them at the cost of reduced functionality.
-, pinentry ? null, x11Support ? true
+, pinentry ? null, guiSupport ? true
, openldap ? null, bzip2 ? null, libusb ? null, curl ? null
}:
with stdenv.lib;
-assert x11Support -> pinentry != null;
+assert guiSupport -> pinentry != null;
stdenv.mkDerivation rec {
name = "gnupg-2.0.30";
@@ -35,7 +35,8 @@ stdenv.mkDerivation rec {
patch gl/stdint_.h < ${./clang.patch}
'';
- configureFlags = optional x11Support "--with-pinentry-pgm=${pinentry}/bin/pinentry";
+ pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry";
+ configureFlags = optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}";
postConfigure = "substituteAllInPlace tools/gpgkey2ssh.c";
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index 34042d802ccb..b7a71332e772 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -3,14 +3,14 @@
# Each of the dependencies below are optional.
# Gnupg can be built without them at the cost of reduced functionality.
-, pinentry ? null, x11Support ? true
+, pinentry ? null, guiSupport ? true
, adns ? null, gnutls ? null, libusb ? null, openldap ? null
, readline ? null, zlib ? null, bzip2 ? null
}:
with stdenv.lib;
-assert x11Support -> pinentry != null;
+assert guiSupport -> pinentry != null;
stdenv.mkDerivation rec {
name = "gnupg-${version}";
@@ -27,11 +27,13 @@ stdenv.mkDerivation rec {
readline libusb gnutls adns openldap zlib bzip2
];
+ patches = [ ./fix-libusb-include-path.patch ];
postPatch = stdenv.lib.optionalString stdenv.isLinux ''
sed -i 's,"libpcsclite\.so[^"]*","${pcsclite}/lib/libpcsclite.so",g' scd/scdaemon.c
''; #" fix Emacs syntax highlighting :-(
- configureFlags = optional x11Support "--with-pinentry-pgm=${pinentry}/bin/pinentry";
+ pinentryBinaryPath = pinentry.binaryPath or "bin/pinentry";
+ configureFlags = optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}";
meta = with stdenv.lib; {
homepage = http://gnupg.org;
diff --git a/pkgs/tools/security/gnupg/fix-libusb-include-path.patch b/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
new file mode 100644
index 000000000000..18c4f1107388
--- /dev/null
+++ b/pkgs/tools/security/gnupg/fix-libusb-include-path.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -8872,7 +8872,7 @@
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking libusb include dir" >&5
+ $as_echo_n "checking libusb include dir... " >&6; }
+ usb_incdir_found="no"
+- for _incdir in "" "/usr/include/libusb-1.0" "/usr/local/include/libusb-1.0"; do
++ for _incdir in "$($PKG_CONFIG --variable=includedir libusb-1.0)/libusb-1.0"; do
+ _libusb_save_cppflags=$CPPFLAGS
+ if test -n "${_incdir}"; then
+ CPPFLAGS="-I${_incdir} ${CPPFLAGS}"
diff --git a/pkgs/tools/security/knockknock/default.nix b/pkgs/tools/security/knockknock/default.nix
index 5ff93ae6a033..ce7663b18cf9 100644
--- a/pkgs/tools/security/knockknock/default.nix
+++ b/pkgs/tools/security/knockknock/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pythonPackages, hping }:
+{ stdenv, fetchFromGitHub, python2Packages, hping }:
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
rev = "bf14bbff";
name = "knockknock-r${rev}";
@@ -11,7 +11,10 @@ pythonPackages.buildPythonApplication rec {
sha256 = "1chpfs3w2vkjrgay69pbdr116z1jldv53fi768a1i05fdqhy1px4";
};
- propagatedBuildInputs = [ pythonPackages.pycrypto ];
+ propagatedBuildInputs = [ python2Packages.pycrypto ];
+
+ # No tests
+ doCheck = false;
patchPhase = ''
sed -i '/build\//d' setup.py
diff --git a/pkgs/tools/security/mpw/default.nix b/pkgs/tools/security/mpw/default.nix
index 813c7e5c06cd..e30866021da6 100644
--- a/pkgs/tools/security/mpw/default.nix
+++ b/pkgs/tools/security/mpw/default.nix
@@ -1,37 +1,41 @@
-{ stdenv, fetchurl, autoconf, automake, openssl, libxml2 }:
+{ stdenv, fetchzip, autoconf, automake, openssl, libxml2, fetchFromGitHub, ncurses }:
let
- scrypt_src = fetchurl {
- url = "http://masterpasswordapp.com/libscrypt-b12b554.tar.gz";
- sha256 = "02vz4i66v1acd15xjgki4ilmmp28m6a5603gi4hf8id3d3ndl9n7";
+ scrypt_src = fetchzip {
+ url = "http://www.tarsnap.com/scrypt/scrypt-1.2.0.tgz";
+ sha256 = "0ahylib2pimlhjcm566kpim6n16jci5v749xwdkr9ivgfjrv3xn4";
};
in stdenv.mkDerivation {
- name = "mpw-2.1-cli4";
+ name = "mpw-2.1-6834f36";
- srcs = [
- (fetchurl {
- url = "https://ssl.masterpasswordapp.com/mpw-2.1-cli4-0-gf6b2287.tar.gz";
- sha256 = "141bzb3nj18rbnbpdvsri8cdwwwxz4d6akyhfa834542xf96b9vf";
- })
- scrypt_src
- ];
-
- sourceRoot = ".";
+ src = fetchFromGitHub {
+ owner = "Lyndir";
+ repo = "MasterPassword";
+ rev = "6834f3689f5dfd4e59ad6959961d349c224977ee";
+ sha256 = "0zlpx3hb1y2l60hg961h05lb9yf3xb5phnyycvazah2674gkwb2p";
+ };
postUnpack = ''
- cp -R libscrypt-b12b554/* lib/scrypt
+ sourceRoot+=/MasterPassword/C
'';
prePatch = ''
patchShebangs .
+ mkdir lib/scrypt/src
+ cp -R --no-preserve=ownership ${scrypt_src}/* lib/scrypt/src
+ chmod +w -R lib/scrypt/src
+ substituteInPlace lib/scrypt/src/libcperciva/cpusupport/Build/cpusupport.sh \
+ --replace dirname "$(type -P dirname)"
+ substituteInPlace lib/scrypt/src/Makefile.in --replace "command -p mv" "mv"
'';
NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
- buildInputs = [ autoconf automake openssl libxml2 ];
+ buildInputs = [ autoconf automake openssl libxml2 ncurses ];
buildPhase = ''
+ substituteInPlace build --replace '"curses"' '"ncurses"'
targets="mpw mpw-tests" ./build
'';
diff --git a/pkgs/tools/security/nitrokey-app/FixInstallDestination.patch b/pkgs/tools/security/nitrokey-app/FixInstallDestination.patch
new file mode 100644
index 000000000000..74e466069d93
--- /dev/null
+++ b/pkgs/tools/security/nitrokey-app/FixInstallDestination.patch
@@ -0,0 +1,57 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -251,23 +251,23 @@
+ # ${CMAKE_SOURCE_DIR}/data/icons/48x48
+ # ${CMAKE_SOURCE_DIR}/data/icons/128x128
+ ${CMAKE_SOURCE_DIR}/data/icons/
+- DESTINATION usr/share/icons/
++ DESTINATION share/icons/
+ )
+
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/data/nitrokey-app.desktop
+- DESTINATION usr/share/applications
++ DESTINATION share/applications
+ )
+
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/data/icons/hicolor/128x128/apps/nitrokey-app.png
+- DESTINATION usr/share/pixmaps
++ DESTINATION share/pixmaps
+ )
+
+ # Install Nitrokey udev rules
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/data/40-nitrokey.rules
+- DESTINATION usr/lib/udev/rules.d
++ DESTINATION lib/udev/rules.d
+ )
+
+ # Install autocompletion scripts
+@@ -278,7 +278,7 @@
+
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/po/de_DE/nitrokey-app.mo
+- DESTINATION usr/share/locale/de_DE/LC_MESSAGES
++ DESTINATION share/locale/de_DE/LC_MESSAGES
+ )
+
+ install(FILES
+@@ -286,7 +286,7 @@
+ ${CMAKE_SOURCE_DIR}/images/quit.png
+ ${CMAKE_SOURCE_DIR}/images/safe_zahlenkreis.png
+ ${CMAKE_SOURCE_DIR}/images/settings.png
+- DESTINATION usr/share/nitrokey
++ DESTINATION share/nitrokey
+ )
+
+ ENDIF () # NOT WIN32
+@@ -299,7 +299,7 @@
+ ${resources_ouput}
+ )
+
+-INSTALL(TARGETS nitrokey-app DESTINATION usr/bin)
++INSTALL(TARGETS nitrokey-app DESTINATION bin)
+
+ TARGET_LINK_LIBRARIES(nitrokey-app
+ ${QT_LIBRARIES}
diff --git a/pkgs/tools/security/nitrokey-app/HeaderPath.patch b/pkgs/tools/security/nitrokey-app/HeaderPath.patch
new file mode 100644
index 000000000000..695b7559116c
--- /dev/null
+++ b/pkgs/tools/security/nitrokey-app/HeaderPath.patch
@@ -0,0 +1,13 @@
+diff --git a/src/utils/hid_libusb.c b/src/utils/hid_libusb.c
+index bd8c14e..537292d 100644
+--- a/src/utils/hid_libusb.c
++++ b/src/utils/hid_libusb.c
+@@ -44,7 +44,7 @@
+ #include <wchar.h>
+
+ /* GNU / LibUSB */
+-#include "libusb.h"
++#include "libusb-1.0/libusb.h"
+ #include "iconv.h"
+
+ #include "hidapi.h"
diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix
new file mode 100644
index 000000000000..91d5e75272bc
--- /dev/null
+++ b/pkgs/tools/security/nitrokey-app/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, cmake, fetchFromGitHub, libusb1, pkgconfig, qt5 }:
+
+stdenv.mkDerivation rec {
+ name = "nitrokey-app";
+ version = "0.5.1";
+
+ src = fetchFromGitHub {
+ owner = "Nitrokey";
+ repo = "nitrokey-app";
+ rev = "v${version}";
+ sha256 = "0acb2502r3wa0mry6h8sz1k16zaa4bgnhxwxqd1vd1y42xc6g9bw";
+ };
+
+ buildInputs = [
+ cmake
+ libusb1
+ pkgconfig
+ qt5.qtbase
+ ];
+ patches = [
+ ./FixInstallDestination.patch
+ ./HeaderPath.patch
+ ];
+ cmakeFlags = "-DHAVE_LIBAPPINDICATOR=NO";
+ meta = {
+ description = "Provides extra functionality for the Nitrokey Pro and Storage";
+ longDescription = ''
+ The nitrokey-app provides a QT system tray widget with wich you can
+ access the extra functionality of a Nitrokey Storage or Nitrokey Pro.
+ See https://www.nitrokey.com/ for more information.
+ '';
+ homepage = https://github.com/Nitrokey/nitrokey-app;
+ repositories.git = https://github.com/Nitrokey/nitrokey-app.git;
+ license = stdenv.lib.licenses.gpl3;
+ maintainer = stdenv.lib.maintainers.kaiha;
+ };
+}
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 3bc5d4158346..9413f9920866 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,38 +1,45 @@
{ stdenv, fetchurl, libpcap, pkgconfig, openssl
, graphicalSupport ? false
-, libX11 ? null
, gtk2 ? null
-, pythonPackages
-, makeWrapper ? null
+, libX11 ? null
+, withPython ? false # required for the `ndiff` binary
+, python2 ? null
}:
+assert withPython -> python2 != null;
+
with stdenv.lib;
let
- inherit (pythonPackages) python pygtk pygobject2 pycairo pysqlite;
+
+ # Zenmap (the graphical program) also requires Python,
+ # so automatically enable pythonSupport if graphicalSupport is requested.
+ pythonSupport = withPython || graphicalSupport;
+
+ pythonEnv = python2.withPackages(ps: with ps; []
+ ++ optionals graphicalSupport [ pycairo pygobject2 pygtk pysqlite ]
+ );
+
in stdenv.mkDerivation rec {
name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
- version = "7.12";
+ version = "7.31";
src = fetchurl {
- url = "http://nmap.org/dist/nmap-${version}.tar.bz2";
- sha256 = "014vagh9ak10hidwzp9s6g30y5h5fhsh8wykcnc1hnn9hwm0ipv3";
+ url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
+ sha256 = "0hiqb28950kn4bjsmw0ksfyss7j2qdmgrj3xsjf7073pq01lx7yb";
};
patches = ./zenmap.patch;
- configureFlags = optionalString (!graphicalSupport) "--without-zenmap";
-
- postInstall = ''
- wrapProgram $out/bin/ndiff --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH"
- '' + optionalString graphicalSupport ''
- wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject2})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0
- '';
+ configureFlags = []
+ ++ optional (!pythonSupport) "--without-ndiff"
+ ++ optional (!graphicalSupport) "--without-zenmap"
+ ;
- buildInputs = [ libpcap pkgconfig openssl makeWrapper python ]
- ++ optionals graphicalSupport [
- libX11 gtk2 pygtk pysqlite pygobject2 pycairo
- ];
+ buildInputs = [ libpcap pkgconfig openssl ]
+ ++ optional pythonSupport pythonEnv
+ ++ optionals graphicalSupport [ gtk2 libX11 ]
+ ;
meta = {
description = "A free and open source utility for network discovery and security auditing";
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 01d5dff4d751..b0137619f0c1 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -68,11 +68,11 @@ stdenv.mkDerivation rec {
git
gnupg
gnused
- procps
pwgen
tree
which
- ] ++ ifEnable x11Support [ dmenu xclip xdotool ]);
+ ] ++ stdenv.lib.optional stdenv.isLinux procps
+ ++ ifEnable x11Support [ dmenu xclip xdotool ]);
postFixup = ''
# Fix program name in --help
diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix
new file mode 100644
index 000000000000..1e33c18753a6
--- /dev/null
+++ b/pkgs/tools/security/pgpdump/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ name = "pgpdump-${version}";
+ version = "0.31";
+
+ src = fetchFromGitHub {
+ owner = "kazu-yamamoto";
+ repo = "pgpdump";
+ rev = "v${version}";
+ sha256 = "05ywdgxzq3976dsy95vgdx3nnhd9i9vypzyrkabpmnxphfnjfrb4";
+ };
+
+ meta = with stdenv.lib; {
+ description = "A PGP packet visualizer";
+ longDescription = ''
+ pgpdump is a PGP packet visualizer which displays the packet format of
+ OpenPGP (RFC 4880) and PGP version 2 (RFC 1991).
+ '';
+ homepage = "http://www.mew.org/~kazu/proj/pgpdump/en/";
+ license = licenses.bsd3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ primeos ];
+ };
+}
+
diff --git a/pkgs/tools/security/pinentry-mac/default.nix b/pkgs/tools/security/pinentry-mac/default.nix
index faf8c613ea83..7116d1777d6d 100644
--- a/pkgs/tools/security/pinentry-mac/default.nix
+++ b/pkgs/tools/security/pinentry-mac/default.nix
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
mv build/Release/pinentry-mac.app $out/Applications
'';
+ passthru = {
+ binaryPath = "Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac";
+ };
+
meta = {
description = "Pinentry for GPG on Mac";
license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/tools/security/ssdeep/default.nix b/pkgs/tools/security/ssdeep/default.nix
index 4f2cf551816b..b581d8007947 100644
--- a/pkgs/tools/security/ssdeep/default.nix
+++ b/pkgs/tools/security/ssdeep/default.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
sha256 = "1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f";
};
- buildInputs = stdenv.lib.optional (!stdenv.isDarwin) [ patchelf ];
-
# For some reason (probably a build system bug), the binary isn't
# properly linked to $out/lib to find libfuzzy.so
postFixup = stdenv.lib.optionalString (!stdenv.isDarwin) ''
diff --git a/pkgs/tools/security/sslscan/default.nix b/pkgs/tools/security/sslscan/default.nix
index f6777a0e979f..6b205d845340 100644
--- a/pkgs/tools/security/sslscan/default.nix
+++ b/pkgs/tools/security/sslscan/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchFromGitHub, openssl }:
stdenv.mkDerivation rec {
name = "sslscan-${version}";
version = "1.11.7";
- src = fetchurl {
- url = "https://github.com/rbsec/sslscan/archive/${version}-rbsec.tar.gz";
- sha256 = "0wygz2gm9asvhpfy44333y4pkdja1sbr41hc6mhkxg7a4ys8f9qs";
+ src = fetchFromGitHub {
+ owner = "rbsec";
+ repo = "sslscan";
+ rev = "${version}-rbsec";
+ sha256 = "007lf3rxcn9nz6jrki3mavgd9sd2hmm9nzp2g13h0ri51yc3bkp0";
};
buildInputs = [ openssl ];
@@ -23,4 +25,3 @@ stdenv.mkDerivation rec {
platforms = platforms.all;
};
}
-
diff --git a/pkgs/tools/security/sudo/default.nix b/pkgs/tools/security/sudo/default.nix
index b31d60247d8d..b430fd8aad09 100644
--- a/pkgs/tools/security/sudo/default.nix
+++ b/pkgs/tools/security/sudo/default.nix
@@ -4,14 +4,14 @@
}:
stdenv.mkDerivation rec {
- name = "sudo-1.8.18";
+ name = "sudo-1.8.18p1";
src = fetchurl {
urls =
[ "ftp://ftp.sudo.ws/pub/sudo/${name}.tar.gz"
"ftp://ftp.sudo.ws/pub/sudo/OLD/${name}.tar.gz"
];
- sha256 = "04xywg2f9x2kfw81abdf8gsraldaz5v0w0x2zi8aqlgsjygfj6c5";
+ sha256 = "0d4l6y03khmzdd8vhfnq8lrb8gcxplzf7gav0a9sd08jf8f4g875";
};
configureFlags = [
diff --git a/pkgs/tools/security/sudolikeaboss/default.nix b/pkgs/tools/security/sudolikeaboss/default.nix
new file mode 100644
index 000000000000..6e2d6888f2e7
--- /dev/null
+++ b/pkgs/tools/security/sudolikeaboss/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, buildGoPackage, fetchFromGitHub, fixDarwinDylibNames, darwin }:
+buildGoPackage rec {
+ name = "sudolikeaboss-${version}";
+ version = "0.2.1";
+
+ goPackagePath = "github.com/ravenac95/sudolikeaboss";
+ src = fetchFromGitHub {
+ owner = "ravenac95";
+ repo = "sudolikeaboss";
+ rev = "v${version}";
+ sha256 = "1zsmy67d334nax76sq0g2sczp4zi19d94d3xfwgadzk7sxvw1z0m";
+ };
+ goDeps = ./deps.nix;
+
+ propagatedBuildInputs = with darwin.apple_sdk.frameworks; [
+ Cocoa
+ fixDarwinDylibNames
+ ];
+
+ postInstall = ''
+ install_name_tool -delete_rpath $out/lib -add_rpath $bin $bin/bin/sudolikeaboss
+ '';
+
+ meta = with stdenv.lib; {
+ inherit version;
+ inherit (src.meta) homepage;
+ description = "Get 1password access from iterm2";
+ license = licenses.mit;
+ maintainers = [ maintainers.grahamc ];
+ platforms = platforms.darwin;
+ };
+
+}
diff --git a/pkgs/tools/security/sudolikeaboss/deps.nix b/pkgs/tools/security/sudolikeaboss/deps.nix
new file mode 100644
index 000000000000..04f831675fac
--- /dev/null
+++ b/pkgs/tools/security/sudolikeaboss/deps.nix
@@ -0,0 +1,22 @@
+# This file was generated by go2nix: https://github.com/kamilchm/go2nix
+# v1.1.0 or 1.1.1, not 100% sure
+[
+ {
+ goPackagePath = "github.com/urfave/cli";
+ fetch = {
+ type = "git";
+ url = "https://github.com/urfave/cli";
+ rev = "55f715e28c46073d0e217e2ce8eb46b0b45e3db6";
+ sha256 = "0fvqxh1dx4f189y90fhrjapb4g51d7cp203jahxfb19k1k8c3942";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/net";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/net";
+ rev = "2a824cf9226006580a06d9fa8f10901c17b49ed5";
+ sha256 = "19hc83dsa8k1zbzb16v9yc44grscl9r4fxlpwqi3f6zqfrv0qk4n";
+ };
+ }
+]
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 0e69729a2262..8fbf35caf1d2 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
- name = "tor-0.2.8.8";
+ name = "tor-0.2.8.9";
src = fetchurl {
url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
- sha256 = "1pp3h0a1cl25fv04b3j6wp8aw1sfpbd2lmag397dpp2k2b305bxi";
+ sha256 = "3f5c273bb887be4aff11f4d99b9e2e52d293b81ff4f6302b730161ff16dc5316";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/tor/tor-arm.nix b/pkgs/tools/security/tor/tor-arm.nix
index 1857cfcbe22e..432b1cbfceee 100644
--- a/pkgs/tools/security/tor/tor-arm.nix
+++ b/pkgs/tools/security/tor/tor-arm.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
cp -R src/TorCtl $out/libexec
wrapProgram $out/bin/arm \
- --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pythonPackages.curses}):$out/libexec:$PYTHONPATH" \
+ --prefix PYTHONPATH : "$(toPythonPath $out):$out/libexec:$PYTHONPATH" \
--set TERMINFO "${ncurses.out}/share/terminfo" \
--set TERM "xterm"
'';