Fix ACL crash for non-existing user.
[pwmd.git] / README
bloba69ae6ae2beb485bef13ea9b36f9583d623da7a8
1 Password Manager Daemon is a server that provides a way for applications to
2 securely store and retrieve data at a centralized location. The data is stored
3 in an XML file and clients connect and send commands to manipulate the data.
5 I needed this because I use a few applications that require the same
6 credentials but hate having to update all those configuration files to reflect
7 any changes. The data file can be edited once with a pwmd client and patched
8 applications can retrieve the updated info.
10 Some of the features include:
12     * Multi-threaded. More than one client may access the data at the same
13       time.
14     * Optionally uses the GnuPG Agent for key caching and smartcard support.
15     * Remote network connctions via libpwmd over GnuTLS or SSH via a proxy.
16     * Configuration file which supports file specific settings including:
17       cache expiration and encryption key or key file and more.
18     * Logging to file and/or syslog.
19     * Secure memory usage. PWMD will zero out memory before freeing it and
20       also has the option to lock the entire process in RAM to avoid swapping
21       the data to virtual memory.
24 Requirements:
25 -------------
26     C99 compiler - http://www.gnu.org/software/gcc
27                    Has been tested to work. Others should work fine, too.
29     libassuan    - ftp://ftp.gnupg.org/gcrypt/libassuan
30                    Protocol. Version 2.0.2 or later is required. Version
31                    2.1.0 or later is recommended for UDS peer credential
32                    checking on OS's other than Linux.
34     libgpg-error - http://www.gnupg.org
35                    Error handling. Required.
37     gpg-agent    - http://www.gnupg.org
38                    Keypair generation, decryption and caching. Version 2.1.0
39                    or later is required when pwmd's --use-agent command line
40                    option is specified. Optional.
42     pinentry     - http://www.gnupg.org
43                    Required for passphrase retrieval from either gpg-agent or
44                    pwmd itself.
46     libxml2      - http://xmlsoft.org
47                    Required for XML parsing and data manipulation.
49     libgcrypt    - http://www.gnupg.org
50                    Encryption and hashing. Version 1.5.0 or later is required.
52     libz         - http://www.zlib.net
53                    For data file conversion. Version 1.2.2.1 or later is
54                    required.
56     libgnutls    - http://www.gnu.org/software/gnutls/
57                    For encrypted connections over a TCP network. Version
58                    3.3.0 or later. Optional.
61 Installation:
62 -------------
63 ./configure && make install
65 Typing 'pwmd' will start the server and wait for connections to
66 ~/.pwmd/socket. Be sure gpg-agent is running (see manual) when
67 --use-agent is specfied on the pwmd command line (--enable-agent must
68 have been passed to configure at compile-time to enable gpg-agent
69 support). Passing --allow-preset-passphrase to gpg-agent is
70 recommended and gpg-agent option --allow-loopback-pinentry is required
71 if using a keyfile or connecting over TLS.
74 Connecting:
75 -----------
76 Any program that can connect to a UNIX domain socket will work although using
77 pwmc, a client included with libpwmd, is recommended:
79     echo command | pwmc filename
80 or interactively
81     pwmc filename
83     socat UNIX-CONNECT:$HOME/.pwmd/socket -
85 A more user-friendly client QPwmc is also available. It has a Qt GUI and is
86 much easier to use. See http://qpwmc.sourceforge.net/ for details.
88 Please read pwmd.info manual for protocol commands, syntax and
89 configuration details. A HTML version is also available in doc/pwmd.html.
92 GIT Repository
93 --------------
94 There is a public GIT repository available at repo.or.cz. Anonymous checkouts
95 can be done by:
97     git clone git://repo.or.cz/pwmd.git
99 The gitweb interface can be viewed at http://repo.or.cz/w/pwmd.git.
102 Mailing lists
103 -------------
104 Please send bug reports, questions or feature requests to
105 https://lists.sourceforge.net/lists/listinfo/pwmd-users
107 Developers please use
108 https://lists.sourceforge.net/lists/listinfo/pwmd-devel
110 The same for libpwmd may be sent to
111 https://lists.sourceforge.net/lists/listinfo/libpwmd-users
113 https://lists.sourceforge.net/lists/listinfo/libpwmd-devel
116 Ben Kibbey <bjk@luxsci.net>
117 XMPP: bjk@jabber.org
118 http://pwmd.sourceforge.net/