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