Make cache_timer_thread() joinable.
[pwmd.git] / NEWS
blob89b38314d2fc7de1d6aedf49a8bf055f27002ab1
1 PWMD v3.0.0
2 -----------
3 This version contains quite a few changes and enhancements. Please read the
4 example configuration file and the generated documentation in doc/pwmd.info,
5 after doing ./configure && make, for details since most commands and options
6 have changed.
8 You will need to convert your existing pwmd v2.x data file to the new format
9 by doing the following:
11         $ pwmd --convert datafile -o newfile
13 then place "newfile" in ~/.pwmd/data. This will generate a new public and
14 private key pair and prompt for the passphrase to use for protecting the
15 secret key. The secret portion of the key is stored in
16 ~/.gnupg/private-keys-v1.d/ by gpg-agent.
18 Since pwmd now uses the gpg-agent for passphrase caching and key management,
19 this means smartcards are also supported. A "stub" of the secret key is stored
20 in the above mentioned key directory, but the secret portion of the key is
21 stored on the smartcard. To convert your existing data while encrypting to an
22 existing public key, pass the --keygrip option with --convert or --import. You
23 may also need to pass the --sign-keygrip, too. See the pwmd manual for
24 details.
26 The XML document is now cached in pwmd when the passphrase is cached in
27 gpg-agent. This is needed to prevent requiring a smartcard to be inserted for
28 each OPEN command. pwmd will operate on a copy of the cached document and
29 update the cached one after a SAVE. It is also much faster than having to
30 decrypt the data file during each OPEN although the cached document is still
31 encrypted, it is only encrypted with 1 iteration and with a generated key.
33 Ported to POSIX threads (pthreads).
35 Renamed error codes:
36     PWMD_LIBXML_ERROR -> GPG_ERR_BAD_DATA
37     PWMD_NO_FILE -> GPG_ERR_INV_STATE
38     PWMD_FILE_MODIFIED -> GPG_ERR_CHECKSUM
40 Most commands now have an --inquire option to retrieve remaining non-option
41 arguments via a server inquire. This avoids the assuan line length limit for
42 longer element paths.
44 Added the PASSWD command to change the passphrase of a secret key.
46 Added the AGENT command to send a command directly to gpg-agent.
48 Added the GETINFO command to retrieve server details. This removes the
49 VERSION and GETPID commands.
51 Removed the CONFIG and KEEPALIVE status messages.
53 Added the NEWFILE status message to determine when the file OPEN'ed is a new
54 one.
56 Added ISCACHED --lock to lock the file mutex. This doesn't require an OPEN'd
57 file. It was added to prevent a race condition with another client accessing
58 the same file when one client needed to determine the cache status before the
59 OPEN.
61 Texinfo documentation.
63 Commands that normally returned GPG_ERR_NO_VALUE now return GPG_ERR_NO_DATA.
65 The --iterations command line, configuration and SAVE options have been renamed
66 to "s2k-count". The PASSWD command can be used to change this value for an
67 existing secret key.
69 The CLEARCACHE command returns an error when the file mutex associated with
70 the data file is locked by another client. Although an error is returned the
71 cached file is flagged for cache removal which will occur when the data file
72 mutex is released.
74 Added LIST --all to retrieve the entire element tree. Flags are appended to
75 each element path when this option is used. See the documentation for details.
77 The checksum is now a CRC32 checksum rather than a stat() of the ctime of the
78 data file.
80 The data file header is now packed so it can be used across architectures.
82 Can now listen for remote connections over TCP (IPv4 and IPv6) as well as the
83 local UNIX domain socket.
85 Added tests. Run them with 'make tests' in the tests/ directory.