Update copyright header.
[pwmd.git] / NEWS
blobf2fb1b7626fdd631979ae16cb7bd7c8ba19ddcf3
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 (unless not using gpg-agent support by specifying --no-agent)
15 and prompt for the passphrase to use for protecting the secret key. The secret
16 portion of the key is stored in ~/.gnupg/private-keys-v1.d/ by gpg-agent.
18 Since pwmd now uses the gpg-agent for passphrase caching and key management by
19 default, this means smartcards are also supported. A "stub" of the secret key
20 is stored in the above mentioned key directory, but the secret portion of the
21 key is stored on the smartcard. To convert your existing data while encrypting
22 to an existing public key, pass the --keygrip option with --convert or
23 --import. You may also need to pass the --sign-keygrip, too. See the pwmd
24 manual for 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 or a
45 symmetrically encrypted key (SAVE --no-agent, or pwmd --no-agent).
47 Added the AGENT command to send a command directly to gpg-agent.
49 Added the GETINFO command to retrieve server details. This removes the
50 VERSION and GETPID commands.
52 Removed the CONFIG and KEEPALIVE status messages.
54 Added the NEWFILE status message to determine when the file OPEN'ed is a new
55 one.
57 Added ISCACHED --lock to lock the file mutex. This doesn't require an OPEN'd
58 file. It was added to prevent a race condition with another client accessing
59 the same file when one client needed to determine the cache status before the
60 OPEN.
62 Texinfo documentation.
64 Commands that normally returned GPG_ERR_NO_VALUE now return GPG_ERR_NO_DATA.
66 The --iterations command line, configuration and SAVE options have been renamed
67 to "s2k-count". The PASSWD command can be used to change this value for an
68 existing secret key.
70 The CLEARCACHE command returns an error when the file mutex associated with
71 the data file is locked by another client. Although an error is returned the
72 cached file is flagged for cache removal which will occur when the data file
73 mutex is released.
75 Added LIST --all to retrieve the entire element tree. Flags are appended to
76 each element path when this option is used. See the documentation for details.
78 The checksum is now a CRC32 checksum rather than a stat() of the ctime of the
79 data file.
81 The data file header is now packed so it can be used across architectures.
83 Can now listen for remote connections via TLS (IPv4 and IPv6) as well as the
84 local UNIX domain socket.
86 Added tests. Run them with 'make tests' in the tests/ directory.
88 More portable: *BSD, SunOS/Solaris/OpenSolaris, Android and Linux.
90 Removed the libglib-2.0 dependency.