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