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