Minor changes to make make dist work correctly.
[gnupg.git] / agent / ChangeLog
1 2003-07-04  Werner Koch  <wk@gnupg.org>
2
3         * gpg-agent.c (handle_connections): Kludge to allow use of Pth 1
4         and 2.
5
6 2003-06-30  Werner Koch  <wk@gnupg.org>
7
8         * call-scd.c (learn_status_cb): Store the serialno in PARM.
9
10 2003-06-26  Werner Koch  <wk@gnupg.org>
11
12         * call-scd.c (agent_card_serialno): Don't do a RESET anymore.
13
14 2003-06-25  Werner Koch  <wk@gnupg.org>
15
16         * command.c (cmd_scd): New.
17         * call-scd.c (agent_card_scd): New.
18         * divert-scd.c (divert_generic_cmd): New
19
20         * call-scd.c (agent_card_learn): New callback args SINFO.
21         (learn_status_cb): Pass all other status lines to the sinfo
22         callback.
23         * learncard.c (release_sinfo, sinfo_cb): New.
24         (agent_handle_learn): Pass the new cb to the learn function and
25         pass the collected information back to the client's assuan
26         connection.
27
28         * gpg-agent.c (main): Moved pth_init before gcry_check_version.
29
30 2003-06-24  Werner Koch  <wk@gnupg.org>
31
32         * gpg-agent.c (handle_connections): Adjusted for Pth 2.0
33
34         Adjusted for changes in the libgcrypt API. Some more fixes for the
35         libgpg-error stuff.  
36
37 2003-06-04  Werner Koch  <wk@gnupg.org>
38
39         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
40
41 2003-06-03  Werner Koch  <wk@gnupg.org>
42
43         Changed all error codes in all files to the new libgpg-error scheme.
44
45         * agent.h: Include gpg-error.h and errno.h
46         * Makefile.am: Link with libgpg-error
47
48         * query.c: assuan.h is now a system header.
49         * genkey.c (agent_genkey): Fixed silly use of xmalloc by
50         xtrymalloc.
51
52 2003-04-29  Werner Koch  <wk@gnupg.org>
53
54         * command.c (register_commands): Adjusted for new Assuan semantics.
55
56         * Makefile.am: Don't override LDFLAGS.
57
58 2002-12-04  Werner Koch  <wk@gnupg.org>
59
60         * gpg-agent.c: New variable config_filename.
61         (parse_rereadable_options): New.
62         (main): Use it here.  Add setting of default values, set
63         config_filename.
64         (reread_configuration): Filled with actual code.
65
66 2002-12-03  Werner Koch  <wk@gnupg.org>
67
68         * protect-tool.c (read_key): Don't run make_canonical on a NULL
69         buffer.
70
71         * command.c (parse_hexstring): New.
72         (cmd_sethash): Use it.
73         (parse_keygrip): New.
74         (cmd_havekey, cmd_sigkey): Use it.
75         (cmd_passwd): New.
76         * genkey.c (agent_protect_and_store): New.
77         (store_key): Add arg FORCE.
78         (agent_genkey): Pass false to this force of store_key.
79
80 2002-11-13  Werner Koch  <wk@gnupg.org>
81
82         * gpg-agent.c (main): Switch all messages to utf-8.
83
84         * simple-pwquery.c (agent_send_all_options): Use $GPG_TTY and
85         stdin with ttyname.
86
87         * cache.c (new_data): Uiih - /sizeof d/sizeof *d/.
88
89 2002-11-10  Werner Koch  <wk@gnupg.org>
90
91         * command.c (option_handler): Fix keep_tty check.
92
93 2002-11-06  Werner Koch  <wk@gnupg.org>
94
95         * gpg-agent.c (main): Make sure we have a default ttyname.
96         * command.c (option_handler): Check opt.keep_tty here
97         * query.c (start_pinentry): but not anymore here.
98
99 2002-11-05  Werner Koch  <wk@gnupg.org>
100
101         * agent.h (opt,server_control_s): Move display and lc_ variables
102         to the control struct so that they are per connection.
103         * gpg-agent.c (agent_init_default_ctrl): New.
104         (main): Assign those command line options to new default_* variables.
105         Reset DISPLAY in server mode so that tehre is no implicit default.
106         * command.c (start_command_handler): Initialize and deinitialize
107         the control values.
108         (option_handler): Work on the ctrl values and not on the opt.
109         * query.c (start_pinentry): New argument CTRL to set the display
110         connection specific.  Changed all callers to pass this value.
111         (agent_askpin,agent_get_passphrase,agent_get_confirmation): Add
112         CTRL arg and pass it ot start_pinentry.
113         * command.c (cmd_get_passphrase): Pass CTRL argument.
114         * trustlist.c (agent_marktrusted):  Add CTRL argument  
115         * command.c (cmd_marktrusted): Pass CTRL argument
116         * divert-scd.c (ask_for_card):  Add CTRL arg. 
117         (divert_pksign,divert_pkdecrypt): Ditto.  Changed caller.
118         (getpin_cb): Use OPAQUE to pass the CTRL variable.  Changed both 
119         users.
120         * findkey.c (unprotect): Add CTRL arg.
121         (agent_key_from_file): Ditto.
122
123         * query.c (unlock_pinentry): Disconnect the pinentry so that we
124         start a new one for each request.  This is required to support
125         clients with different environments (e.g. X magic cookies).
126
127 2002-09-05  Neal H. Walfield  <neal@cs.uml.edu>
128
129         * gpg-agent.c (main) [USE_GNU_PTH]: No need to call
130         assuan_set_io_func as assuan is smart.
131
132 2002-09-25  Werner Koch  <wk@gnupg.org>
133
134         * gpg-agent.c (handle_signal): Flush cache on SIGHUP.
135         * cache.c (agent_flush_cache): New.
136
137         * gpg-agent.c, agent.h: Add --keep-display and --keep-tty.
138         * query.c (start_pinentry): Implement them.  The option passing
139         needs more thoughts.
140
141 2002-09-09  Werner Koch  <wk@gnupg.org>
142
143         * gpg-agent.c (create_private_keys_directory)
144         (create_directories): New.
145         (main): Try to create a home directory.
146
147 2002-09-04  Neal H. Walfield  <neal@g10code.de>
148
149         * gpg-agent.c (main): Use sigaction, not signal.
150
151 2002-09-03  Neal H. Walfield  <neal@g10code.de>
152
153         * findkey.c: Include <fcntl.h>.
154         (agent_write_private_key): Prefer POSIX compatibity, open and
155         fdopen, over the simplicity of GNU extensions, fopen(file, "x").
156
157 2002-08-22  Werner Koch  <wk@gnupg.org>
158
159         * query.c (agent_askpin): Provide the default desc text depending
160         on the pininfo.  Do the basic PIN verification only when
161         min_digits is set.
162
163 2002-08-21  Werner Koch  <wk@gnupg.org>
164
165         * query.c (agent_askpin): Hack to show the right default prompt.
166         (agent_get_passphrase): Ditto.
167
168         * trans.c: Removed and replaced all usages with standard _()
169
170         * divert-scd.c (getpin_cb): Pass a more descritive text to the
171         pinentry.
172
173         * Makefile.am: Renamed the binary protect-tool to gpg-protect-tool.
174         * protect-tool.c: Removed the note about internal use only.
175
176         * gpg-agent.c (main): New option --daemon so that the program is
177         not accidently started in the background.
178
179 2002-08-16  Werner Koch  <wk@gnupg.org>
180
181         * call-scd.c (learn_status_cb): Handle CERTINFO status.
182         (agent_card_learn): Add args for certinfo cb.
183         * learncard.c (release_certinfo,certinfo_cb): New.
184         (send_cert_back): New. With factored out code from ..
185         (agent_handle_learn): here.  Return certinfo stuff.
186
187 2002-07-26  Werner Koch  <wk@gnupg.org>
188
189         * gpg-agent.c (main): New option --ignore-cache-for-signing.
190         * command.c (option_handler): New server option
191         use-cache-for-signing defaulting to true.
192         (cmd_pksign): handle global and per session option.
193         * findkey.c (agent_key_from_file, unprotect): New arg
194         ignore_cache.  Changed all callers.
195         * pksign.c (agent_pksign): Likewise.
196
197 2002-06-29  Werner Koch  <wk@gnupg.org>
198
199         * query.c (start_pinentry): Use GNUPG_DERAULT_PINENTRY.
200         * call-scd.c (start_scd): Use GNUPG_DEFAULT_SCDAEMON.
201
202 2002-06-28  Werner Koch  <wk@gnupg.org>
203
204         * protect-tool.c (export_p12_file): New.
205         (main): New command --p12-export.
206         * minip12.c (create_final,p12_build,compute_tag_length): New.
207         (store_tag_length): New.
208
209 2002-06-27  Werner Koch  <wk@gnupg.org>
210
211         * minip12.c (crypt_block): Renamed from decrypt_block, add arg to
212         allow encryption.
213
214         * Makefile.am (pkglib_PROGRAMS): Put protect-tool there.
215
216         * findkey.c (agent_write_private_key,agent_key_from_file)
217         (agent_key_available): Use GNUPG_PRIVATE_KEYS_DIR constant.
218         * gpg-agent.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
219
220         * protect-tool.c (store_private_key): New.
221         (import_p12_file): Store the new file if requested.
222         (main): New options --force and --store.
223
224         * gpg-agent.c (main): Set a global flag when running detached.
225         * query.c (start_pinentry): Pass the list of FD to keep in the
226         child when not running detached.
227         * call-scd.c (start_scd): Ditto.
228
229 2002-06-26  Werner Koch  <wk@gnupg.org>
230
231         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted)
232         (cmd_pksign, cmd_pkdecrypt, cmd_genkey, cmd_get_passphrase)
233         (cmd_learn): Print an error message for a failed operation.
234
235         * simple-pwquery.c, simple-pwquery.h: New.
236         * protect-tool. (get_passphrase): New, used to get a passphrase
237         from the agent if none was given on the command line.
238
239 2002-06-25  Werner Koch  <wk@gnupg.org>
240
241         * protect-tool.c (rsa_key_check): New.
242         (import_p12_file): New.
243         (main): New command --p12-import.
244         * minip12.c, minip12.h: New.
245
246 2002-06-24  Werner Koch  <wk@gnupg.org>
247
248         * protect-tool.c (read_file): New.
249         (read_key): Factored most code out to read_file.
250
251 2002-06-17  Werner Koch  <wk@gnupg.org>
252
253         * agent.h: Add a callback function to the pin_entry_info structure.
254         * query.c (agent_askpin): Use the callback to check for a correct
255         PIN.  Removed the start_err_text argument because it is not
256         anymore needed; changed callers.
257         * findkey.c (unprotect): Replace our own check loop by a callback.
258         (try_unprotect_cb): New.
259         * genkey.c (reenter_compare_cb): New.
260         (agent_genkey): Use this callback here.  Fixed setting of the pi2
261         variable and a segv in case of an empty PIN.
262
263         * divert-scd.c (getpin_cb): Removed some unused stuff and
264         explained what we still have to change.
265
266 2002-06-12  Werner Koch  <wk@gnupg.org>
267
268         * gpg-agent.c (main): New option --disable-pth.
269
270 2002-06-11  Werner Koch  <wk@gnupg.org>
271
272         * protect-tool.c: Add command --show-keygrip
273         (show_keygrip): New.
274
275 2002-05-23  Werner Koch  <wk@gnupg.org>
276
277         * call-scd.c: Seirialized all scdaeom access when using Pth.
278
279         * cache.c: Made the cache Pth-thread-safe.
280         (agent_unlock_cache_entry): New.
281         * findkey.c (unprotect): Unlock the returned cache value.
282         * command.c (cmd_get_passphrase): Ditto.
283
284         * gpg-agent.c (main): Register pth_read/write with Assuan.
285
286 2002-05-22  Werner Koch  <wk@gnupg.org>
287
288         * query.c: Serialized all pinentry access when using Pth.
289
290         * gpg-agent.c (handle_signal,start_connection_thread)
291         (handle_connections): New
292         (main): Use the new Pth stuff to allow concurrent connections.
293         * command.c (start_command_handler): Add new arg FD so that the
294         fucntion can also be used for an already connected socket.
295         * Makefile.am: Link with Pth.
296
297 2002-05-14  Werner Koch  <wk@gnupg.org>
298
299         * cache.c (housekeeping, agent_put_cache): Use our time() wrapper.
300
301 2002-04-26  Werner Koch  <wk@gnupg.org>
302
303         * cache.c (agent_put_cache): Reinitialize the creation time and
304         the ttl when reusing a slot.
305
306         * call-scd.c (start_scd): Print debug messages only with debug
307         flags set.
308         * query.c (start_pinentry): Ditto.
309
310 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
311
312         * agent.h (agent_get_confirmation): Replace paramter prompt with
313         two parameters ok and cancel.
314         * query.c (agent_get_confirmation): Likewise.  Implement this.
315         * trustlist.c (agent_marktrusted): Fix invocation of
316         agent_get_confirmation.
317         * divert-scd.c (ask_for_card): Likewise.
318
319 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
320
321         * agent.h (struct opt): Add members display, ttyname, ttytype,
322         lc_ctype, and lc_messages.
323         * gpg-agent.c (enum cmd_and_opt_values): Add oDisplay, oTTYname,
324         oTTYtype, oLCctype, and LCmessages.
325         (main): Handle these options.
326         * command.c (option_handler): New function.
327         (register_commands): Register option handler.
328         * query.c (start_pinentry): Pass the various display and tty
329         options to the pinentry.
330
331 2002-04-05  Werner Koch  <wk@gnupg.org>
332
333         * protect-tool.c (show_file): New.  Used as default action.
334
335 2002-03-28  Werner Koch  <wk@gnupg.org>
336
337         * divert-scd.c (encode_md_for_card): Don't do the pkcs-1 padding,
338         the scdaemon should take care of it.
339         (ask_for_card): Hack to not display the trailing zero.
340
341 2002-03-11  Werner Koch  <wk@gnupg.org>
342
343         * learncard.c (kpinfo_cb): Remove the content restrictions from
344         the keyID.
345
346 2002-03-06  Werner Koch  <wk@gnupg.org>
347
348         * learncard.c: New.
349         * divert-scd.c (ask_for_card): The serial number is binary so
350         convert it to hex here.
351         * findkey.c (agent_write_private_key): New.
352         * genkey.c (store_key): And use it here.
353         
354         * pkdecrypt.c (agent_pkdecrypt): Changed the way the diversion is done.
355         * divert-scd.c (divert_pkdecrypt): Changed interface and
356         implemented it.
357
358 2002-03-05  Werner Koch  <wk@gnupg.org>
359
360         * call-scd.c (inq_needpin): New.
361         (agent_card_pksign): Add getpin_cb args.
362         (agent_card_pkdecrypt): New.
363
364 2002-03-04  Werner Koch  <wk@gnupg.org>
365
366         * pksign.c (agent_pksign): Changed how the diversion is done.
367         * divert-scd.c (divert_pksign): Changed interface and implemented it.
368         (encode_md_for_card): New.
369         * call-scd.c (agent_card_pksign): New.
370
371 2002-02-28  Werner Koch  <wk@gnupg.org>
372
373         * pksign.c (agent_pksign): Detect whether a Smartcard is to be
374         used and divert the operation in this case.
375         * pkdecrypt.c (agent_pkdecrypt): Likewise
376         * findkey.c (agent_key_from_file): Add optional arg shadow_info
377         and have it return information about a shadowed key.
378         * protect.c (agent_get_shadow_info): New.
379
380         * protect.c (snext,sskip,smatch): Moved to
381         * sexp-parse.h: new file.
382         * divert-scd.c: New.
383         
384 2002-02-27  Werner Koch  <wk@gnupg.org>
385
386         * protect.c (agent_shadow_key): New.
387
388         * command.c (cmd_learn): New command LEARN.
389         * gpg-agent.c: New option --scdaemon-program.
390         * call-scd.c (start_scd): New. Based on query.c
391         * query.c: Add 2 more arguments to all uses of assuan_transact.
392
393 2002-02-18  Werner Koch  <wk@gnupg.org>
394
395         * findkey.c (unprotect): Show an error message for a bad passphrase.
396
397         * command.c (cmd_marktrusted): Implemented.
398         * trustlist.c (agent_marktrusted): New.
399         (open_list): Add APPEND arg.
400
401         * query.c (agent_get_confirmation): New.
402
403 2002-02-06  Werner Koch  <wk@gnupg.org>
404
405         * cache.c (housekeeping): Fixed linking in the remove case.
406
407 2002-02-01  Werner Koch  <wk@gnupg.org>
408
409         * gpg-agent.c: New option --default-cache-ttl.
410         * cache.c (agent_put_cache): Use it.
411         
412         * cache.c: Add a few debug outputs.
413
414         * protect.c (agent_private_key_type): New.
415         * agent.h: Add PRIVATE_KEY_ enums.
416         * findkey.c (agent_key_from_file): Use it to decide whether we
417         have to unprotect a key.
418         (unprotect): Cache the passphrase.
419         
420         * findkey.c (agent_key_from_file,agent_key_available): The key
421         files do now require a ".key" suffix to make a script's life
422         easier. 
423         * genkey.c (store_key): Ditto.
424
425 2002-01-31  Werner Koch  <wk@gnupg.org>
426
427         * genkey.c (store_key): Protect the key.
428         (agent_genkey): Ask for the passphrase.
429         * findkey.c (unprotect): Actually unprotect the key.
430         * query.c (agent_askpin): Add an optional start_err_text. 
431
432 2002-01-30  Werner Koch  <wk@gnupg.org>
433
434         * protect.c: New.  
435         (hash_passphrase): Based on the GnuPG 1.0.6 version.
436         * protect-tool.c: New
437
438 2002-01-29  Werner Koch  <wk@gnupg.org>
439
440         * findkey.c (agent_key_available): New.
441         * command.c (cmd_havekey): New.
442         (register_commands): And register new command.
443
444 2002-01-20  Werner Koch  <wk@gnupg.org>
445
446         * command.c (cmd_get_passphrase): Remove the plus signs.
447
448         * query.c (start_pinentry): Send no-grab option to pinentry
449         * gpg-agent.c (main): Move variable grab as no_grab to agent.h.
450
451 2002-01-19  Werner Koch  <wk@gnupg.org>
452
453         * gpg-agent.c (main): Disable core dumps.
454
455         * cache.c: New.
456         * command.c (cmd_get_passphrase): Use the cache.
457         (cmd_clear_passphrase): Ditto.
458
459         * gpg-agent.c:  Removed unused cruft and implement the socket
460         based server.
461         (my_strusage): Take bug report address from configure.ac.
462         * command.c (start_command_handler): Add an argument to start as
463         regular server.
464         (start_command_handler): Enable Assuan logging.
465
466 2002-01-15  Werner Koch  <wk@gnupg.org>
467
468         * trustlist.c: New.
469         * command.c (cmd_istrusted, cmd_listtrusted, cmd_marktrusted): New.
470
471 2002-01-07  Werner Koch  <wk@gnupg.org>
472
473         * genkey.c: Store the secret part and return the public part.
474
475 2002-01-03  Werner Koch  <wk@gnupg.org>
476
477         * command.c (cmd_get_passphrase): New.
478         (cmd_clear_passphrase): New.
479         * query.c (agent_get_passphrase): New.
480
481 2002-01-02  Werner Koch  <wk@gnupg.org>
482
483         * genkey.c: New.
484         * command.c (cmd_genkey): New.
485
486         * command.c (rc_to_assuan_status): Removed and changed all callers
487         to use map_to_assuan_status.
488         
489 2001-12-19  Werner Koch  <wk@gnupg.org>
490
491         * keyformat.txt: New. 
492
493 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
494
495         * query.c (start_pinentry): Add new argument to assuan_pipe_connect.
496
497 2001-12-18  Werner Koch  <wk@gnupg.org>
498
499         * Makefile.am: Use LIBGCRYPT macros
500
501 2001-12-14  Werner Koch  <wk@gnupg.org>
502
503         * gpg-agent.c (main): New option --batch.  New option --debug-wait
504         n, so that it is possible to attach gdb when used in server mode.
505         * query.c (agent_askpin): Don't ask in batch mode.
506
507         * command.c: Removed the conversion macros as they are now in
508         ../common/util.h.
509
510 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
511
512         * query.c (LINELENGTH): Removed.
513         (agent_askpin): Use ASSUAN_LINELENGTH, not LINELENGTH.
514
515 2001-11-19  Werner Koch  <wk@gnupg.org>
516
517         * gpg-agent.c: Removed all GUI code, removed code for old
518         protocol.  New code to use the Assuan protocol as a server and
519         also to communicate with a new ask-passphrase utility.
520
521 2000-11-22  Werner Koch  <wk@gnupg.org>
522
523         * gpg-agent.c (main): csh support by Dan Winship, new options --sh
524         and --csh and set default by consulting $SHELL.
525
526 Mon Aug 21 17:59:17 CEST 2000  Werner Koch  <wk@openit.de>
527
528         * gpg-agent.c (passphrase_dialog): Cleanup the window and added the
529         user supplied text to the window.
530         (main): Fixed segv in gtk_init when used without a command to start.
531
532         * gpg-agent.c: --flush option.
533         (req_flush): New.
534         (req_clear_passphrase): Implemented.
535
536 Fri Aug 18 14:27:14 CEST 2000  Werner Koch  <wk@openit.de>
537
538         * gpg-agent.c: New.
539         * Makefile.am: New.
540
541
542  Copyright 2001, 2002 Free Software Foundation, Inc.
543
544  This file is free software; as a special exception the author gives
545  unlimited permission to copy and/or distribute it, with or without
546  modifications, as long as this notice is preserved.
547
548  This file is distributed in the hope that it will be useful, but
549  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
550  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.