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