Fix PASSWD to allow changing to an empty passphrase for PKI files.
[pwmd.git] / NEWS
blob1a5bd3b29ed88261bd45bab72a511287182aa296
1 PWMD v3.0.0
2 -----------
3 This version contains quite a few changes and enhancements. Most
4 commands and syntax have changed in this release so please read the
5 example configuration file and the generated texinfo documentation in
6 doc/pwmd.info, after doing ./configure && make.
8 You will need to convert your existing pwmd v2.x data file to the new
9 format by doing the following:
11         $ pwmd --convert datafile -o newfile
13 then place "newfile" in ~/.pwmd/data. This will generate a new public
14 and private key pair (when using gpg-agent support by specifying
15 --use-agent) and prompt for the passphrase to use for protecting the
16 secret key. The secret portion of the key is stored in
17 ~/.gnupg/private-keys-v1.d/ by gpg-agent. No keypair is generated by
18 default; the data file is symmetrically encrypted.
20 Pwmd now supports the use of the gpg-agent for passphrase caching and
21 key management. This means smartcards are also supported. A "stub" of
22 the secret key is stored in the above mentioned key directory, but the
23 secret portion of the key is stored on the smartcard. To convert your
24 existing data while encrypting to an existing public key, pass the
25 --keygrip option with --convert or --import along with
26 --use-agent. You may also need to pass the --sign-keygrip, too. See
27 the pwmd manual for details.
29 The XML document is now cached in pwmd when the passphrase is cached
30 in gpg-agent. This is needed to prevent requiring a smartcard to be
31 inserted for each OPEN command although it can be required by setting
32 the CACHETIMEOUT to 0. pwmd will operate on a copy of the cached
33 document and update the cached one after a SAVE. It is also much
34 faster than having to decrypt the data file during each OPEN although
35 the cached document is still encrypted, it is only encrypted with 1
36 iteration and with a generated key.
38 Ported to POSIX threads (pthreads).
40 Renamed error codes:
41     PWMD_LIBXML_ERROR -> GPG_ERR_BAD_DATA
42     PWMD_NO_FILE -> GPG_ERR_INV_STATE
43     PWMD_FILE_MODIFIED -> GPG_ERR_CHECKSUM
45 Most commands now have an --inquire option to retrieve remaining
46 non-option arguments via a server inquire. This avoids the assuan line
47 length limit for longer element paths.
49 Added the PASSWD command to change the passphrase of a secret key or a
50 symmetrically encrypted key (SAVE --no-agent).
52 Added the AGENT command to send a command directly to gpg-agent.
54 Added the GETINFO command to retrieve server details. This removes the
55 VERSION and GETPID commands.
57 Removed the CONFIG and KEEPALIVE status messages.
59 Added the NEWFILE status message to determine when the file OPEN'ed is
60 a new one.
62 Added ISCACHED --lock to lock the file mutex. This doesn't require an
63 OPEN'd file. It was added to prevent a race condition with another
64 client accessing the same file when one client needed to determine the
65 cache status before the OPEN.
67 Texinfo documentation.
69 Commands that normally returned GPG_ERR_NO_VALUE now return
70 GPG_ERR_NO_DATA.
72 The --iterations command line, configuration and SAVE options have
73 been renamed to "s2k-count". The PASSWD command can be used to change
74 this value for an existing secret key.
76 The CLEARCACHE command returns an error when the file mutex associated
77 with the data file is locked by another client. Although an error is
78 returned the cached file is flagged for cache removal which will occur
79 when the data file mutex is released.
81 Added LIST --all to retrieve the entire element tree. Flags are
82 appended to each element path when this option is used. See the
83 documentation for details.
85 The checksum is now a CRC32 checksum rather than a stat() of the ctime
86 of the data file.
88 Data files are now portable across architectures and endianness.
90 Can now listen for remote connections via TLS (IPv4 and IPv6) as well
91 as the local UNIX domain socket.
93 Added tests. Run them with 'make tests' in the tests/ directory.
95 More portable: *BSD, SunOS/Solaris/OpenSolaris, Android and Linux and
96 32 and 64 bit versions of these as well as little and big endian.
98 Removed the libglib-2.0 dependency.