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