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