Removed a debugging line.
[pwmd.git] / NEWS
blobfc395e37c0f06493d3ebd126c22167c82d948bea
1 PWMD v0.6
2 ---------
3 Fix for the LIST command. When an element path was specified and the document
4 had following elements in the tree the following elements would be shown.
6 Added the CACHE TIMEOUT command to specify the lifetime of a cached file in
7 seconds. This adds a new configuration file setting "cache_timeout".
9 Added per-file settings in the configuration file. A file section is declared
10 by placing the filename in braces. Only the "iterations" and "cache_timeout"
11 settings are used in a file section.
13 No longer chdir() to the data directory.
16 PWMD v0.5
17 ---------
18 If a file size is 0 then CACHE ISCACHED will return EPWMD_FILE_NOT_FOUND.
20 Write a structure to the data file which specifies the iterations and IV. This
21 lets you open a file that had a different iteration setting than the current
22 setting. Breaks file compatibility with previous versions for hopefully the
23 last time.
25 cache_push with an invalid password bugfix.
27 Added command line option -I to import an XML file and write the encrypted
28 data to stdout.
31 PWMD v0.4
32 ---------
33 Use AES-256-CBC to store the data file. This breaks file compatibility with
34 older versions. Sorry.
36 The ATTR protocol command has a new GET sub-command to get an attribute value
37 for an element path.
39 The LIST protocol command can now take an element path.
41 The DUMP command will format it's output.
43 Use MAP_ANONYMOUS|MAP_SHARED mmap() flags on Linux 2.4+. This won't create a
44 file in /dev/shm. #define MMAP_ANONYMOUS_SHARED in config.h if your OS
45 supports this.
47 Fixed closing file descriptors.
49 Fixed some memory leaks.
51 The contents of all memory allocated by Glib, libXML and libgcrypt is cleared
52 before free()ing.
54 Added an "iterations" configuration parameter. This specifies the amount of
55 times to encrypt the data to prevent dictionary attacks. Idea borrowed from
56 aespipe.
59 PWMD v0.3
60 ---------
61 The SETATTR protocol command has been renamed to ATTR. This new command
62 includes three new sub-commands: SET, DELETE and LIST, to SET or update an
63 attribute, DELETE to delete an attribute and LIST to list attributes of an
64 element path. Read PROTOCOL for details.
66 Added the TARGET attribute. If an element has this attribute set, it's value
67 is another element path. It's recursive too so the destination element path
68 can be an element with a TARGET attribute. Be careful of loops though.
70 Added the DUMP protocol command. It shows the in-memory document. Useful for
71 cleaning up empty elements that aren't shown with any command.
73 The "name" attribute can be used in any element but cannot be removed for the
74 root "account" element.
76 More strict element name validation for new elements.
78 Code reorganization. Protocol commands have been put in src/commands.c.
80 The LIST command won't show element values anymore unless DEBUG was defined at
81 compile time. You must use the GET command to get a value.
83 The OPEN and SAVE protocol commands no longer expect a base64 encoded key.
84 Plain text is where it's at.
86 The STORE command wont base64 encode the value. We'll leave it up to the
87 client. But it's still recommended to avoid parsing errors.
89 All of the command line options have been moved into a configuration file. By
90 default pwmd will look for it in ~/.pwmdrc. You can use -f to specify an
91 alternate file. If the file doesn't exist, then some defaults will be used.
92 There is one new config option though; "cache_push" will take a list of
93 filenames as an argument. This will prompt for passwords upon startup and add
94 the file to the cache. It's a (temporary?) fix for background processes that
95 don't have an attached tty (see libpwmd/KnownBugs). Just make sure the file
96 the other process needs is added to the cache.
99 PWMD v0.2
100 ---------
101 There is a library included in the archive to make interfacing the pwmd alot
102 easier. See libpwmd/README for more information.
104 A (temporary) fix for 100% CPU usage after a client connects.
106 GnuPG is no longer used for data encryption. Instead, libgcrypt will
107 encrypt/decrypt the data with AES-128 key. The OPEN and SAVE commands will
108 need the base64 encoded key.
110 Renamed host to hostname and added sslfingerprint to the DTD.
112 Added command line option -s to specify the socket path.
114 Added command line option -d to specify where pwmd will open and save the data
115 files.
117 Renamed protocol command SET to SETATTR.
119 Added shared memory file caching. If a file is found in the cache then the
120 cached password associated with the file will be used with the OPEN command.
121 With SAVE, if there is no cached password a key is required, else the cached
122 password will be used unless there is a key argument. This also adds a new
123 protocol command CACHE with 3 subcommands CLEARALL, CLEAR and ISCACHED.
124 Sending the SIGHUP signal to pwmd will clear the file cache.
126 Added command line option -M to disable calling mlockall(). mlock() will still
127 be used for the file cache reguardless of this option.
129 Added command line option -C to specify the file cache size. The cache size
130 must be in multiples of PAGE_SIZE.
132 Added command line option -l to enable logging to the specified file.
134 If there is a protocol command error, ERR is returned along with a protocol
135 error code and description. See src/pwmd_error.h for error codes.
137 Fix for the DELETE command and deleting an entire element tree when an invalid
138 element was in the element path.
140 Fix for the GET command and finding elements of the same name in other
141 accounts.
143 Added a manual page.
146 PWMD v0.1
147 ---------
148 Initial release.