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