diff --git a/pkgs/tools/security/p0f/default.nix b/pkgs/tools/security/p0f/default.nix new file mode 100644 index 000000000000..2c54e0b3cb8f --- /dev/null +++ b/pkgs/tools/security/p0f/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, libpcap }: + +stdenv.mkDerivation rec { + name = "p0f-${version}"; + version = "3.06b"; + + src = fetchurl { + url = "http://lcamtuf.coredump.cx/p0f3/releases/${name}.tgz"; + sha256 = "1rydqvr78a3rjp9iwfbw4bs7jfb4p22962makdgw8yjmw8dr6lfi"; + }; + + buildInputs = [ libpcap ]; + + buildPhase = '' + substituteInPlace config.h --replace "p0f.fp" "$out/etc/p0f.fp" + ./build.sh + cd tools && make && cd .. + ''; + + installPhase = '' + mkdir -p $out/sbin $out/etc + + cp ./p0f $out/sbin + cp ./p0f.fp $out/etc + + cp ./tools/p0f-client $out/sbin + cp ./tools/p0f-sendsyn $out/sbin + cp ./tools/p0f-sendsyn6 $out/sbin + ''; + + meta = { + description = "Passive network reconnaissance and fingerprinting tool"; + homepage = "http://lcamtuf.coredump.cx/p0f3/"; + license = stdenv.lib.licenses.lgpl21; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f7e7e51dc784..bec5bca14283 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1650,6 +1650,8 @@ let inherit (gnome3) gnome_icon_theme gnome_icon_theme_symbolic; }; + p0f = callPackage ../tools/security/p0f { }; + hurdPartedCross = if crossSystem != null && crossSystem.config == "i586-pc-gnu" then (makeOverridable