Fix wait interval for TLS timeout test.
[pwmd.git] / NEWS
blobd10452fb8c1aa536b74b6706933a09c51b8d49d8
1 PWMD v3.0.9
2 -----------
3 Fix SAVE --inquire-keyparam for new files.
5 Fix TLS fingerprint hash case comparison.
7 Check permissions before modifying a "target" attribute.
9 Access is denied for an element that does not contain an "_acl" attribute
10 unless the client is the invoking_user.
13 PWMD v3.0.8
14 -----------
15 Support for ELG keypairs.
17 The "allowed" configuration parameter supports TLS fingerprint hashes by
18 prefixing the hash with a '#' character. This removes the "tls_access"
19 configuration parameter.
21 Added configuration parameter "allowed_file" which should contain one
22 username, group name or hash per line and has the same syntax as the "allowed"
23 parameter.
25 TLS fingerprint hashes are now in SHA256 format and not SHA1 and when
26 specified in a configuration parameter, or "allowed_file", should be
27 prefixed with a '#'.
29 Added per-element access control lists (ACL). Works like the "allowed"
30 configuration parameter but the ACL is stored in the element attribute "_acl".
31 This adds a LIST --verbose flag 'P' to indicate that the current client is not
32 allowed access to the element. This also adds the "invoking_user" and
33 "invoking_tls" configuration parameters. See the documentation for details. 
35 Removed libacl support for data files. It isn't very useful.
37 Fixed a recursion loop in the LIST command. See move test #8 and #9.
39 Disable attaching to the pwmd process. This is Linux specific and has the
40 effect of hiding the pwmd process from 'ps' output.
42 A few other bug fixes. See ChangeLog for details.
45 PWMD v3.0.7
46 -----------
47 More lenient element and attribute names. This reverts the behavior introduced
48 in version 3.0.5. This allows for things like '@' or digits in an element or
49 attribute name making pwmd more useful. I don't remember why I made it so
50 strict in that version so I'll revert it for now until I do remember.
53 PWMD v3.0.6
54 -----------
55 Write a PID file upon startup to detect a stale socket when running another
56 instance.
58 Bind to the local socket before doing cache pushing.
60 Added command line option --force as an alias to --ignore.
62 Fixed a few cppcheck(1) warnings.
64 Fixed a bug that ignored the return value from launch_pinentry().
66 Added configuration parameter "log_keepopen" for use when logging to a file.
69 PWMD v3.0.5
70 -----------
71 More strict element and attribute names. Conform to the XML naming spec.
73 Log any non-fatal XML error. These may occur when loading or parsing
74 an XML file.
76 Fixed a memory leak.
78 Set XML standalone mode; and UTF-8 encoding explicitly (the default).
81 PWMD v3.0.4
82 -----------
83 A few "target" attribute fixes.
85 Updated Debian packaging stuff. Try 'make deb'.
88 PWMD v3.0.3
89 -----------
90 Fixed the PASSWD command requiring a passphrase for a non-PKI data file
91 without a passphrase.
93 Fixed a few memory leaks.
95 The 'OPTION disable-pinentry' now resets the gpg-agent '--pinentry-mode'
96 when needed.
98 Fixed new non-PKI data file cache entry getting cleared during SAVE.
100 The CLEARCACHE and CACHETIMEOUT commands now make use of the
101 "tls_access" configuration parameter in a data file section like the
102 OPEN command does. Also added a "-" flag to the fingerprint which
103 behaves like the "!" flag.
106 PWMD v3.0.2
107 -----------
108 The "allowed" configuration parameter now works in a data file section
109 and is a list of local user or group names allowed to open the data
110 file. The OPEN, CLEARCACHE and CACHETIMEOUT commands make use of
111 this. This also adds a deny flag '-' to a user or group name.
113 Fixed the cache timer to expire deferred cache entries. No longer need
114 to wait for the next OPEN or SAVE command.
116 Make use of the --no-passphrase option for non-PKI data files. This
117 adds the --no-passphrase option to the PASSWD command.
119 Show a backtrace on SIGABRT.
122 PWMD v3.0.1
123 -----------
124 Fix crash when checking the cache status of a new file.
126 Set the default cache_timeout configuration parameter to 600.
128 Set the default keepalive_interval to 60.
130 Fix SAVE not caching new files.
133 PWMD v3.0.0
134 -----------
135 This version contains quite a few changes and enhancements. Most
136 commands and syntax have changed in this release so please read the
137 example configuration file and the html or texinfo documentation in
138 the doc/ directory.
140 You will need to convert your existing pwmd v2.x data file to the new
141 data file format by doing the following:
143         $ pwmd --convert datafile -o newfile
145 then place "newfile" in ~/.pwmd/data. If you built with gpg-agent
146 support by passing --enable-agent to configure, then append
147 --use-agent to the above command line to use the gpg-agent to generate
148 a public and private keypair. No keypair is generated by default; the
149 data file is symmetrically encrypted.
151 Pwmd now supports the use of the gpg-agent for passphrase caching and
152 key management. This means smartcards are also supported. A "stub" of
153 the secret key is stored in the above mentioned key directory, but the
154 secret portion of the key is stored on the smartcard. To convert your
155 existing data while encrypting to an existing public key, pass the
156 --keygrip option with --convert or --import, along with
157 --use-agent. You may also need to pass the --sign-keygrip, too. See
158 the pwmd manual for details.
160 The XML document is now cached in pwmd when the passphrase is also
161 cached. This is needed to prevent requiring a smartcard to be inserted
162 for each OPEN command although it can still be required by setting the
163 CACHETIMEOUT of a data file to 0. Pwmd will operate on a copy of the
164 cached document and update the cached one after a SAVE. It is also
165 much faster than having to decrypt the data file during each OPEN.
166 The cached document is encrypted to prevent memory grepping attacks.
168 Ported to POSIX threads (pthreads).
170 Renamed error codes:
171     PWMD_LIBXML_ERROR -> GPG_ERR_BAD_DATA
172     PWMD_NO_FILE -> GPG_ERR_INV_STATE
173     PWMD_FILE_MODIFIED -> GPG_ERR_CHECKSUM
175 Most commands now have an --inquire option to retrieve remaining
176 non-option arguments via a server inquire. This avoids the libassuan
177 line length limit for longer element paths.
179 Added the PASSWD command to change the passphrase of a secret key or a
180 symmetrically encrypted key (SAVE --no-agent).
182 The IMPORT command can now import siblings.
184 Added the AGENT command to send a command directly to gpg-agent.
186 Added the GETINFO command to retrieve server details. This removes the
187 VERSION and GETPID commands.
189 Removed the CONFIG and KEEPALIVE status messages.
191 Added the NEWFILE status message to determine when the file OPEN'ed is
192 a new one.
194 Added ISCACHED --lock to lock the file mutex. This doesn't require an
195 OPEN'd file. It was added to prevent a race condition with another
196 client accessing the same file when one client needed to determine the
197 cache status before the OPEN.
199 Texinfo documentation and the manual page is generated from the
200 texinfo source.
202 Commands that normally returned GPG_ERR_NO_VALUE now return
203 GPG_ERR_NO_DATA.
205 The --iterations command line, configuration and SAVE options have
206 been renamed to "s2k-count". The PASSWD command can be used to change
207 this value for an existing secret key.
209 The CLEARCACHE command returns an error when the file mutex associated
210 with the data file is locked by another client. Although an error is
211 returned the cached file is flagged for cache removal which will occur
212 when the data file mutex is released.
214 Added LIST --all to retrieve the entire element tree. Flags are
215 appended to each element path when this option is used. See the
216 documentation for details.
218 The checksum is now a CRC32 checksum rather than a stat() of the ctime
219 of the data file.
221 Can now listen for remote connections via TLS (IPv4 and IPv6) as well
222 as the local UNIX domain socket.
224 Added tests. Run them with 'make tests' in the tests/ directory.
226 More portable: *BSD, SunOS/Solaris/OpenSolaris, Android and Linux and
227 32 and 64 bit versions of these as well as little and big endian.
229 Removed the libglib-2.0 dependency.