(do_getattr): Fix for sending CA-FPR.
[gnupg.git] / scd / ChangeLog
1 2004-07-01  Werner Koch  <wk@gnupg.org>
2
3         * app-openpgp.c (do_getattr): Fix for sending CA-FPR.
4
5 2004-06-30  Werner Koch  <wk@gnupg.org>
6
7         * app-openpgp.c (app_openpgp_readkey): Fixed check for valid
8         exponent.
9
10 2004-06-18  Werner Koch  <wk@g10code.com>
11
12         * sc-investigate.c (my_read_line): Renamed from read_line.
13
14 2004-06-16  Werner Koch  <wk@gnupg.org>
15
16         * apdu.c (osc_get_status): Fixed type in function name. Noted by
17         Axel Thimm.  Yes, I didn't tested it with OpenSC :-(.
18
19 2004-04-28  Werner Koch  <wk@gnupg.org>
20
21         * app-openpgp.c (do_setattr): Sync FORCE_CHV1.
22
23 2004-04-27  Werner Koch  <wk@gnupg.org>
24
25         * app-common.h: Do not include ksba.h for gnupg 1.
26
27 2004-04-26  Werner Koch  <wk@gnupg.org>
28
29         * app-common.h: New members FNC.DEINIT and APP_LOCAL.
30         * app.c (release_application): Call new deconstructor.
31         * app-openpgp.c (do_deinit): New.
32         (get_cached_data, flush_cache_item, flush_cache_after_error)
33         (flush_cache): New.
34         (get_one_do): Replaced arg SLOT by APP.  Make used of cached data.
35         (verify_chv2, verify_chv3): Flush some cache item after error.
36         (do_change_pin): Ditto.
37         (do_sign): Ditto.
38         (do_setattr): Flush cache item.
39         (do_genkey): Flush the entire cache.
40         (compare_fingerprint): Use cached data.
41
42         * scdaemon.c (main): Do the last change the usual way. This is so
43         that we can easily test for versioned config files above.
44
45 2004-04-26  Marcus Brinkmann  <marcus@g10code.de>
46
47         * scdaemon.c (main): For now, always print default filename for
48         --gpgconf-list, and never /dev/null.
49
50 2004-04-21  Werner Koch  <wk@gnupg.org>
51
52         * command.c (scd_update_reader_status_file): Send a signal back to
53         the client.
54         (option_handler): Parse the new event-signal option.
55
56         * scdaemon.c (handle_signal): Do not use SIGUSR{1,2} anymore for
57         changing the verbosity.
58
59 2004-04-20  Werner Koch  <wk@gnupg.org>
60
61         * command.c (scd_update_reader_status_file): Write status files.
62
63         * app-help.c (app_help_read_length_of_cert): Fixed calculation of
64         R_CERTOFF.
65
66         * pcsc-wrapper.c: New.
67         * Makefile.am (pkglib_PROGRAMS): Install it here.
68         * apdu.c (writen, readn): New.
69         (open_pcsc_reader, pcsc_send_apdu, close_pcsc_reader): Use the
70         pcsc-wrapper if we are using Pth.
71         (apdu_send_le): Reinitialize RESULTLEN.  Handle SW_EOF_REACHED
72         like SW_SUCCESS.
73
74 2004-04-19  Werner Koch  <wk@gnupg.org>
75
76         * ccid-driver.c (parse_ccid_descriptor): Store some of the reader
77         features away.  New arg HANDLE
78         (read_device_info): New arg HANDLE. Changed caller.
79         (bulk_in): Handle time extension requests.
80         (ccid_get_atr): Setup parameters and the IFSD.
81         (compute_edc): New. Factored out code.
82         (ccid_transceive): Use default NADs when required.
83
84 2004-04-14  Werner Koch  <wk@gnupg.org>
85
86         * scdaemon.h (server_control_s): Add member READER_SLOT.
87         * scdaemon.c (scd_init_default_ctrl): Initialize READER_SLOT to -1.
88         * command.c (open_card): Reuse an open slot.
89         (reset_notify): Just reset the slot if supported by the reader.
90         (do_reset): Factored code from above out.
91         (scd_command_handler): Use it for cleanup.
92
93         * apdu.h: New pseudo stati SW_HOST_NOT_SUPPORTED,
94         SW_HOST_LOCKING_FAILED and SW_HOST_BUSY.
95         * iso7816.c (map_sw): Map it.
96         
97         * ccid-driver.c (ccid_slot_status): Add arg STATUSBITS.
98         * apdu.c (apdu_get_status): New.
99         (ct_get_status, pcsc_get_status, ocsc_get_status): New stubs.
100         (get_status_ccid): New.
101         (apdu_reset): New.
102         (reset_ct_reader, reset_pcsc_reader, reset_osc_reader): New stubs.
103         (reset_ccid_reader): New.
104         (apdu_enum_reader): New.
105         
106         * apdu.c (lock_slot, trylock_slot, unlock_slot): New helpers.
107         (new_reader_slot) [USE_GNU_PTH]: Init mutex.
108         (apdu_reset, apdu_get_status, apdu_send_le): Run functions
109         in locked mode.
110
111         * command.c (scd_update_reader_status_file): New.
112         * scdaemon.c (handle_tick): Call it.
113
114 2004-04-13  Werner Koch  <wk@gnupg.org>
115
116         * scdaemon.c: Convert to a Pth application.
117         (handle_signal, ticker_thread, handle_tick): New.
118         (main): Fire up the ticker thread in server mode.
119
120 2004-03-23  Werner Koch  <wk@gnupg.org>
121
122         * scdaemon.c (main) <gpgconf_list>: Fixed output for pcsc_driver.
123
124 2004-03-17  Werner Koch  <wk@gnupg.org>
125
126         * tlv.c (parse_ber_header): Do not check for tag overflow - it
127         does not make sense.  Simplified the check for length overflow.
128
129         * scdaemon.c (main) <gpgconf>: Fixed default value quoting.
130
131 2004-03-16  Werner Koch  <wk@gnupg.org>
132
133         * app-dinsig.c: Implemented. Based on app-nks.c and card-dinsig.c
134         * app-nks.c (get_length_of_cert): Removed.
135         * app-help.c: New.
136         (app_help_read_length_of_cert): New.  Code taken from above.  New
137         optional arg R_CERTOFF.
138
139         * card-dinsig.c: Removed.
140         * card.c (card_get_serial_and_stamp): Do not bind to the old and
141         never finsiged card-dinsig.c.
142
143         * iso7816.c (iso7816_read_binary): Allow for an NMAX > 254.
144
145 2004-03-11  Werner Koch  <wk@gnupg.org>
146
147         * scdaemon.h (out_of_core): Removed.  Replaced callers by standard
148         gpg_error function.
149
150         * apdu.c, iso7816.c, ccid-driver.c [GNUPG_SCD_MAIN_HEADER]: Allow
151         to include a header defined by the compiler.  This helps us to
152         reuse the source in other software.
153
154 2004-03-10  Werner Koch  <wk@gnupg.org>
155
156         * iso7816.c (iso7816_read_record): New arg SHORT_EF.  Changed all
157         callers.
158
159 2004-02-18  Werner Koch  <wk@gnupg.org>
160
161         * sc-investigate.c (main): Setup the used character set.
162         * scdaemon.c (main): Ditto.
163
164         * scdaemon.c (set_debug): New.  Add option --debug-level.
165         (main): Add option --gpgconf-list.
166
167 2004-02-12  Werner Koch  <wk@gnupg.org>
168
169         * Makefile.am: Include cmacros.am for common flags.
170
171 2004-01-29  Werner Koch  <wk@gnupg.org>
172
173         * command.c (reset_notify): Release the application context and
174         close the reader.
175
176 2004-01-28  Werner Koch  <wk@gnupg.org>
177
178         * iso7816.c (iso7816_manage_security_env): New.
179         (iso7816_decipher): Add PADIND argument.
180
181 2004-01-27  Werner Koch  <wk@gnupg.org>
182
183         * command.c (cmd_readcert, cmd_readkey): Work on a copy of LINE.
184
185         * app-common.h (app_ctx_s): Added readcert field.
186         * app.c (app_readcert): New.
187         * tlv.c (parse_ber_header): Added; taken from libksba.
188
189 2004-01-26  Werner Koch  <wk@gnupg.org>
190
191         * card.c (map_sc_err): Use SCD as the error source.
192
193         * command.c (open_card): ADD arg NAME to allow requesting a
194         specific application.  Changed all callers.
195         (cmd_serialno): Allow optional argument to select the desired
196         application.
197
198         * app-nks.c: New. 
199
200         * scdaemon.h (opt): Add READER_PORT.
201         * scdaemon.c (main): Set it here.
202         * app.c (app_set_default_reader_port): Removed.
203         (select_application): Add NAME arg and figure out a
204         default serial number from the GDO. Add SLOT arg and remove all
205         reader management.
206         (release_application): New.
207         (app_write_learn_status): Output an APPTYPE status line.
208         * command.c (open_card): Adapt for select_application change.
209         * app-openpgp.c (app_select_openpgp): Removed SN and SNLEN args
210         and set it directly.  Changed all callers.
211
212 2004-01-25  Werner Koch  <wk@gnupg.org>
213
214         * iso7816.c (iso7816_select_application): P1 kludge for OpenPGP
215         card.
216         * app-openpgp.c (find_tlv): Factor out this function to ..
217         * tlv.c, tlv.h: .. new.
218
219         * scdaemon.h: Introduced app_t and ctrl_t as the new types for APP
220         and CTRL.
221
222 2004-01-21  Werner Koch  <wk@gnupg.org>
223
224         * apdu.c (apdu_send_le): Treat SW_EOF_REACHED as a warning.
225
226 2004-01-20  Werner Koch  <wk@gnupg.org>
227
228         * iso7816.c (iso7816_read_binary): New.
229         (iso7816_select_file): New.
230         (iso7816_list_directory): New.
231
232         * sc-investigate.c: Add option -i.
233         (select_app, read_line, interactive_shell): New.
234
235 2004-01-16  Werner Koch  <wk@gnupg.org>
236
237         * apdu.h: Add SW_FILE_NOT_FOUND.
238         * iso7816.c (map_sw): Map it to GPG_ERR_ENOENT.
239         * iso7816.c (iso7816_select_file): New.
240
241         * app-dinsig.c: New file w/o any real code yet.
242         * Makefile.am (scdaemon_SOURCES,sc_investigate_SOURCES): Add file.
243
244         * sc-investigate.c: Add option --disable-ccid.
245
246 2003-12-19  Werner Koch  <wk@gnupg.org>
247
248         * apdu.c (apdu_send_le): Send a get_response with the indicated
249         length and not the 64 bytes we used for testing.
250
251         * app-openpgp.c (verify_chv2, verify_chv3, do_sign): Check the
252         minimum length of the passphrase, so that we don't need to
253         decrement the retry counter.
254
255 2003-12-17  Werner Koch  <wk@gnupg.org>
256
257         * card-p15.c (p15_enum_keypairs): Replaced KRC by RC.
258         * card-dinsig.c (dinsig_enum_keypairs): Ditto.
259
260 2003-12-16  Werner Koch  <wk@gnupg.org>
261
262         * scdaemon.c (main): Set the prefixes for assuan logging.
263
264 2003-11-17  Werner Koch  <wk@gnupg.org>
265
266         * scdaemon.c, scdaemon.h: New options --allow-admin and --deny-admin.
267         * app-openpgp.c (verify_chv3): Check it here.
268
269 2003-11-12  Werner Koch  <wk@gnupg.org>
270
271         Adjusted for API changes in Libksba.
272
273 2003-10-30  Werner Koch  <wk@gnupg.org>
274
275         * apdu.c (close_ct_reader, close_pcsc_reader): Implemented.
276         (get_ccid_error_string): New.  Not very useful messages, though.
277
278 2003-10-25  Werner Koch  <wk@gnupg.org>
279
280         * ccid-driver.c (ccid_open_reader): Return an error if no USB
281         devices are found.
282
283         * command.c (cmd_genkey, cmd_passwd): Fixed faulty use of
284         !spacep().
285
286         * apdu.c (apdu_open_reader): Hacks for PC/SC under Windows.
287
288 2003-10-20  Werner Koch  <wk@gnupg.org>
289
290         * command.c (cmd_checkpin): New.
291         (register_commands): Add command CHECKPIN.
292         * app.c (app_check_pin): New.
293         * app-openpgp.c (check_against_given_fingerprint): New. Factored
294         out that code elsewhere.
295         (do_check_pin): New.
296
297 2003-10-10  Werner Koch  <wk@gnupg.org>
298
299         * ccid-driver.c (ccid_close_reader): New.
300
301         * apdu.c (close_ccid_reader, close_ct_reader, close_csc_reader)
302         (close_osc_reader, apdu_close_reader): New.  Not all are properly
303         implemented yet.
304
305 2003-10-09  Werner Koch  <wk@gnupg.org>
306
307         * ccid-driver.c (ccid_transceive): Add T=1 chaining for sending.
308
309 2003-10-08  Werner Koch  <wk@gnupg.org>
310
311         * app-openpgp.c (do_getattr): Support SERIALNO and AID.
312
313 2003-10-01  Werner Koch  <wk@gnupg.org>
314
315         * ccid-driver.c: Detect GnuPG 1.3 and include appropriate files.
316         * apdu.c: Ditto.
317         * app-openpgp.c: Ditto.
318         * iso7816.c: Ditto.
319         (generate_keypair): Renamed to ..
320         (do_generate_keypair): .. this.
321         * app-common.h [GNUPG_MAJOR_VERSION]: New.
322         * iso7816.h [GNUPG_MAJOR_VERSION]: Include cardglue.h
323
324 2003-09-30  Werner Koch  <wk@gnupg.org>
325
326         * command.c (cmd_getattr): New command GETATTR.
327         * app.c (app_setattr): New.
328         (do_getattr): New.
329         (do_learn_status): Reimplemented in terms of do_getattr.
330
331         * app-openpgp.c (do_change_pin): Make sure CVH1 and CHV2 are
332         always synced.
333         (verify_chv2, verify_chv3): New. Factored out common code.
334         (do_setattr, do_sign, do_auth, do_decipher): Change the names of
335         the prompts to match that we have only 2 different PINs.
336         (app_select_openpgp): Check whether the card enforced CHV1.
337         (convert_sig_counter_value): New. Factor out code from
338         get_sig_counter.
339
340 2003-09-28  Werner Koch  <wk@gnupg.org>
341
342         * app-openpgp.c (dump_all_do): Use gpg_err_code and not gpg_error.
343
344 2003-09-19  Werner Koch  <wk@gnupg.org>
345
346         * ccid-driver.c (parse_ccid_descriptor): New.
347         (read_device_info): New.
348         (ccid_open_reader): Check that the device has all required features.
349
350 2003-09-06  Werner Koch  <wk@gnupg.org>
351
352         * scdaemon.c (main): --pcsc-driver again defaults to pcsclite.
353         David Corcoran was so kind to remove the GPL incompatible
354         advertisng clause from pcsclite.
355         * apdu.c (apdu_open_reader): Actually make pcsc-driver option work.
356
357 2003-09-05  Werner Koch  <wk@gnupg.org>
358
359         * ccid-driver.c: More work, data can now actually be retrieved.
360         * ccid-driver.c, ccid-driver.h: Alternativley allow use under BSD
361         conditions.
362
363 2003-09-02  Werner Koch  <wk@gnupg.org>
364
365         * scdaemon.c, scdaemon.h: New option --pcsc-ccid.
366         * ccid-driver.c, ccid-driver.h: New but far from being useful.
367         * Makefile.am: Add above.
368         * apdu.c: Add support for that ccid driver.
369         
370 2003-08-26  Timo Schulz  <twoaday@freakmail.de>
371
372         * apdu.c (new_reader_slot): Only set 'is_osc' when OpenSC
373         is used.
374         
375 2003-08-25  Werner Koch  <wk@gnupg.org>
376
377         * command.c (cmd_setattr): Use a copy of LINE.
378         (cmd_genkey): Use a copy of KEYNO.
379         (cmd_passwd): Use a copy of CHVNOSTR.
380         (cmd_pksign, cmd_pkauth, cmd_pkdecrypt): s/strdup/xtrystrdup/.
381
382 2003-08-19  Werner Koch  <wk@gnupg.org>
383
384         * scdaemon.c, scdaemon.h: New option --pcsc-driver.
385         * apdu.c (apdu_open_reader): Use that option here instead of a
386         hardcoded one.
387
388 2003-08-18  Werner Koch  <wk@gnupg.org>
389
390         * Makefile.am: Add OPENSC_LIBS to all programs. 
391
392         * scdaemon.c, scdaemon.h: New option --disable-opensc.
393         * card.c (card_open): Implement it.
394         * apdu.c (open_osc_reader, osc_send_apdu): New.
395         (apdu_open_reader) [HAVE_OPENSC]: Use the opensc driver if not
396         disabled.
397         (error_string) [HAVE_OPENSC]: Use sc_strerror.
398         (send_apdu) [HAVE_OPENSC]: Call osc_apdu_send.
399
400         * card-p15.c (p15_enum_keypairs, p15_prepare_key): Adjusted for
401         libgpg-error.
402
403 2003-08-14  Timo Schulz  <twoaday@freakmail.de>
404
405         * apdu.c (ct_activate_card): Change the code a little to avoid
406         problems with other readers.
407         * Always use 'dynload.h' instead of 'dlfcn.h'.
408
409 2003-08-05  Werner Koch  <wk@gnupg.org>
410
411         * app-openpgp.c (dump_all_do): Don't analyze constructed DOs after
412         an error.
413
414 2003-08-04  Werner Koch  <wk@gnupg.org>
415
416         * app.c (app_set_default_reader_port): New.
417         (select_application): Use it here.
418         * scdaemon.c (main): and here.
419         * sc-copykeys.c: --reader-port does now take a string.
420         * sc-investigate.c, scdaemon.c: Ditto.
421         * apdu.c (apdu_open_reader): Ditto.  Load pcsclite if no ctapi
422         driver is configured.  Always include code for ctapi.
423         (new_reader_slot): Don't test for already used ports and remove
424         port arg.
425         (open_pcsc_reader, pcsc_send_apdu, pcsc_error_string): New.
426         (apdu_send_le): Changed RC to long to cope with PC/SC.
427
428         * scdaemon.c, scdaemon.h: New option --ctapi-driver.
429         * sc-investigate.c, sc-copykeys.c: Ditto.
430         
431 2003-07-31  Werner Koch  <wk@gnupg.org>
432
433         * Makefile.am (scdaemon_LDADD): Added INTLLIBS.
434
435 2003-07-28  Werner Koch  <wk@gnupg.org>
436
437         * app-openpgp.c (do_setattr): Change implementation.  Allow all
438         useful DOs.
439
440 2003-07-27  Werner Koch  <wk@gnupg.org>
441
442         Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
443
444 2003-07-24  Werner Koch  <wk@gnupg.org>
445
446         * app-openpgp.c (do_learn_status): Print more status information.
447         (app_select_openpgp): Store the card version.
448         (store_fpr): Add argument card_version and fix DOs for old cards.
449         (app_openpgp_storekey): Likewise.
450
451 2003-07-23  Werner Koch  <wk@gnupg.org>
452
453         * command.c (cmd_pkauth): New.
454         (cmd_setdata): Check whether data was given at all to avoid
455         passing 0 to malloc.
456
457         * app.c (app_auth): New.
458         * app-openpgp.c (do_auth): New.
459
460 2003-07-22  Werner Koch  <wk@gnupg.org>
461
462         * command.c (cmd_passwd): New.
463         * app.c (app_change_pin): New.
464         * app-openpgp.c (do_change_pin): New.
465         * iso7816.c (iso7816_reset_retry_counter): Implemented.
466
467         * sc-investigate.c (main): New option --gen-random.
468         * iso7816.c (iso7816_get_challenge): Don't create APDUs with a
469         length larger than 255.
470
471 2003-07-17  Werner Koch  <wk@gnupg.org>
472
473         * command.c (cmd_random): New command RANDOM.
474
475         * iso7816.c (map_sw): New. Use it in this file to return
476         meaningful error messages.  Changed all public fucntions to return
477         a gpg_error_t.
478         (iso7816_change_reference_data): New.
479         * apdu.c (apdu_open_reader): Use faked status words for soem
480         system errors.
481
482 2003-07-16  Werner Koch  <wk@gnupg.org>
483
484         * apdu.c (apdu_send_simple): Use apdu_send_le so that we can
485         specify not to send Le as it should be.
486
487 2003-07-15  Werner Koch  <wk@gnupg.org>
488
489         * Makefile.am: Add sc-copykeys program.
490         * sc-copykeys.c: New.
491         * app-openpgp.c (app_openpgp_storekey): New.
492         (app_openpgp_cardinfo): New.
493         (count_bits): New.
494         (store_fpr): And use it here to get the actual length in bit.
495
496 2003-07-03  Werner Koch  <wk@gnupg.org>
497
498         * app-openpgp.c (do_setattr): Add setting of the URL.
499         (app_select_openpgp): Dump card data only in very verbose mode.
500         (do_decipher): New.
501
502 2003-07-02  Werner Koch  <wk@gnupg.org>
503
504         * app-openpgp.c (get_sig_counter): New.
505         (do_sign): Print the signature counter and enable the PIN callback.
506         (do_genkey): Implement the PIN callback. 
507
508 2003-07-01  Werner Koch  <wk@gnupg.org>
509
510         * app-openpgp.c (store_fpr): Fixed fingerprint calculation.
511
512 2003-06-26  Werner Koch  <wk@gnupg.org>
513
514         * app-openpgp.c (find_tlv): Fixed length header parsing.
515
516         * app.c (app_genkey): New.
517         * command.c (cmd_genkey): New.
518
519 2003-06-25  Werner Koch  <wk@gnupg.org>
520
521         * command.c (percent_plus_unescape): New.
522         (cmd_setattr): New.
523
524 2003-06-24  Werner Koch  <wk@gnupg.org>
525
526         * command.c (send_status_info): New.
527
528         * app-openpgp.c (app_select_openpgp): Replace SLOT arg by APP arg
529         and setup the function pointers in APP on success. Changed callers.
530         * app.c: New.
531         * app-common.h: New.
532         * scdaemon.h (APP): New type to handle applications.
533         (server_control_s): Add an APP context field.
534
535         * command.c (cmd_serialno): Handle applications.
536         (cmd_pksign): Ditto.
537         (cmd_pkdecrypt): Ditto.
538         (reset_notify): Ditto.
539         (cmd_learn): For now return error for application contexts.
540         (cmd_readcert): Ditto.
541         (cmd_readkey): Ditto.
542
543 2003-06-04  Werner Koch  <wk@gnupg.org>
544
545         * card.c (map_sc_err): Renamed gpg_make_err to gpg_err_make.
546
547         Renamed error codes from INVALID to INV and removed _ERROR suffixes.
548
549 2003-06-03  Werner Koch  <wk@gnupg.org>
550
551         Changed all error codes in all files to the new libgpg-error scheme.
552
553         * scdaemon.h: Include gpg-error.h and errno.h
554         * card.c (map_sc_err): Use unknown for the error source.
555         * Makefile.am: Link with libgpg-error
556
557 2003-05-14  Werner Koch  <wk@gnupg.org>
558
559         * atr.c, atr.h: New.
560         * sc-investigate.c: Dump the ATR in a human readable format.
561
562 2003-05-08  Werner Koch  <wk@gnupg.org>
563
564         * scdaemon.h (DBG_CARD_IO_VALUE): New.
565
566         * sc-investigate.c: New.
567         * scdaemon.c (main): Removed --print-atr option.
568
569         * iso7816.c, iso7816.h, app-openpgp.c: New.
570
571 2003-04-29  Werner Koch  <wk@gnupg.org>
572
573         * scdaemon.c: New options --print-atr and --reader-port
574         * apdu.c, apdu.h: New
575
576         * card.c, card-p15.c, card-dinsig.c: Allow build without OpenSC.
577         
578         * Makefile.am (LDFLAGS): Removed.
579
580         * command.c (register_commands): Adjusted for new Assuan semantics.
581
582 2002-08-21  Werner Koch  <wk@gnupg.org>
583
584         * scdaemon.c (main): New option --daemon so that the program is
585         not accidently started in the background.
586
587 2002-08-16  Werner Koch  <wk@gnupg.org>
588
589         * scdaemon.c: Include i18n.h.
590
591         * card-common.h (struct p15_private_s): Forward declaration.  Add
592         it to card_ctx_s.
593         * card.c (card_close): Make sure private data is released.
594         (card_enum_certs): New.
595         * card-p15.c (p15_release_private_data): New.
596         (init_private_data): New to work around an OpenSC weirdness.
597         (p15_enum_keypairs): Do an OpenSC get_objects only once.
598         (p15_enum_certs): New.
599         (card_p15_bind): Bind new function.
600         * command.c (cmd_learn): Return information about the certificates.
601
602 2002-08-09  Werner Koch  <wk@gnupg.org>
603
604         * card.c (card_get_serial_and_stamp): Use the tokeinfo serial
605         number as a fallback. Add a special prefix for serial numbers.
606
607 2002-07-30  Werner Koch  <wk@gnupg.org>
608
609         Changes to cope with OpenSC 0.7.0:
610         
611         * card.c: Removed the check for the packed opensc version.
612         Changed include file names of opensc.
613         (map_sc_err): Adjusted error codes for new opensc version.
614         * card-p15.c: Changed include filename of opensc.
615         * card-dinsig.c: Ditto.
616
617         * card-p15.c (p15_decipher): Add flags argument to OpenSC call.
618         
619 2002-07-24  Werner Koch  <wk@gnupg.org>
620
621         * card.c (find_simple_tlv, find_iccsn): New.
622         (card_get_serial_and_stamp): Improved serial number parser.
623
624 2002-06-27  Werner Koch  <wk@gnupg.org>
625
626         * scdaemon.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
627
628 2002-06-15  Werner Koch  <wk@gnupg.org>
629
630         * card-dinsig.c: Documented some stuff from the DIN norm.
631
632 2002-04-15  Werner Koch  <wk@gnupg.org>
633
634         * command.c (cmd_pksign, cmd_pkdecrypt): Use a copy of the key ID.
635
636 2002-04-12  Werner Koch  <wk@gnupg.org>
637
638         * scdaemon.c: New option --debug-sc N.
639         * card.c (card_open): set it here.
640
641         * card-p15.c (p15_prepare_key): Factored out common code from ...
642         (p15_sign, p15_decipher): here and made the decryption work the
643         regular way.
644
645 2002-04-10  Werner Koch  <wk@gnupg.org>
646
647         * card.c (card_open): Return immediately when no reader is available.
648
649 2002-03-27  Werner Koch  <wk@gnupg.org>
650
651         * card.c (card_open, card_close): Adjusted for changes in OpenSC.
652
653 2002-03-10  Werner Koch  <wk@gnupg.org>
654
655         * card-p15.c, card-dinsig.c, card-common.h: New.
656         * card.c: Factored most code out to the new modules, so that we
657         can better support different types of card applications.
658
659 2002-01-26  Werner Koch  <wk@gnupg.org>
660
661         * scdaemon.c scdaemon.h, command.c: New. Based on the code from
662         the gpg-agent.
663
664  Copyright 2002 Free Software Foundation, Inc.
665
666  This file is free software; as a special exception the author gives
667  unlimited permission to copy and/or distribute it, with or without
668  modifications, as long as this notice is preserved.
669
670  This file is distributed in the hope that it will be useful, but
671  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
672  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.