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