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