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