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