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