Make the filename argument to pwmc optional. The command may be a
[libpwmd.git] / NEWS
blobc978b164170883668a3f64c412815c17fdd871d2
1 libPWMD v4.0.0
2 --------------
3 Fixed gpg-error descriptions. Client's linked to this version of libpwmd
4 should be using pwmd v0.10 or later.
6 Made the pwm_t structure private.
8 Library functions returning PWMD_OK or PWMD_ERROR now are prototyped to return
9 a type of pwmd_error_t.
11 Renamed pwmd_option to pwmd_option_t.
13 Added PWMD_OPTION_STATUS_FUNC and PWMD_OPTION_STATUS_DATA. The set function
14 will be called when pwmd sends a status (S) line. The function should return 0
15 on success or a gpg_error_t which will fail the current command with the
16 returned error code.
18 Renamed PWMD_OPTION_[TITLE|PROMPT|DESC] to PWMD_OPTION_PINENTRY_...
20 When using pinentry(1) for password retrieval, PWMD_OPTION_PINENTRY_TRIES can
21 be set to specify the number of times before giving up after an invalid
22 password. This is only used with pwmd_open(). When a password is required when
23 using pwmd_save() the entered password must now be confirmed and will continue
24 to prompt until either the passwords match or Cancel is selected.
26 The custom memory de/allocator symbols are now hidden.
28 Renamed pwmd_password_func to pwmd_password_fn. A pwm_t * is also a required
29 argument.
31 Renamed pwmd_status_func to pwmd_status_fn.
33 Removed pwmd_get_password(). This has been replaced by pwmd_open_nb() and
34 pwmd_save_nb(). These function's will return a file descriptor that select()
35 can use when a file isn't cached. When available for a read(), a
36 pwmd_nb_status_t should be read and then passed to pwmd_open_nb_finalize() or
37 pwmd_save_nb_finalize() to update the pwm handle.
39 Bugfixes.
42 libPWMD v3.0.0
43 --------------
44 Now uses the assuan protocol for communicating with pwmd. This changes things
45 quite a bit. Read on...
47 Uses more secure memory allocation. Kinda. It mainly just zero's out what is
48 allocated before free()'ing it.
50 Added pwmd_init(). Call this before anything else.
52 Added pwmd_open() and pwmd_save(). This removes PWMD_OPEN and PWMD_SAVE.
54 Removed PWMD_COMMAND. pwmd_command() now accepts a format string as the
55 command.
57 Added pwmd_free_result(). Use this to free a result from pwmd_command().
59 Removed PWMD_SETOPT. Changed to pwmd_setopt().
61 Added options for setting up the pinentry terminal and display.
63 Added pwmd_get_password(). This is a nonblocking way of calling pinentry. It
64 returns a file descriptor that select() can use to read from when a password
65 is ready to be read from with read() (mostly ripped from Elinks'
66 start_thread()). Thanks Kalle Olavi Niemitalo <kon@iki.fi> for the idea.
68 Now uses libgpg-error error codes.
70 Fixed pwmc and the BYE command.
72 A few other changes. Read the libpwmd.h header file, libpwmd.3 and ChangeLog
73 for all the details.
76 libPWMD v2.0.3
77 --------------
78 Split pwmd and libpwmd into their own packages.
80 Added PWMD_SETOPT options PWMD_OPTION_PASSWORD_FUNC and
81 PWMD_OPTION_PASSWORD_DATA to specify a custom password retrieval function for
82 use with the PWMD_OPEN and PWMD_SAVE commands.
84 gpg-agent(1) is no longer used for interacting with pinentry(1). Now libassuan
85 calls pinentry directly. This adds PWMD_OPTION_PINENTRY_PATH to specify the
86 location of the pinentry program. The default is /usr/bin/pinentry. New
87 programs should use PWMD_OPTION_PINENTRY instead of PWMD_OPTION_USEAGENT and
88 EPWMD_PINENTRY_ERROR instead of EPWMD_AGENT_ERROR.
91 libPWMD v2.0.2
92 --------------
93 Added a manual page.
95 Removed pwmd_list_free(). The prototype disappeared but I forgot to remove the
96 code.
99 libPWMD v2.0.1
100 --------------
101 Restore the working directory after connecting to the socket.
103 Changed the gpg-agent title and description strings in pwmc.
105 Fixed a segfault when looking for the empty string in a result from
106 pwmd_command().
109 libPWMD v2.0.0
110 --------------
111 Most of the PWMD_* commands have been removed. PWMD_OPEN, PWMD_SAVE,
112 PWMD_SETOPT and the new PWMD_COMMAND remain. PWMD_COMMAND takes a char*
113 argument being the protocol command along with any argument to send to the
114 server. This is alot simpler and less error prone than before. Also the
115 library won't need to be updated if a protocol command changed or is added.
117 Fixed PWMD_SAVE and asking for a password when the file was cached.
119 Added pwmc. This is a command line client for pwmd. It reads protocol commands
120 from stdin.
122 Removed pwmd_base64_encode() and pwmd_base64_decode().
124 Added a pkg-config meta file.
127 libPWMD v1.0.1
128 --------------
129 Added PWMD_ATTR_GET to get an attribute value from an element path.
131 pwmd_base64_decode() bugfix. Don't assume the return value is a character
132 array by nul-terminating it.
134 Added pwmd_list_free() to free a "list" result.
136 Can compile with g++ and maybe other C++ compilers.
138 Fixed some memory leaks.
140 Bugfix for the protocol parser.
143 libPWMD v1.0.0
144 --------------
145 Changed the version number as suggested by the libtool docs.
147 pwmd_base64_decode() bugfix. The returned string wasn't NULL terminated.
149 Updates for the OPEN and SAVE protocol commands. libPWMD no longer base64
150 encodes the key.
152 Updates for the new ATTR protocol command.
155 libPWMD v0.0.1
156 --------------
157 Initial release.