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