Version 3.0.1.
[pwmd.git] / NEWS
blob71acd669d1bff8b841fa0fd8251f2f6dcf41d3fb
1 PWMD v3.0.1
2 -----------
3 Fix crash when checking the cache status of a new file.
5 Set the default cache_timeout configuration parameter to 600.
7 Set the default keepalive_interval to 60.
9 Fix SAVE not caching new files.
12 PWMD v3.0.0
13 -----------
14 This version contains quite a few changes and enhancements. Most
15 commands and syntax have changed in this release so please read the
16 example configuration file and the html or texinfo documentation in
17 the doc/ directory.
19 You will need to convert your existing pwmd v2.x data file to the new
20 data file format by doing the following:
22         $ pwmd --convert datafile -o newfile
24 then place "newfile" in ~/.pwmd/data. If you built with gpg-agent
25 support by passing --enable-agent to configure, then append
26 --use-agent to the above command line to use the gpg-agent to generate
27 a public and private keypair. No keypair is generated by default; the
28 data file is symmetrically encrypted.
30 Pwmd now supports the use of the gpg-agent for passphrase caching and
31 key management. This means smartcards are also supported. A "stub" of
32 the secret key is stored in the above mentioned key directory, but the
33 secret portion of the key is stored on the smartcard. To convert your
34 existing data while encrypting to an existing public key, pass the
35 --keygrip option with --convert or --import, along with
36 --use-agent. You may also need to pass the --sign-keygrip, too. See
37 the pwmd manual for details.
39 The XML document is now cached in pwmd when the passphrase is also
40 cached. This is needed to prevent requiring a smartcard to be inserted
41 for each OPEN command although it can still be required by setting the
42 CACHETIMEOUT of a data file to 0. Pwmd will operate on a copy of the
43 cached document and update the cached one after a SAVE. It is also
44 much faster than having to decrypt the data file during each OPEN.
45 The cached document is encrypted to prevent memory grepping attacks.
47 Ported to POSIX threads (pthreads).
49 Renamed error codes:
50     PWMD_LIBXML_ERROR -> GPG_ERR_BAD_DATA
51     PWMD_NO_FILE -> GPG_ERR_INV_STATE
52     PWMD_FILE_MODIFIED -> GPG_ERR_CHECKSUM
54 Most commands now have an --inquire option to retrieve remaining
55 non-option arguments via a server inquire. This avoids the libassuan
56 line length limit for longer element paths.
58 Added the PASSWD command to change the passphrase of a secret key or a
59 symmetrically encrypted key (SAVE --no-agent).
61 The IMPORT command can now import siblings.
63 Added the AGENT command to send a command directly to gpg-agent.
65 Added the GETINFO command to retrieve server details. This removes the
66 VERSION and GETPID commands.
68 Removed the CONFIG and KEEPALIVE status messages.
70 Added the NEWFILE status message to determine when the file OPEN'ed is
71 a new one.
73 Added ISCACHED --lock to lock the file mutex. This doesn't require an
74 OPEN'd file. It was added to prevent a race condition with another
75 client accessing the same file when one client needed to determine the
76 cache status before the OPEN.
78 Texinfo documentation and the manual page is generated from the
79 texinfo source.
81 Commands that normally returned GPG_ERR_NO_VALUE now return
82 GPG_ERR_NO_DATA.
84 The --iterations command line, configuration and SAVE options have
85 been renamed to "s2k-count". The PASSWD command can be used to change
86 this value for an existing secret key.
88 The CLEARCACHE command returns an error when the file mutex associated
89 with the data file is locked by another client. Although an error is
90 returned the cached file is flagged for cache removal which will occur
91 when the data file mutex is released.
93 Added LIST --all to retrieve the entire element tree. Flags are
94 appended to each element path when this option is used. See the
95 documentation for details.
97 The checksum is now a CRC32 checksum rather than a stat() of the ctime
98 of the data file.
100 Can now listen for remote connections via TLS (IPv4 and IPv6) as well
101 as the local UNIX domain socket.
103 Added tests. Run them with 'make tests' in the tests/ directory.
105 More portable: *BSD, SunOS/Solaris/OpenSolaris, Android and Linux and
106 32 and 64 bit versions of these as well as little and big endian.
108 Removed the libglib-2.0 dependency.