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