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