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