1{ stdenv, fetchurl }:
2stdenv.mkDerivation rec {
3 name = "apg-2.3.0b";
4 src = fetchurl {
5 url = "http://www.adel.nursat.kz/apg/download/${name}.tar.gz";
6 sha256 = "14lbq81xrcsmpk1b9qmqyz7n6ypf08zcxvcvp6f7ybcyf0lj1rfi";
7 };
8 configurePhase = ''
9 substituteInPlace Makefile --replace /usr/local "$out"
10 '';
11
12 patches = [ ./apg.patch ];
13
14 meta = {
15 description = "Tools for random password generation";
16 longDescription = ''
17 APG (Automated Password Generator) is the tool set for random
18 password generation.
19
20 Standalone version
21
22 Generates some random words of required type and prints them
23 to standard output.
24
25 Network version
26
27 APG server: When client's request is arrived generates some
28 random words of predefined type and send them to client over
29 the network (according to RFC0972).
30
31 APG client: Sends the password generation request to the APG
32 server, wait for generated Passwords arrival and then prints
33 them to the standard output.
34
35 Advantages
36
37 * Built-in ANSI X9.17 RNG (Random Number Generator) (CAST/SHA1)
38 * Built-in password quality checking system (it has support for
39 Bloom filter for faster access)
40 * Two Password Generation Algorithms:
41 1. Pronounceable Password Generation Algorithm (according to
42 NIST FIPS 181)
43 2. Random Character Password Generation Algorithm with 35
44 configurable modes of operation
45 * Configurable password length parameters
46 * Configurable amount of generated passwords
47 * Ability to initialize RNG with user string
48 * Support for /dev/random
49 * Ability to crypt() generated passwords and print them as
50 additional output
51 * Special parameters to use APG in script
52 * Ability to log password generation requests for network version
53 * Ability to control APG service access using tcpd
54 * Ability to use password generation service from any type of box
55 (Mac, WinXX, etc.) that connected to network
56 * Ability to enforce remote users to use only allowed type of
57 password generation
58 '';
59 homepage = http://www.adel.nursat.kz/apg/;
60 license = stdenv.lib.licenses.bsd3;
61 maintainers = with stdenv.lib.maintainers; [ astsmtl ];
62 platforms = stdenv.lib.platforms.linux;
63 };
64}