* certpath.c (check_cert_policy): Don't use log_error to print a
[gnupg.git] / sm / ChangeLog
1 2002-07-02  Werner Koch  <wk@gnupg.org>
2
3         * certpath.c (check_cert_policy): Don't use log_error to print a
4         warning.
5
6         * keydb.c (keydb_store_cert): Add optional ar EXISTED and changed
7         all callers.
8         * call-agent.c (learn_cb): Print info message only for real imports.
9
10         * import.c (gpgsm_import): Moved duplicated code to ...
11         (check_and_store): new function.  Added magic to import the entire
12         chain. Print status only for real imports and moved printing code
13         to ..
14         (print_imported_status): New.
15
16         * call-dirmngr.c (gpgsm_dirmngr_isvalid): print status of dirmngr
17         call in very verbose mode.
18
19         * gpgsm.c (main): Use the same error codes for STATUS_INV_RECP as
20         with the server mode.
21
22 2002-06-29  Werner Koch  <wk@gnupg.org>
23
24         * gpgsm.c: New option --auto-issuer-key-retrieve.
25         * certpath.c (find_up): Try to retrieve an issuer key from an
26         external source and from the ephemeral key DB.
27         (find_up_store_certs_cb): New.
28
29         * keydb.c (keydb_set_ephemeral): Does now return the old
30         state.  Call the backend only when required.
31
32         * call-dirmngr.c (start_dirmngr): Use GNUPG_DEFAULT_DIRMNGR.
33         (lookup_status_cb): Issue status only when CTRL is not NULL.
34         (gpgsm_dirmngr_lookup): Document that CTRL is optional.
35
36         * call-agent.c (start_agent): Use GNUPG_DEFAULT_AGENT.
37
38 2002-06-28  Werner Koch  <wk@gnupg.org>
39
40         * server.c (cmd_recipient): Add more reason codes.
41
42 2002-06-27  Werner Koch  <wk@gnupg.org>
43
44         * certpath.c (gpgsm_basic_cert_check): Use
45         --debug-no-path-validation to also bypass this basic check.
46
47         * gpgsm.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
48
49         * call-agent.c (start_agent): Create and pass the list of FD to
50         keep in the child to assuan.
51         * call-dirmngr.c (start_dirmngr): Ditto.
52
53 2002-06-26  Werner Koch  <wk@gnupg.org>
54
55         * import.c (gpgsm_import): Print an STATUS_IMPORTED.
56
57         * gpgsm.c: --debug-no-path-validation does not take an argument.
58
59 2002-06-25  Werner Koch  <wk@gnupg.org>
60
61         * certdump.c (print_dn_part): Always print a leading slash,
62         removed NEED_DELIM arg and changed caller.
63
64         * export.c (gpgsm_export): Print LFs to FP and not stdout.
65         (print_short_info): Ditto.  Make use of gpgsm_print_name.
66
67         * server.c (cmd_export): Use output-fd instead of data lines; this
68         was actually the specified way.
69
70 2002-06-24  Werner Koch  <wk@gnupg.org>
71
72         * gpgsm.c: Removed duped help entry for --list-keys.
73         
74         * gpgsm.c, gpgsm.h: New option --debug-no-path-validation.
75
76         * certpath.c (gpgsm_validate_path): Use it here instead of the
77         debug flag hack.
78
79         * certpath.c (check_cert_policy): Return No_Policy_Match if the
80         policy file could not be opened.
81
82 2002-06-20  Werner Koch  <wk@gnupg.org>
83
84         * certlist.c (gpgsm_add_to_certlist): Fixed locating of a
85         certificate with the required key usage.
86
87         * gpgsm.c (main): Fixed a segv when using --outfile without an
88         argument.
89
90         * keylist.c (print_capabilities): Also check for non-repudiation
91         and data encipherment.
92         * certlist.c (cert_usage_p): Test for signing and encryption was
93         swapped.  Add a case for certification usage, handle
94         non-repudiation and data encipherment.
95         (gpgsm_cert_use_cert_p): New.
96         (gpgsm_add_to_certlist): Added a CTRL argument and changed all
97         callers to pass it.
98         * certpath.c (gpgsm_validate_path): Use it here to print a status
99         message. Added a CTRL argument and changed all callers to pass it.
100         * decrypt.c (gpgsm_decrypt): Print a status message for wrong key
101         usage.
102         * verify.c (gpgsm_verify): Ditto.
103         * keydb.c (classify_user_id): Allow a colon delimited fingerprint.
104
105 2002-06-19  Werner Koch  <wk@gnupg.org>
106
107         * call-agent.c (learn_cb): Use log_info instead of log_error on
108         successful import.
109
110         * keydb.c (keydb_set_ephemeral): New.
111         (keydb_store_cert): New are ephemeral, changed all callers.
112         * keylist.c (list_external_cb): Store cert as ephemeral.
113         * export.c (gpgsm_export): Kludge to export epehmeral certificates.
114
115         * gpgsm.c (main): New command --list-external-keys.
116         
117 2002-06-17  Werner Koch  <wk@gnupg.org>
118
119         * certreqgen.c (read_parameters): Improved error handling.
120         (gpgsm_genkey): Print error message.
121
122 2002-06-13  Werner Koch  <wk@gnupg.org>
123
124         * gpgsm.c (main): New option --log-file.
125
126 2002-06-12  Werner Koch  <wk@gnupg.org>
127
128         * call-dirmngr.c (lookup_status_cb): New.
129         (gpgsm_dirmngr_lookup): Use the status CB.  Add new arg CTRL and
130         changed caller to pass it.
131
132         * gpgsm.c (open_fwrite): New.
133         (main): Allow --output for --verify.
134
135         * sign.c (hash_and_copy_data): New.
136         (gpgsm_sign): Implemented normal (non-detached) signatures.
137         * gpgsm.c (main): Ditto.
138         
139         * certpath.c (gpgsm_validate_path): Special error handling for
140         no policy match.
141
142 2002-06-10  Werner Koch  <wk@gnupg.org>
143
144         * server.c (get_status_string): Add STATUS_ERROR.
145
146         * certpath.c (gpgsm_validate_path): Tweaked the error checking to 
147         return error codes in a more sensitive way.
148         * verify.c (gpgsm_verify): Send status TRUST_NEVER also for a bad
149         CA certificate and when the certificate has been revoked.  Issue
150         TRUST_FULLY even when the cert has expired.  Append an error token
151         to these status lines.  Issue the new generic error status when a
152         cert was not found and when leaving the function.
153
154 2002-06-04  Werner Koch  <wk@gnupg.org>
155
156         * gpgsm.c (main): New command --list-sigs
157         * keylist.c (list_cert_std): New.  Use it whenever colon mode is
158         not used.
159         (list_cert_chain): New.
160
161 2002-05-31  Werner Koch  <wk@gnupg.org>
162
163         * gpgsm.c (main): Don't print the "go ahead" message for an
164         invalid command.
165
166 2002-05-23  Werner Koch  <wk@gnupg.org>
167
168         * import.c (gpgsm_import): Add error messages.
169
170 2002-05-21  Werner Koch  <wk@gnupg.org>
171
172         * keylist.c (list_internal_keys): Renamed from gpgsm_list_keys.
173         (list_external_keys): New.
174         (gpgsm_list_keys): Dispatcher for above.
175         * call-dirmngr.c (lookup_cb,pattern_from_strlist)
176         (gpgsm_dirmngr_lookup): New.
177         * server.c (option_handler): Handle new option --list-mode.
178         (do_listkeys): Handle options and actually use the mode argument.
179         (get_status_string): New code TRUNCATED.
180
181         * import.c (gpgsm_import): Try to identify the type of input and
182         handle certs-only messages.
183
184 2002-05-14  Werner Koch  <wk@gnupg.org>
185
186         * gpgsm.c: New option --faked-system-time
187         * sign.c (gpgsm_sign): And use it here.
188         * certpath.c (gpgsm_validate_path): Ditto.
189
190 2002-05-03  Werner Koch  <wk@gnupg.org>
191
192         * certpath.c (gpgsm_validate_path): Added EXPTIME arg and changed
193         all callers.
194         * verify.c (gpgsm_verify): Tweaked usage of log_debug and
195         log_error.  Return EXPSIG status and add expiretime to VALIDSIG.
196
197 2002-04-26  Werner Koch  <wk@gnupg.org>
198
199         * gpgsm.h (DBG_AGENT,DBG_AGENT_VALUE): Replaced by DBG_ASSUAN_*.
200         Changed all users.
201
202         * call-agent.c (start_agent): Be more silent without -v.
203         * call-dirmngr.c (start_dirmngr): Ditto.
204
205 2002-04-25  Werner Koch  <wk@gnupg.org>
206
207         * call-agent.c (start_agent): Make copies of old locales and check
208         for setlocale.
209
210 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
211
212         * call-agent.c (start_agent): Fix error handling logic so the
213         locale is always correctly reset.
214
215 2002-04-25  Marcus Brinkmann  <marcus@g10code.de>
216
217         * server.c (option_handler): Accept display, ttyname, ttytype,
218         lc_ctype and lc_messages options.
219         * gpgsm.c (main): Allocate memory for these options.
220         * gpgsm.h (struct opt): Make corresponding members non-const.
221
222 2002-04-24  Marcus Brinkmann  <marcus@g10code.de>
223
224         * gpgsm.h (struct opt): New members display, ttyname, ttytype,
225         lc_ctype, lc_messages.
226         * gpgsm.c (enum cmd_and_opt_values): New members oDisplay,
227         oTTYname, oTTYtype, oLCctype, oLCmessages.
228         (opts): New entries for these options.
229         (main): Handle these new options.
230         * call-agent.c (start_agent): Set the various display and tty
231         parameter after resetting.
232
233 2002-04-18  Werner Koch  <wk@gnupg.org>
234
235         * certreqgen.c (gpgsm_genkey): Write status output on success.
236
237 2002-04-15  Werner Koch  <wk@gnupg.org>
238
239         * gpgsm.c (main): Check ksba version.
240
241         * certpath.c (find_up): New to use the authorithKeyIdentifier.
242         Use it in all other functions to locate the signing cert..
243
244 2002-04-11  Werner Koch  <wk@gnupg.org>
245
246         * certlist.c (cert_usable_p): New.
247         (gpgsm_cert_use_sign_p,gpgsm_cert_use_encrypt_p): New.
248         (gpgsm_cert_use_verify_p,gpgsm_cert_use_decrypt_p): New.
249         (gpgsm_add_to_certlist): Check the key usage.
250         * sign.c (gpgsm_sign): Ditto.
251         * verify.c (gpgsm_verify): Print a message wehn an unsuitable
252         certificate was used.
253         * decrypt.c (gpgsm_decrypt): Ditto
254         * keylist.c (print_capabilities): Determine values from the cert.
255
256 2002-03-28  Werner Koch  <wk@gnupg.org>
257
258         * keylist.c (list_cert_colon): Fixed listing of crt record; the
259         issuer is not at the right place.  Print a chainingID.
260         * certpath.c (gpgsm_walk_cert_chain): Be a bit more silent on
261         common errors.
262
263 2002-03-21  Werner Koch  <wk@gnupg.org>
264
265         * export.c: New.
266         * gpgsm.c: Add command --export.
267         * server.c (cmd_export): New.
268         
269 2002-03-13  Werner Koch  <wk@gnupg.org>
270
271         * decrypt.c (gpgsm_decrypt): Allow multiple recipients.
272
273 2002-03-12  Werner Koch  <wk@gnupg.org>
274
275         * certpath.c (check_cert_policy): Print the policy list.
276
277         * verify.c (gpgsm_verify): Detect certs-only message.
278
279 2002-03-11  Werner Koch  <wk@gnupg.org>
280
281         * import.c (gpgsm_import): Print a notice about imported certificates
282         when in verbose mode.
283
284         * gpgsm.c (main): Print INV_RECP status.
285         * server.c (cmd_recipient): Ditto.
286
287         * server.c (gpgsm_status2): New.  Allows for a list of strings.
288         (gpgsm_status): Divert to gpgsm_status2.
289
290         * encrypt.c (gpgsm_encrypt): Don't use a default key when no
291         recipients are given.  Print a NO_RECP status.
292
293 2002-03-06  Werner Koch  <wk@gnupg.org>
294
295         * server.c (cmd_listkeys, cmd_listsecretkeys): Divert to
296         (do_listkeys): new.  Add pattern parsing.
297
298         * keylist.c (gpgsm_list_keys): Handle selection pattern.
299
300         * gpgsm.c: New command --learn-card
301         * call-agent.c (learn_cb,gpgsm_agent_learn): New.
302
303         * gpgsm.c (main): Print error messages for non-implemented commands.
304
305         * base64.c (base64_reader_cb): Use case insensitive compare of the
306         Content-Type string to detect plain base-64.
307
308 2002-03-05  Werner Koch  <wk@gnupg.org>
309
310         * gpgsm.c, gpgsm.h: Add local_user.
311         * sign.c (gpgsm_get_default_cert): New.
312         (get_default_signer): Use the new function if local_user is not
313         set otherwise used that value.
314         * encrypt.c (get_default_recipient): Removed.
315         (gpgsm_encrypt): Use gpgsm_get_default_cert.
316
317         * verify.c (gpgsm_verify): Better error text for a bad signature
318         found by comparing the hashs.
319
320 2002-02-27  Werner Koch  <wk@gnupg.org>
321
322         * call-dirmngr.c, call-agent.c: Add 2 more arguments to all uses
323         of assuan_transact.
324
325 2002-02-25  Werner Koch  <wk@gnupg.org>
326
327         * server.c (option_handler): Allow to use -2 for "send all certs
328         except the root cert".
329         * sign.c (add_certificate_list): Implement it here.
330         * certpath.c (gpgsm_is_root_cert): New.
331
332 2002-02-19  Werner Koch  <wk@gnupg.org>
333
334         * certpath.c (check_cert_policy): New.
335         (gpgsm_validate_path): And call it from here.
336         * gpgsm.c (main): New options --policy-file,
337         --disable-policy-checks and --enable-policy-checks.
338         * gpgsm.h (opt): Added policy_file, no_policy_checks.
339
340 2002-02-18  Werner Koch  <wk@gnupg.org>
341
342         * certpath.c (gpgsm_validate_path): Ask the agent to add the
343         certificate into the trusted list.
344         * call-agent.c (gpgsm_agent_marktrusted): New.
345
346 2002-02-07  Werner Koch  <wk@gnupg.org>
347
348         * certlist.c (gpgsm_add_to_certlist): Check that the specified
349         name identifies a certificate unambiguously.
350         (gpgsm_find_cert): Ditto.
351
352         * server.c (cmd_listkeys): Check that the data stream is available.
353         (cmd_listsecretkeys): Ditto.
354         (has_option): New.
355         (cmd_sign): Fix ambiguousity in option recognition.
356
357         * gpgsm.c (main): Enable --logger-fd.
358
359         * encrypt.c (gpgsm_encrypt): Increased buffer size for better
360         performance.
361
362         * call-agent.c (gpgsm_agent_pksign): Check the S-Exp received from
363         the agent.
364
365         * keylist.c (list_cert_colon): Filter out control characters.
366
367 2002-02-06  Werner Koch  <wk@gnupg.org>
368
369         * decrypt.c (gpgsm_decrypt): Bail out after an decryption error.
370
371         * server.c (reset_notify): Close input and output FDs.
372         (cmd_encrypt,cmd_decrypt,cmd_verify,cmd_sign.cmd_import)
373         (cmd_genkey): Close the FDs and release the recipient list even in
374         the error case.
375
376 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
377
378         * sign.c (gpgsm_sign): Do not release certificate twice.
379
380 2002-01-29  Werner Koch  <wk@gnupg.org>
381
382         * call-agent.c (gpgsm_agent_havekey): New.
383         * keylist.c (list_cert_colon): New arg HAVE_SECRET, print "crs"
384         when we know that the secret key is available.
385         (gpgsm_list_keys): New arg MODE, check whether a secret key is
386         available.  Changed all callers.
387         * gpgsm.c (main): New command --list-secret-keys.
388         * server.c (cmd_listsecretkeys): New.
389         (cmd_listkeys): Return secret keys with "crs" record.
390
391 2002-01-28  Werner Koch  <wk@gnupg.org>
392
393         * certreqgen.c (create_request): Store the email address in the req.
394
395 2002-01-25  Werner Koch  <wk@gnupg.org>
396
397         * gpgsm.c (main): Disable core dumps.
398
399         * sign.c (add_certificate_list): New.
400         (gpgsm_sign): Add the certificates to the CMS object.
401         * certpath.c (gpgsm_walk_cert_chain): New.
402         * gpgsm.h (server_control_s): Add included_certs.
403         * gpgsm.c: Add option --include-certs.
404         (gpgsm_init_default_ctrl): New.
405         (main): Call it.
406         * server.c (gpgsm_server): Ditto.
407         (option_handler): Support --include-certs.
408
409 2002-01-23  Werner Koch  <wk@gnupg.org>
410
411         * certpath.c (gpgsm_validate_path): Print the DN of a missing issuer.
412         * certdump.c (gpgsm_dump_string): New.
413         (print_dn): Replaced by above.
414
415 2002-01-22  Werner Koch  <wk@gnupg.org>
416
417         * certpath.c (unknown_criticals): New.
418         (allowed_ca): New.
419         (gpgsm_validate_path): Check validity, CA attribute, path length
420         and unknown critical extensions.
421
422 2002-01-21  Werner Koch  <wk@gnupg.org>
423
424         * gpgsm.c: Add option --enable-crl-checks.
425
426         * call-agent.c (start_agent): Implemented socket based access.
427         * call-dirmngr.c (start_dirmngr): Ditto.
428
429 2002-01-20  Werner Koch  <wk@gnupg.org>
430
431         * server.c (option_handler): New.
432         (gpgsm_server): Register it with assuan.
433
434 2002-01-19  Werner Koch  <wk@gnupg.org>
435
436         * server.c (gpgsm_server): Use assuan_deinit_server and setup
437         assuan logging if enabled.
438         * call-agent.c (inq_ciphertext_cb): Don't show the session key in
439         an Assuan log file.
440
441         * gpgsm.c (my_strusage): Take bugreport address from configure.ac
442
443 2002-01-15  Werner Koch  <wk@gnupg.org>
444
445         * import.c (gpgsm_import): Just do a basic cert check before
446         storing it.
447         * certpath.c (gpgsm_basic_cert_check): New.
448
449         * keydb.c (keydb_store_cert): New.
450         * import.c (store_cert): Removed and change all caller to use
451         the new function.
452         * verify.c (store_cert): Ditto.
453
454         * certlist.c (gpgsm_add_to_certlist): Validate the path
455
456         * certpath.c (gpgsm_validate_path): Check the trust list.
457         * call-agent.c (gpgsm_agent_istrusted): New.
458
459 2002-01-14  Werner Koch  <wk@gnupg.org>
460
461         * call-dirmngr.c (inq_certificate): Changed for new interface semantic.
462         * certlist.c (gpgsm_find_cert): New.
463
464 2002-01-13  Werner Koch  <wk@gnupg.org>
465
466         * fingerprint.c (gpgsm_get_certid): Print the serial and not the
467         hash after the dot.
468
469 2002-01-11  Werner Koch  <wk@gnupg.org>
470
471         * call-dirmngr.c: New.
472         * certpath.c (gpgsm_validate_path): Check the CRL here.
473         * fingerprint.c (gpgsm_get_certid): New.
474         * gpgsm.c: New options --dirmngr-program and --disable-crl-checks.
475
476 2002-01-10  Werner Koch  <wk@gnupg.org>
477
478         * base64.c (gpgsm_create_writer): Allow to set the object name
479
480 2002-01-08  Werner Koch  <wk@gnupg.org>
481
482         * keydb.c (spacep): Removed because it is now in util.c
483
484         * server.c (cmd_genkey): New.
485         * certreqgen.c: New.  The parameter handling code has been taken
486         from gnupg/g10/keygen.c version 1.0.6.
487         * call-agent.c (gpgsm_agent_genkey): New.
488
489 2002-01-02  Werner Koch  <wk@gnupg.org>
490
491         * server.c (rc_to_assuan_status): Removed and changed all callers
492         to use map_to_assuan_status.
493
494 2001-12-20  Werner Koch  <wk@gnupg.org>
495
496         * verify.c (gpgsm_verify): Implemented non-detached signature
497         verification.  Add OUT_FP arg, initialize a writer and changed all
498         callers.
499         * server.c (cmd_verify): Pass an out_fp if one has been set.
500
501         * base64.c (base64_reader_cb): Try to detect an S/MIME body part.
502
503         * certdump.c (print_sexp): Renamed to gpgsm_dump_serial, made
504         global.
505         (print_time): Renamed to gpgsm_dump_time, made global.
506         (gpgsm_dump_serial): Take a real S-Expression as argument and
507         print the first item.
508         * keylist.c (list_cert_colon): Ditto.
509         * keydb.c (keydb_search_issuer_sn): Ditto.
510         * decrypt.c (print_integer_sexp): Removed and made callers 
511         use gpgsm_dump_serial.
512         * verify.c (print_time): Removed, made callers use gpgsm_dump_time.
513         
514 2001-12-19  Marcus Brinkmann  <marcus@g10code.de>
515
516         * call-agent.c (start_agent): Add new argument to assuan_pipe_connect.
517
518 2001-12-18  Werner Koch  <wk@gnupg.org>
519
520         * verify.c (print_integer_sexp): Renamed from print_integer and
521         print the serial number according to the S-Exp rules.
522         * decrypt.c (print_integer_sexp): Ditto.
523
524 2001-12-17  Werner Koch  <wk@gnupg.org>
525
526         * keylist.c (list_cert_colon): Changed for new return value of
527         get_serial.
528         * keydb.c (keydb_search_issuer_sn): Ditto.
529         * certcheck.c (gpgsm_check_cert_sig): Likewise for other S-Exp
530         returingin functions.
531         * fingerprint.c (gpgsm_get_keygrip): Ditto.
532         * encrypt.c (encrypt_dek): Ditto
533         * certcheck.c (gpgsm_check_cms_signature): Ditto
534         * decrypt.c (prepare_decryption): Ditto.
535         * call-agent.c (gpgsm_agent_pkdecrypt): Removed arg ciphertextlen,
536         use KsbaSexp type and calculate the length.
537
538         * certdump.c (print_sexp): Remaned from print_integer, changed caller.
539
540         * Makefile.am: Use the LIBGCRYPT and LIBKSBA variables.
541
542         * fingerprint.c (gpgsm_get_keygrip): Use the new
543         gcry_pk_get_keygrip to calculate the grip - note the algorithm and
544         therefore the grip values changed.
545
546 2001-12-15  Werner Koch  <wk@gnupg.org>
547
548         * certcheck.c (gpgsm_check_cms_signature): Removed the faked-key
549         kludge.
550         (gpgsm_create_cms_signature): Removed the commented fake key
551         code.  This makes the function pretty simple.
552
553         * gpgsm.c (main): Renamed the default key database to "keyring.kbx".
554
555         * decrypt.c (gpgsm_decrypt): Write STATUS_DECRYPTION_*.
556         * sign.c (gpgsm_sign): Write a STATUS_SIG_CREATED.
557
558 2001-12-14  Werner Koch  <wk@gnupg.org>
559
560         * keylist.c (list_cert_colon): Kludge to show an email address
561         encoded in the subject's DN.
562
563         * verify.c (gpgsm_verify): Add hash debug helpers
564         * sign.c (gpgsm_sign): Ditto.
565
566         * base64.c (base64_reader_cb): Reset the linelen when we need to
567         skip the line and adjusted test; I somehow forgot about DeMorgan.
568
569         * server.c (cmd_encrypt,cmd_decrypt,cmd_sign,cmd_verify) 
570         (cmd_import): Close the FDs on success.
571         (close_message_fd): New.
572         (input_notify): Setting autodetect_encoding to 0 after initializing
573         it to 0 is pretty pointless.  Easy to fix.
574
575         * gpgsm.c (main): New option --debug-wait n, so that it is
576         possible to attach gdb when used in server mode.
577
578         * sign.c (get_default_signer): Use keydb_classify_name here.
579
580 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
581
582         * call-agent.c (LINELENGTH): Removed.
583         (gpgsm_agent_pksign): Use ASSUAN_LINELENGTH, not LINELENGTH.
584         (gpgsm_agent_pkdecrypt): Likewise.
585
586 2001-12-13  Werner Koch  <wk@gnupg.org>
587
588         * keylist.c (list_cert_colon): Print alternative names of subject
589         and a few other values.
590
591 2001-12-12  Werner Koch  <wk@gnupg.org>
592
593         * gpgsm.c (main): New options --assume-{armor,base64,binary}. 
594         * base64.c (base64_reader_cb): Fixed non-autodetection mode.
595
596 2001-12-04  Werner Koch  <wk@gnupg.org>
597
598         * call-agent.c (read_from_agent): Check for inquire responses.
599         (request_reply): Handle them using a new callback arg, changed all
600         callers.
601         (gpgsm_agent_pkdecrypt): New.
602
603 2001-11-27  Werner Koch  <wk@gnupg.org>
604
605         * base64.c: New.  Changed all other functions to use this instead
606         of direct creation of ksba_reader/writer.
607         * gpgsm.c (main): Set ctrl.auto_encoding unless --no-armor is used.
608
609 2001-11-26  Werner Koch  <wk@gnupg.org>
610
611         * gpgsm.c: New option --agent-program
612         * call-agent.c (start_agent): Allow to override the default path
613         to the agent.
614
615         * keydb.c (keydb_add_resource): Create keybox
616
617         * keylist.c (gpgsm_list_keys): Fixed non-server keylisting.
618
619         * server.c (rc_to_assuan_status): New.  Use it for all commands.
620
621         
622  Copyright 2001, 2002 Free Software Foundation, Inc.
623
624  This file is free software; as a special exception the author gives
625  unlimited permission to copy and/or distribute it, with or without
626  modifications, as long as this notice is preserved.
627
628  This file is distributed in the hope that it will be useful, but
629  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
630  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.