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