Updated COMMANDS.
[pwmd.git] / README
blob3d98a7bcb184345573073b25f04a2532b1bcc513
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 (optionally AES256 encrypted) XML file and clients connect and send
4 commands to manipulate the data. Some of the features include:
6     * Multi-threaded. More than one client may access the data at the same
7       time.
8     * A key cache so clients won't need to enter a key each time a file is
9       opened or saved.
10     * Key retrieval via pinentry(1).
11     * Configuration file which supports file specific settings including:
12       encryption iterations, cache expiration and encryption key or key file
13       and more.
14     * Compressed data file support.
15     * Logging to file and/or syslog.
16     * Secure memory usage. PWMD will zero out memory before freeing it and
17       also has the option to lock the entire process in RAM to avoid swapping
18       the data to virtual memory.
20 I needed this because I use a few applications that require the same
21 credentials but hate having to update all those configuration files to reflect
22 any changes. This way, there is a central location for the needed data.
24 Requirements:
26     libpth2      - http://www.gnu.org/software/pth/pth.html
27                    Portable multi-threading library.
29     libassuan    - http://www.gnupg.org
30                    Protocol. Version 1.0.4 or later is required.
32     libgpg-error - http://www.gnupg.org
33                    Error handling.
35     glib2        - http://www.gtk.org
36                    Portability library among other things.
38     libxml2      - http://xmlsoft.org
39                    For XML parsing and data manipulation.
41     libgcrypt    - http://www.gnupg.org
42                    Encryption, decryption and hashing.
44     libz         - http://www.zlib.net
45                    For compressing the data file. Version 1.2.2.1 or later is
46                    required.
48     pinentry     - http://www.gnupg.org/aegypten
49                    There are various interfaces for password entry:
50                    console/curses, X11/GTK2, X11/QT. The X11 versions also
51                    support console/curses. Version 0.7.5 or later is required
52                    unless --disable-pinentry is passed to ./configure.
54     cracklib2    - http://sourceforge.net/projects/cracklib
55                    If --enable-quality is passed to ./configure then a
56                    password quality meter is used with pinentry. Optional.
58 You can connect by using socat (http://www.dest-unreach.org/socat/) or pwmc (a
59 client included with libpwmd):
61     socat GOPEN:$HOME/.pwmd/socket -
63     or
65     echo command | pwmc filename
67 Libpwmd is a library making it easy for applications to use pwmd. You can find
68 it at the pwmd homepage. There are also some patches already written (some
69 could use improvement) for a few apps too.
71 Read COMMANDS for protocol commands and syntax. Feel free to send me any
72 patches, bug reports or feature requests.
74 GIT Repository
75 --------------
76 There is a public GIT repository available at repo.or.cz. Anonymous checkouts
77 can be done by:
79     git clone ssh://repo.or.cz/srv/git/pwmd.git
81 The gitweb interface can be viewed at http://repo.or.cz/w/pwmd.git.
83 Ben Kibbey <bjk@luxsci.net>
84 http://bjk.sourceforge.net/pwmd/