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