Version 3.0.12.
[pwmd.git] / NEWS
blobd3022773c11456e4f854d21e6863688e39cc5290
1 PWMD v3.0.12
2 ------------
3 When opening a new file then opening another, the first file would be cached
4 when not saved. So remove the cache entry for non-saved file to prevent a
5 possible DoS.
7 Fixed the verbose flag of LIST to not append a "T" flag when no target
8 existed for a root element.
10 Updated Debian packaging info so 'make deb' should now reflect the current
11 version.
14 PWMD v3.0.11
15 ------------
16 Update to work with newest gpg-agent. This adds configuration parameter
17 "gpg_agent_socket" to replace "agent_env_file".
19 Fix doc/magic and the version string.
22 PWMD v3.0.10
23 ------------
24 Fixed SAVE --keygrip and --sign-keygrip when not a new file.
26 Fixed SAVE using the previously opened files signing key when the current file
27 is an new one.
29 Fixed TLS socket hanging during handshake failure.
31 Fixed TLS wait interval during EAGAIN.
33 Added GETINFO USER to return the client username/hash.
35 Fixed MOVE doing an unneeded permission check.
37 Fixed CACHETIMEOUT to apply the new timeout immediately and not wait for the
38 existing timer to expire.
40 Bugfixes. See ChangeLog for details.
44 PWMD v3.0.9
45 -----------
46 Fix SAVE --inquire-keyparam for new files.
48 Fix TLS fingerprint hash case comparison.
50 Check permissions before modifying a "target" attribute.
52 Access is denied for an element that does not contain an "_acl" attribute
53 unless the client is the invoking_user.
56 PWMD v3.0.8
57 -----------
58 Support for ELG keypairs.
60 The "allowed" configuration parameter supports TLS fingerprint hashes by
61 prefixing the hash with a '#' character. This removes the "tls_access"
62 configuration parameter.
64 Added configuration parameter "allowed_file" which should contain one
65 username, group name or hash per line and has the same syntax as the "allowed"
66 parameter.
68 TLS fingerprint hashes are now in SHA256 format and not SHA1 and when
69 specified in a configuration parameter, or "allowed_file", should be
70 prefixed with a '#'.
72 Added per-element access control lists (ACL). Works like the "allowed"
73 configuration parameter but the ACL is stored in the element attribute "_acl".
74 This adds a LIST --verbose flag 'P' to indicate that the current client is not
75 allowed access to the element. This also adds the "invoking_user" and
76 "invoking_tls" configuration parameters. See the documentation for details. 
78 Removed libacl support for data files. It isn't very useful.
80 Fixed a recursion loop in the LIST command. See move test #8 and #9.
82 Disable attaching to the pwmd process. This is Linux specific and has the
83 effect of hiding the pwmd process from 'ps' output.
85 A few other bug fixes. See ChangeLog for details.
88 PWMD v3.0.7
89 -----------
90 More lenient element and attribute names. This reverts the behavior introduced
91 in version 3.0.5. This allows for things like '@' or digits in an element or
92 attribute name making pwmd more useful. I don't remember why I made it so
93 strict in that version so I'll revert it for now until I do remember.
96 PWMD v3.0.6
97 -----------
98 Write a PID file upon startup to detect a stale socket when running another
99 instance.
101 Bind to the local socket before doing cache pushing.
103 Added command line option --force as an alias to --ignore.
105 Fixed a few cppcheck(1) warnings.
107 Fixed a bug that ignored the return value from launch_pinentry().
109 Added configuration parameter "log_keepopen" for use when logging to a file.
112 PWMD v3.0.5
113 -----------
114 More strict element and attribute names. Conform to the XML naming spec.
116 Log any non-fatal XML error. These may occur when loading or parsing
117 an XML file.
119 Fixed a memory leak.
121 Set XML standalone mode; and UTF-8 encoding explicitly (the default).
124 PWMD v3.0.4
125 -----------
126 A few "target" attribute fixes.
128 Updated Debian packaging stuff. Try 'make deb'.
131 PWMD v3.0.3
132 -----------
133 Fixed the PASSWD command requiring a passphrase for a non-PKI data file
134 without a passphrase.
136 Fixed a few memory leaks.
138 The 'OPTION disable-pinentry' now resets the gpg-agent '--pinentry-mode'
139 when needed.
141 Fixed new non-PKI data file cache entry getting cleared during SAVE.
143 The CLEARCACHE and CACHETIMEOUT commands now make use of the
144 "tls_access" configuration parameter in a data file section like the
145 OPEN command does. Also added a "-" flag to the fingerprint which
146 behaves like the "!" flag.
149 PWMD v3.0.2
150 -----------
151 The "allowed" configuration parameter now works in a data file section
152 and is a list of local user or group names allowed to open the data
153 file. The OPEN, CLEARCACHE and CACHETIMEOUT commands make use of
154 this. This also adds a deny flag '-' to a user or group name.
156 Fixed the cache timer to expire deferred cache entries. No longer need
157 to wait for the next OPEN or SAVE command.
159 Make use of the --no-passphrase option for non-PKI data files. This
160 adds the --no-passphrase option to the PASSWD command.
162 Show a backtrace on SIGABRT.
165 PWMD v3.0.1
166 -----------
167 Fix crash when checking the cache status of a new file.
169 Set the default cache_timeout configuration parameter to 600.
171 Set the default keepalive_interval to 60.
173 Fix SAVE not caching new files.
176 PWMD v3.0.0
177 -----------
178 This version contains quite a few changes and enhancements. Most
179 commands and syntax have changed in this release so please read the
180 example configuration file and the html or texinfo documentation in
181 the doc/ directory.
183 You will need to convert your existing pwmd v2.x data file to the new
184 data file format by doing the following:
186         $ pwmd --convert datafile -o newfile
188 then place "newfile" in ~/.pwmd/data. If you built with gpg-agent
189 support by passing --enable-agent to configure, then append
190 --use-agent to the above command line to use the gpg-agent to generate
191 a public and private keypair. No keypair is generated by default; the
192 data file is symmetrically encrypted.
194 Pwmd now supports the use of the gpg-agent for passphrase caching and
195 key management. This means smartcards are also supported. A "stub" of
196 the secret key is stored in the above mentioned key directory, but the
197 secret portion of the key is stored on the smartcard. To convert your
198 existing data while encrypting to an existing public key, pass the
199 --keygrip option with --convert or --import, along with
200 --use-agent. You may also need to pass the --sign-keygrip, too. See
201 the pwmd manual for details.
203 The XML document is now cached in pwmd when the passphrase is also
204 cached. This is needed to prevent requiring a smartcard to be inserted
205 for each OPEN command although it can still be required by setting the
206 CACHETIMEOUT of a data file to 0. Pwmd will operate on a copy of the
207 cached document and update the cached one after a SAVE. It is also
208 much faster than having to decrypt the data file during each OPEN.
209 The cached document is encrypted to prevent memory grepping attacks.
211 Ported to POSIX threads (pthreads).
213 Renamed error codes:
214     PWMD_LIBXML_ERROR -> GPG_ERR_BAD_DATA
215     PWMD_NO_FILE -> GPG_ERR_INV_STATE
216     PWMD_FILE_MODIFIED -> GPG_ERR_CHECKSUM
218 Most commands now have an --inquire option to retrieve remaining
219 non-option arguments via a server inquire. This avoids the libassuan
220 line length limit for longer element paths.
222 Added the PASSWD command to change the passphrase of a secret key or a
223 symmetrically encrypted key (SAVE --no-agent).
225 The IMPORT command can now import siblings.
227 Added the AGENT command to send a command directly to gpg-agent.
229 Added the GETINFO command to retrieve server details. This removes the
230 VERSION and GETPID commands.
232 Removed the CONFIG and KEEPALIVE status messages.
234 Added the NEWFILE status message to determine when the file OPEN'ed is
235 a new one.
237 Added ISCACHED --lock to lock the file mutex. This doesn't require an
238 OPEN'd file. It was added to prevent a race condition with another
239 client accessing the same file when one client needed to determine the
240 cache status before the OPEN.
242 Texinfo documentation and the manual page is generated from the
243 texinfo source.
245 Commands that normally returned GPG_ERR_NO_VALUE now return
246 GPG_ERR_NO_DATA.
248 The --iterations command line, configuration and SAVE options have
249 been renamed to "s2k-count". The PASSWD command can be used to change
250 this value for an existing secret key.
252 The CLEARCACHE command returns an error when the file mutex associated
253 with the data file is locked by another client. Although an error is
254 returned the cached file is flagged for cache removal which will occur
255 when the data file mutex is released.
257 Added LIST --all to retrieve the entire element tree. Flags are
258 appended to each element path when this option is used. See the
259 documentation for details.
261 The checksum is now a CRC32 checksum rather than a stat() of the ctime
262 of the data file.
264 Can now listen for remote connections via TLS (IPv4 and IPv6) as well
265 as the local UNIX domain socket.
267 Added tests. Run them with 'make tests' in the tests/ directory.
269 More portable: *BSD, SunOS/Solaris/OpenSolaris, Android and Linux and
270 32 and 64 bit versions of these as well as little and big endian.
272 Removed the libglib-2.0 dependency.