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