Version 2.9.
[pwmd.git] / NEWS
blob681c75c168eb7bde81926432d10809d6e0eaee09
1 PWMD v2.9
2 ----------
3 Don't require libassuan 2.0 anymore. Use the static library included in the
4 archive like was done before pwmd 2.2. This is needed for use with libpwmd
5 and fixes a bug with libgpg-error return codes.
7 Fixed another stupid bug with the RENAME command.
9 Added SET option LOCK_ON_OPEN to lock the file mutex after a successful OPEN
10 as if the LOCK command had been sent.
12 Added the LS protocol command to list files in data_directory.
15 PWMD v2.8
16 ----------
17 Fixed the RENAME command to handle target attributes and ambiguities.
19 Unicode fixes.
21 Fixed validating element names.
24 PWMD v2.7
25 ----------
26 Fixed the COPY command to handle root elements and to copy attributes too.
28 Fixed the RENAME command to overwrite an existing element tree of the same
29 value.
31 Since Valgrind and dmalloc don't like PTH threads --enable-debug now prints
32 out a backtrace of each allocation so finding memory leaks is easier/possible.
33 The output of xdump() shows non-freed pointers which can be found in the
34 backtrace output then processed through addr2line to find where it occured.
36 Fixed a few memory leaks.
38 Fixed handling of SIGABRT.
41 PWMD v2.6
42 ----------
43 Fixed a nasty bug that may have existed in all previous versions that would
44 cause a segfault do to an invalid return value from pth_exit().
46 The default keepalive is now 0 or disabled. It was added during testing of
47 remote connections over TLS and kept for use with libpwmd and SSH connections.
48 The development version of libssh2 has connection timeout support so there
49 really isn't any reason for doing keepalives in pwmd. This also fixes longer
50 running processes linked with libpwmd that keep a connection open but do not
51 parse status messages. pwmd would therefore kill the connection.
54 PWMD v2.5
55 ----------
56 New configuration parameter "allowed" to specify which users are allowed to
57 connect to the unix domain socket. The default is the invoking user only.
59 Fixed the IMPORT command to let it handle "target" attributes properly.
61 Let "disable_list_and_dump" be resetable during SIGHUP but only if not
62 permissive (TRUE).
65 PWMD v2.4
66 ----------
67 Reworked the IMPORT command to let it create root elements. The syntax has
68 changed to have the content as the first argument and the element path, if
69 any, as the remaining arguments after the content which is now TAB, rather
70 than space, separated.
72 Changed how the "target" attribute value is stored in the document.  Rather
73 than storing the resolved destination argument, first check to see if the
74 element path (which may contain other target attributes) is valid then store
75 the specified path as the "target" attribute value.
77 A few bugfixes. See ChangeLog for details.
80 PWMD v2.3
81 ----------
82 The DISPLAY and TERM environment variables are unset just before entering the
83 server loop. Clients wanting to use pinentry must set these options manually
84 or configure ~/.pwmd/pinentry.conf. This fixes pwmd using these variables
85 which may no longer be valid.
87 Ported to libassuan 2.0. There is no longer a static libassuan included in the
88 archive since this version supports building a DSO.
90 Fixed the COPY command copying only the the first element of the tree. How'd
91 that happen?
94 PWMD v2.2
95 ----------
96 Bugfix for pushing non-encrypted files into the cache.
99 PWMD v2.1
100 ----------
101 A new GnuPG key is being used to sign releases and git tags. The new key-id is
102 0xB140DCE2. The old key-id 0xF2B33BEF should be considered revoked do to a
103 data loss (not pwmd's fault, though).
105 Added an "age" attribute to the document element. This attribute is updated to
106 the time of the last SAVE.
108 Added support for using different ciphers when saving a data file. This adds a
109 new configuration parameter "cipher" and also adds a new option "SET CIPHER".
110 See the manual page for supported ciphers.
112 Added a new configuration parameter "log_level".
114 Added the RENAME command to rename an element.
116 Added the COPY command to copy an element tree to an element path.
118 Always use the passphrase specified with the OPEN command, if any, even when
119 the (encrypted) file has been cached.
121 Fixed converting an unencrypted data file.
123 A few portability fixes for 64-bit machines.
125 Added configuration parameter "debug_file" to log all protocol IO to the
126 specified file.
129 PWMD v2.0
130 ----------
131 This version breaks data file compatibility with previous versions but has an
132 option to convert your existing data file to the new format. See the manual
133 page about the --convert command line switch. Future versions that have data
134 file changes shouldn't have this problem.
136 Requires a C99 compiler.
138 libassuan is included statically. There is no longer an external dependency.
140 Better handling of unexpected client disconnects and status messages.
142 Added new protocol command VERSION.
144 Added new protocol commands SET and UNSET. SET replaces the old OPTION
145 command. UNSET resets an option to its default value.
147 Pinentry is used when importing, converting and pushing files from the command
148 line. It can also be disabled to use regular terminal input.
150 The file cache is a GSList rather than a mmap()'ed page of memory. This allows
151 for an unlimited number of data files but changes the CACHE status message to
152 only show the number of cached files and not any total.
154 Removed EPWMD_MAX_SLOTS, EPWMD_ERROR and EPWMD_ELOOP.
156 Added new XFER status message. This is sent after every ASSUAN_LINELENGTH
157 bytes when tranferring data lines. This adds a new configurations parameter
158 "xfer_progress".
160 Option ACL (Access Control List) support. When --enable-acl is passed to
161 configure, data files with an ACL will be retained after a SAVE or inherited
162 from the data_directory if new.
164 The ISCACHED command now checks for file existance. Returns GPG_ERR_NOT_FOUND
165 if it exists but not found in the file cache or an errno from access(2).
167 Renamed a few SET (old OPTION command) parameters to match the rcfile
168 parameter names so GETCONFIG will work better:
169         PINENTRY -> ENABLE_PINENTRY
170         TIMEOUT  -> PINENTRY_TIMEOUT
171         PATH     -> PINENTRY_PATH
173 Removed the old CLIENT option. The old NAME sub-option can be set with SET
174 NAME=VALUE.
176 Changed how GETCONFIG handles per-session option changes for some options. If
177 no file is specified and the specified option was previouly SET, then the SET
178 value is returned. Else the option for the specified file is read from the
179 configuration file.
181 GETCONFIG <filename> ITERATIONS will read the file header of the specified
182 file. Useful if using a local pinentry and you need to determine if a filename
183 is encrypted or not.
185 SET ITERATIONS requires an open file.
187 The configuration parameters "pinentry_timeout" and "enable_pinentry" can now
188 be set per-file in the configuration file.
190 Can now use both short and long command line options.
192 The CACHETIMEOUT command has had its arguments flipped to keep consistancy
193 with other commands: CACHETIMEOUT <filename> <seconds>