diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/apg/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/security/apg/default.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/apg/default.nix b/nixpkgs/pkgs/tools/security/apg/default.nix new file mode 100644 index 000000000000..db490c7822f8 --- /dev/null +++ b/nixpkgs/pkgs/tools/security/apg/default.nix @@ -0,0 +1,72 @@ +{ stdenv, fetchurl, openssl }: +stdenv.mkDerivation rec { + name = "apg-2.3.0b"; + src = fetchurl { + url = "http://www.adel.nursat.kz/apg/download/${name}.tar.gz"; + sha256 = "14lbq81xrcsmpk1b9qmqyz7n6ypf08zcxvcvp6f7ybcyf0lj1rfi"; + }; + configurePhase = '' + substituteInPlace Makefile --replace /usr/local "$out" + ''; + makeFlags = stdenv.lib.optionals stdenv.isDarwin ["CC=cc"]; + + patches = [ + ./apg.patch + ./phony-install-target.patch + ]; + + postPatch = stdenv.lib.optionalString stdenv.isDarwin '' + sed -i -e 's|APG_CLIBS += -lcrypt|APG_CLIBS += -L${openssl.out}/lib -lcrypto|' Makefile + ''; + + meta = { + description = "Tools for random password generation"; + longDescription = '' + APG (Automated Password Generator) is the tool set for random + password generation. + + Standalone version + + Generates some random words of required type and prints them + to standard output. + + Network version + + APG server: When client's request is arrived generates some + random words of predefined type and send them to client over + the network (according to RFC0972). + + APG client: Sends the password generation request to the APG + server, wait for generated Passwords arrival and then prints + them to the standard output. + + Advantages + + * Built-in ANSI X9.17 RNG (Random Number Generator) (CAST/SHA1) + * Built-in password quality checking system (it has support for + Bloom filter for faster access) + * Two Password Generation Algorithms: + 1. Pronounceable Password Generation Algorithm (according to + NIST FIPS 181) + 2. Random Character Password Generation Algorithm with 35 + configurable modes of operation + * Configurable password length parameters + * Configurable amount of generated passwords + * Ability to initialize RNG with user string + * Support for /dev/random + * Ability to crypt() generated passwords and print them as + additional output + * Special parameters to use APG in script + * Ability to log password generation requests for network version + * Ability to control APG service access using tcpd + * Ability to use password generation service from any type of box + (Mac, WinXX, etc.) that connected to network + * Ability to enforce remote users to use only allowed type of + password generation + ''; + homepage = http://www.adel.nursat.kz/apg/; + license = stdenv.lib.licenses.bsd3; + maintainers = with stdenv.lib.maintainers; [ astsmtl ]; + platforms = stdenv.lib.platforms.unix; + }; +} |