Fixed the LIST command to only show literal elements for now. Should
[pwmd.git] / NEWS
blob16f20f6e33da9e049d2374513a1a83ed94458d9b
1 PWMD v0.9
2 ---------
3 Now uses the assuan protocol. This requires libassuan and libgpg-error.
5 Clear the shared memory on exit.
7 The CACHE sub-commands ISCACHED, CLEARCACHE and CACHETIMEOUT have been made
8 into their own commands removing the CACHE command itself.
10 The RESETCACHE command and the cache_reset_timeout configuration parameter
11 have been removed. The cached files timeout is reset to it's configured value
12 (or set value with CACHETIMEOUT) after each OPEN or SAVE command.
14 The OPEN command can open another file using the same connection. Beware
15 though that if the OPEN of the new file fails, no file will be open at all.
17 When OPEN'ing a new file with a specified key, cache both the filename and
18 key. Before you had to SAVE to cache the key.
20 All commands will check if the file has been modified before continueing. Not
21 the cache commands though.
23 Don't unlink() a socket filename that wasn't created by pwmd.
25 Fixed allocating more slots than needed.
27 The commands GET, STORE, DELETE and ATTR make use of the "target" attribute
28 unless the element path argument is prefixed with a '!'. The LIST command
29 will support "target" in the next release, hopefully.
31 Accounts names can no longer begin with a '!' character to avoid problems with
32 the "target" attribute.
34 Removed EPWMD_ROOT_TEXT_ELEMENT. The STORE command will return
35 EPWMD_COMMAND_SYNTAX instead.
37 Added command line option -D and configuration parameter
38 "disable_list_and_dump". When specified or enabled, the LIST and DUMP protocol
39 commands will return EPWMD_EMPTY_ELEMENT.
42 PWMD v0.8
43 ---------
44 Use AM_XML2_PATH() for finding libxml2.
46 Split pwmd and libpwmd into their own projects. Both can be found at
47 http://bjk.sourceforge.net/pwmd/.
50 PWMD v0.7
51 ---------
52 cache_push and working directory bugfix.
54 Added two new configuration options "key" and "key_file". Works with
55 cache_push too.
57 Added a boolean "cache_reset_timeout" configuration option to reset the timer
58 for a cached key when the OPEN or SAVE commands are used.
60 Added two new protocol commands CACHE RESET which clears only the key for the
61 specified file and CACHE RESETALL which clears the key for all files.
63 The "name" and "target" attributes are now case-sensitive.
65 The value of an element path that contains a "target" attribute can be
66 obtained by prefixing the account element with a '!'.
69 PWMD v0.6
70 ---------
71 Fix for the LIST command. When an element path was specified and the document
72 had following elements in the tree the following elements would be shown.
74 Added the CACHE TIMEOUT command to specify the lifetime of a cached file in
75 seconds. This adds a new configuration file setting "cache_timeout".
77 Added per-file settings in the configuration file. A file section is declared
78 by placing the filename in braces. Only the "iterations" and "cache_timeout"
79 settings are used in a file section.
81 No longer chdir() to the data directory.
84 PWMD v0.5
85 ---------
86 If a file size is 0 then CACHE ISCACHED will return EPWMD_FILE_NOT_FOUND.
88 Write a structure to the data file which specifies the iterations and IV. This
89 lets you open a file that had a different iteration setting than the current
90 setting. Breaks file compatibility with previous versions for hopefully the
91 last time.
93 cache_push with an invalid password bugfix.
95 Added command line option -I to import an XML file and write the encrypted
96 data to stdout.
99 PWMD v0.4
100 ---------
101 Use AES-256-CBC to store the data file. This breaks file compatibility with
102 older versions. Sorry.
104 The ATTR protocol command has a new GET sub-command to get an attribute value
105 for an element path.
107 The LIST protocol command can now take an element path.
109 The DUMP command will format it's output.
111 Use MAP_ANONYMOUS|MAP_SHARED mmap() flags on Linux 2.4+. This won't create a
112 file in /dev/shm. #define MMAP_ANONYMOUS_SHARED in config.h if your OS
113 supports this.
115 Fixed closing file descriptors.
117 Fixed some memory leaks.
119 The contents of all memory allocated by Glib, libXML and libgcrypt is cleared
120 before free()ing.
122 Added an "iterations" configuration parameter. This specifies the amount of
123 times to encrypt the data to prevent dictionary attacks. Idea borrowed from
124 aespipe.
127 PWMD v0.3
128 ---------
129 The SETATTR protocol command has been renamed to ATTR. This new command
130 includes three new sub-commands: SET, DELETE and LIST, to SET or update an
131 attribute, DELETE to delete an attribute and LIST to list attributes of an
132 element path. Read PROTOCOL for details.
134 Added the TARGET attribute. If an element has this attribute set, it's value
135 is another element path. It's recursive too so the destination element path
136 can be an element with a TARGET attribute. Be careful of loops though.
138 Added the DUMP protocol command. It shows the in-memory document. Useful for
139 cleaning up empty elements that aren't shown with any command.
141 The "name" attribute can be used in any element but cannot be removed for the
142 root "account" element.
144 More strict element name validation for new elements.
146 Code reorganization. Protocol commands have been put in src/commands.c.
148 The LIST command won't show element values anymore unless DEBUG was defined at
149 compile time. You must use the GET command to get a value.
151 The OPEN and SAVE protocol commands no longer expect a base64 encoded key.
152 Plain text is where it's at.
154 The STORE command wont base64 encode the value. We'll leave it up to the
155 client. But it's still recommended to avoid parsing errors.
157 All of the command line options have been moved into a configuration file. By
158 default pwmd will look for it in ~/.pwmdrc. You can use -f to specify an
159 alternate file. If the file doesn't exist, then some defaults will be used.
160 There is one new config option though; "cache_push" will take a list of
161 filenames as an argument. This will prompt for passwords upon startup and add
162 the file to the cache. It's a (temporary?) fix for background processes that
163 don't have an attached tty (see libpwmd/KnownBugs). Just make sure the file
164 the other process needs is added to the cache.
167 PWMD v0.2
168 ---------
169 There is a library included in the archive to make interfacing the pwmd alot
170 easier. See libpwmd/README for more information.
172 A (temporary) fix for 100% CPU usage after a client connects.
174 GnuPG is no longer used for data encryption. Instead, libgcrypt will
175 encrypt/decrypt the data with AES-128 key. The OPEN and SAVE commands will
176 need the base64 encoded key.
178 Renamed host to hostname and added sslfingerprint to the DTD.
180 Added command line option -s to specify the socket path.
182 Added command line option -d to specify where pwmd will open and save the data
183 files.
185 Renamed protocol command SET to SETATTR.
187 Added shared memory file caching. If a file is found in the cache then the
188 cached password associated with the file will be used with the OPEN command.
189 With SAVE, if there is no cached password a key is required, else the cached
190 password will be used unless there is a key argument. This also adds a new
191 protocol command CACHE with 3 subcommands CLEARALL, CLEAR and ISCACHED.
192 Sending the SIGHUP signal to pwmd will clear the file cache.
194 Added command line option -M to disable calling mlockall(). mlock() will still
195 be used for the file cache reguardless of this option.
197 Added command line option -C to specify the file cache size. The cache size
198 must be in multiples of PAGE_SIZE.
200 Added command line option -l to enable logging to the specified file.
202 If there is a protocol command error, ERR is returned along with a protocol
203 error code and description. See src/pwmd_error.h for error codes.
205 Fix for the DELETE command and deleting an entire element tree when an invalid
206 element was in the element path.
208 Fix for the GET command and finding elements of the same name in other
209 accounts.
211 Added a manual page.
214 PWMD v0.1
215 ---------
216 Initial release.