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