* protect-tool.c (export_p12_file): New.
[gnupg.git] / agent / ChangeLog
1 2002-06-28  Werner Koch  <wk@gnupg.org>
2
3         * protect-tool.c (export_p12_file): New.
4         (main): New command --p12-export.
5         * minip12.c (create_final,p12_build,compute_tag_length): New.
6         (store_tag_length): New.
7
8 2002-06-27  Werner Koch  <wk@gnupg.org>
9
10         * minip12.c (crypt_block): Renamed from decrypt_block, add arg to
11         allow encryption.
12
13         * Makefile.am (pkglib_PROGRAMS): Put protect-tool there.
14
15         * findkey.c (agent_write_private_key,agent_key_from_file)
16         (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant.
17         * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
18
19         * protect-tool.c (store_private_key): New.
20         (import_p12_file): Store the new file if requested.
21         (main): New options --force and --store.
22
23         * gpg-agent.c (main): Set a global flag when runing detached.
24         * query.c (start_pinentry): Pass the list of FD to keep in the
25         child when not running detached.
26         * call-scd.c (start_scd): Ditto.
27
28 2002-06-26  Werner Koch  <wk@gnupg.org>
29
30         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted)
31         (cmd_pksign, cmd_pkdecrypt, cmd_genkey, cmd_get_passphrase)
32         (cmd_learn): Print an error message for a failed operation.
33
34         * simple-pwquery.c, simple-pwquery.h: New.
35         * protect-tool. (get_passphrase): New, used to ge a passphrase
36         from the agent if none was given on the command line.
37
38 2002-06-25  Werner Koch  <wk@gnupg.org>
39
40         * protect-tool.c (rsa_key_check): New.
41         (import_p12_file): New.
42         (main): New command --p12-import.
43         * minip12.c, minip12.h: New.
44
45 2002-06-24  Werner Koch  <wk@gnupg.org>
46
47         * protect-tool.c (read_file): New.
48         (read_key): Factored most code out to read_file.
49
50 2002-06-17  Werner Koch  <wk@gnupg.org>
51
52         * agent.h: Add a callback function to the pin_entry_info structure.
53         * query.c (agent_askpin): Use the callback to check for a correct
54         PIN.  Removed the start_err_text argument because it is not
55         anymore needed; changed callers.
56         * findkey.c (unprotect): Replace our own check loop by a callback.
57         (try_unprotect_cb): New.
58         * genkey.c (reenter_compare_cb): New.
59         (agent_genkey): Use this callback here.  Fixed setting of the pi2
60         variable and a segv in case of an empty PIN.
61
62         * divert-scd.c (getpin_cb): Removed some unused stuff and
63         explained what we still have to change.
64
65 2002-06-12  Werner Koch  <wk@gnupg.org>
66
67         * gpg-agent.c (main): New option --disable-pth.
68
69 2002-06-11  Werner Koch  <wk@gnupg.org>
70
71         * protect-tool.c: Add command --show-keygrip
72         (show_keygrip): New.
73
74 2002-05-23  Werner Koch  <wk@gnupg.org>
75
76         * call-scd.c: Seirialized all scdaeom access when using Pth.
77
78         * cache.c: Made the cache Pth-thread-safe.
79         (agent_unlock_cache_entry): New.
80         * findkey.c (unprotect): Unlock the returned cache value.
81         * command.c (cmd_get_passphrase): Ditto.
82
83         * gpg-agent.c (main): Register pth_read/write with Assuan.
84
85 2002-05-22  Werner Koch  <wk@gnupg.org>
86
87         * query.c: Serialized all pinentry access when using Pth.
88
89         * gpg-agent.c (handle_signal,start_connection_thread)
90         (handle_connections): New
91         (main): Use the new Pth stuff to allow concurrent connections.
92         * command.c (start_command_handler): Add new arg FD so that the
93         fucntion can also be used for an already connected socket.
94         * Makefile.am: Link with Pth.
95
96 2002-05-14  Werner Koch  <wk@gnupg.org>
97
98         * cache.c (housekeeping, agent_put_cache): Use our time() wrapper.
99
100 2002-04-26  Werner Koch  <wk@gnupg.org>
101
102         * cache.c (agent_put_cache): Reinitialize the creation time and
103         the ttl when reusing a slot.
104
105         * call-scd.c (start_scd): Print debug messages only with debug
106         flags set.
107         * query.c (start_pinentry): Ditto.
108
109 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
110
111         * agent.h (agent_get_confirmation): Replace paramter prompt with
112         two parameters ok and cancel.
113         * query.c (agent_get_confirmation): Likewise.  Implement this.
114         * trustlist.c (agent_marktrusted): Fix invocation of
115         agent_get_confirmation.
116         * divert-scd.c (ask_for_card): Likewise.
117
118 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
119
120         * agent.h (struct opt): Add members display, ttyname, ttytype,
121         lc_ctype, and lc_messages.
122         * gpg-agent.c (enum cmd_and_opt_values): Add oDisplay, oTTYname,
123         oTTYtype, oLCctype, and LCmessages.
124         (main): Handle these options.
125         * command.c (option_handler): New function.
126         (register_commands): Register option handler.
127         * query.c (start_pinentry): Pass the various display and tty
128         options to the pinentry.
129
130 2002-04-05  Werner Koch  <wk@gnupg.org>
131
132         * protect-tool.c (show_file): New.  Used as default action.
133
134 2002-03-28  Werner Koch  <wk@gnupg.org>
135
136         * divert-scd.c (encode_md_for_card): Don't do the pkcs-1 padding,
137         the scdaemon should take care of it.
138         (ask_for_card): Hack to not display the trailing zero.
139
140 2002-03-11  Werner Koch  <wk@gnupg.org>
141
142         * learncard.c (kpinfo_cb): Remove the content restrictions from
143         the keyID.
144
145 2002-03-06  Werner Koch  <wk@gnupg.org>
146
147         * learncard.c: New.
148         * divert-scd.c (ask_for_card): The serial number is binary so
149         convert it to hex here.
150         * findkey.c (agent_write_private_key): New.
151         * genkey.c (store_key): And use it here.
152         
153         * pkdecrypt.c (agent_pkdecrypt): Changed the way the diversion is done.
154         * divert-scd.c (divert_pkdecrypt): Changed interface and
155         implemented it.
156
157 2002-03-05  Werner Koch  <wk@gnupg.org>
158
159         * call-scd.c (inq_needpin): New.
160         (agent_card_pksign): Add getpin_cb args.
161         (agent_card_pkdecrypt): New.
162
163 2002-03-04  Werner Koch  <wk@gnupg.org>
164
165         * pksign.c (agent_pksign): Changed how the diversion is done.
166         * divert-scd.c (divert_pksign): Changed interface and implemented it.
167         (encode_md_for_card): New.
168         * call-scd.c (agent_card_pksign): New.
169
170 2002-02-28  Werner Koch  <wk@gnupg.org>
171
172         * pksign.c (agent_pksign): Detect whether a Smartcard is to be
173         used and divert the operation in this case.
174         * pkdecrypt.c (agent_pkdecrypt): Likewise
175         * findkey.c (agent_key_from_file): Add optional arg shadow_info
176         and have it return information about a shadowed key.
177         * protect.c (agent_get_shadow_info): New.
178
179         * protect.c (snext,sskip,smatch): Moved to
180         * sexp-parse.h: new file.
181         * divert-scd.c: New.
182         
183 2002-02-27  Werner Koch  <wk@gnupg.org>
184
185         * protect.c (agent_shadow_key): New.
186
187         * command.c (cmd_learn): New command LEARN.
188         * gpg-agent.c: New option --scdaemon-program.
189         * call-scd.c (start_scd): New. Based on query.c
190         * query.c: Add 2 more arguments to all uses of assuan_transact.
191
192 2002-02-18  Werner Koch  <wk@gnupg.org>
193
194         * findkey.c (unprotect): Show an error message for a bad passphrase.
195
196         * command.c (cmd_marktrusted): Implemented.
197         * trustlist.c (agent_marktrusted): New.
198         (open_list): Add APPEND arg.
199
200         * query.c (agent_get_confirmation): New.
201
202 2002-02-06  Werner Koch  <wk@gnupg.org>
203
204         * cache.c (housekeeping): Fixed linking in the remove case.
205
206 2002-02-01  Werner Koch  <wk@gnupg.org>
207
208         * gpg-agent.c: New option --default-cache-ttl.
209         * cache.c (agent_put_cache): Use it.
210         
211         * cache.c: Add a few debug outputs.
212
213         * protect.c (agent_private_key_type): New.
214         * agent.h: Add PRIVATE_KEY_ enums.
215         * findkey.c (agent_key_from_file): Use it to decide whether we
216         have to unprotect a key.
217         (unprotect): Cache the passphrase.
218         
219         * findkey.c (agent_key_from_file,agent_key_available): The key
220         files do now require a ".key" suffix to make a script's life
221         easier. 
222         * genkey.c (store_key): Ditto.
223
224 2002-01-31  Werner Koch  <wk@gnupg.org>
225
226         * genkey.c (store_key): Protect the key.
227         (agent_genkey): Ask for the passphrase.
228         * findkey.c (unprotect): Actually unprotect the key.
229         * query.c (agent_askpin): Add an optional start_err_text. 
230
231 2002-01-30  Werner Koch  <wk@gnupg.org>
232
233         * protect.c: New.  
234         (hash_passphrase): Based on the GnuPG 1.0.6 version.
235         * protect-tool.c: New
236
237 2002-01-29  Werner Koch  <wk@gnupg.org>
238
239         * findkey.c (agent_key_available): New.
240         * command.c (cmd_havekey): New.
241         (register_commands): And register new command.
242
243 2002-01-20  Werner Koch  <wk@gnupg.org>
244
245         * command.c (cmd_get_passphrase): Remove the plus signs.
246
247         * query.c (start_pinentry): Send no-grab option to pinentry
248         * gpg-agent.c (main): Move variable grab as no_grab to agent.h.
249
250 2002-01-19  Werner Koch  <wk@gnupg.org>
251
252         * gpg-agent.c (main): Disable core dumps.
253
254         * cache.c: New.
255         * command.c (cmd_get_passphrase): Use the cache.
256         (cmd_clear_passphrase): Ditto.
257
258         * gpg-agent.c:  Removed unused cruft and implement the socket
259         based server.
260         (my_strusage): Take bug report address from configure.ac.
261         * command.c (start_command_handler): Add an argument to start as
262         regular server.
263         (start_command_handler): Enable Assuan logging.
264
265 2002-01-15  Werner Koch  <wk@gnupg.org>
266
267         * trustlist.c: New.
268         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted): New.
269
270 2002-01-07  Werner Koch  <wk@gnupg.org>
271
272         * genkey.c: Store the secret part and return the public part.
273
274 2002-01-03  Werner Koch  <wk@gnupg.org>
275
276         * command.c (cmd_get_passphrase): New.
277         (cmd_clear_passphrase): New.
278         * query.c (agent_get_passphrase): New.
279
280 2002-01-02  Werner Koch  <wk@gnupg.org>
281
282         * genkey.c: New.
283         * command.c (cmd_genkey): New.
284
285         * command.c (rc_to_assuan_status): Removed and changed all callers
286         to use map_to_assuan_status.
287         
288 2001-12-19  Werner Koch  <wk@gnupg.org>
289
290         * keyformat.txt: New. 
291
292 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
293
294         * query.c (start_pinentry): Add new argument to assuan_pipe_connect.
295
296 2001-12-18  Werner Koch  <wk@gnupg.org>
297
298         * Makefile.am: Use LIBGCRYPT macros
299
300 2001-12-14  Werner Koch  <wk@gnupg.org>
301
302         * gpg-agent.c (main): New option --batch.  New option --debug-wait
303         n, so that it is possible to attach gdb when used in server mode.
304         * query.c (agent_askpin): Don't ask in batch mode.
305
306         * command.c: Removed the conversion macros as they are now in
307         ../common/util.h.
308
309 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
310
311         * query.c (LINELENGTH): Removed.
312         (agent_askpin): Use ASSUAN_LINELENGTH, not LINELENGTH.
313
314 2001-11-19  Werner Koch  <wk@gnupg.org>
315
316         * gpg-agent.c: Removed all GUI code, removed code for old
317         protocol.  New code to use the Assuan protocol as a server and
318         also to communicate with a new ask-passphrase utility.
319
320 2000-11-22  Werner Koch  <wk@gnupg.org>
321
322         * gpg-agent.c (main): csh support by Dan Winship, new options --sh
323         and --csh and set default by consulting $SHELL.
324
325 Mon Aug 21 17:59:17 CEST 2000  Werner Koch  <wk@openit.de>
326
327         * gpg-agent.c (passphrase_dialog): Cleanup the window and added the
328         user supplied text to the window.
329         (main): Fixed segv in gtk_init when used without a command to start.
330
331         * gpg-agent.c: --flush option.
332         (req_flush): New.
333         (req_clear_passphrase): Implemented.
334
335 Fri Aug 18 14:27:14 CEST 2000  Werner Koch  <wk@openit.de>
336
337         * gpg-agent.c: New.
338         * Makefile.am: New.
339
340
341  Copyright 2001, 2002 Free Software Foundation, Inc.
342
343  This file is free software; as a special exception the author gives
344  unlimited permission to copy and/or distribute it, with or without
345  modifications, as long as this notice is preserved.
346
347  This file is distributed in the hope that it will be useful, but
348  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
349  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.