1
2004-12-28 Werner Koch <wk@g10code.com>
3
* ccid-driver.c (find_endpoint): New.
4
(scan_or_find_devices): Add new args to return endpoint info and
6
(ccid_open_reader, ccid_shutdown_reader): Take care of these new
8
(bulk_in, bulk_out): Use the correct endpoints.
9
(ccid_transceive_apdu_level): New.
10
(ccid_transceive): Divert to above.
11
(parse_ccid_descriptor): Allow APDU level exchange mode.
12
(do_close_reader): Pass the interface number to usb_release_interface.
14
2004-12-21 Werner Koch <wk@g10code.com>
16
* scdaemon.c (main): Use default_homedir().
18
2004-12-18 Werner Koch <wk@g10code.com>
20
* scdaemon.c (main) [W32]: Remove special Pth initialize..
22
* scdaemon.h (map_assuan_err): Define in terms of
23
map_assuan_err_with_source.
25
2004-12-15 Werner Koch <wk@g10code.com>
27
* scdaemon.c [W32]: Various hacks to make it run under W32.
29
* command.c (scd_update_reader_status_file) [W32]: Don't use kill.
31
* apdu.c [W32]: Disable use of pcsc_wrapper.
33
* Makefile.am (scdaemon_LDADD): Reorder libs.
34
(sc_copykeys_LDADD): Add libassuan because it is needed for W32.
36
2004-12-06 Werner Koch <wk@g10code.com>
38
* Makefile.am (pkglib_PROGRAMS): Build only for W32.
40
2004-10-22 Werner Koch <wk@g10code.com>
42
* app-openpgp.c (verify_chv3): The minium length for CHV3 is
43
8. Changed string to match the other ones.
45
2004-10-21 Werner Koch <wk@g10code.com>
47
* app-openpgp.c (do_sign): Replace asprintf by direct allocation.
48
This avoids problems with missing vasprintf implementations in
51
* app-common.h (app_openpgp_storekey: Add prototype.
53
2004-10-20 Werner Koch <wk@g10code.com>
55
* sc-investigate: Removed.
56
* Makefile.am (sc_investigate): Removed.
58
* pcsc-wrapper.c (load_pcsc_driver): Load get_status_change func.
59
(handle_open): Succeed even without a present card.
60
(handle_status, handle_reset): New.
62
* apdu.c (apdu_open_reader): Load pcsc_get_status_change fucntion.
63
(pcsc_get_status): Implemented.
64
(reset_pcsc_reader): Implemented.
65
(open_pcsc_reader): Succeed even with no card inserted.
66
(open_ccid_reader): Set LAST_STATUS.
68
* iso7816.c (iso7816_select_application): Always use 0 for P1.
70
2004-10-18 Werner Koch <wk@g10code.com>
72
* ccid-driver.c (ccid_get_atr): Reset T=1 state info.
74
2004-10-14 Werner Koch <wk@g10code.com>
76
* app-openpgp.c (parse_login_data): New.
77
(app_select_openpgp): Call it.
78
(do_setattr): Reparse it after change.
80
2004-10-06 Werner Koch <wk@g10code.de>
82
* ccid-driver.c (ccid_open_reader): Store the vendor ID.
83
(ccid_transceive_secure): New.
84
(parse_ccid_descriptor): Workaround for an SCM reader problem.
86
2004-10-04 Werner Koch <wk@g10code.de>
88
* ccid-driver.c (send_escape_cmd): New.
90
2004-09-30 Werner Koch <wk@g10code.com>
92
* Makefile.am: Adjusted for gettext 0.14.
94
* app-openpgp.c (do_sign): Add the error string to the verify
97
2004-09-27 Werner Koch <wk@g10code.com>
101
* app-openpgp.c: Made all strings translatable.
102
(verify_chv3) [GNUPG_MAJOR_VERSION]: Make opt.allow_admin
103
available for use in gnupg 2.
104
(verify_chv3): Reimplemented countdown showing to use only
105
functions from this module. Flush the CVH status cache on a
107
(get_one_do): Hack to bypass the cache for cards versions > 1.0.
108
(store_fpr): Store the creation date for card version > 1.0.
110
* app-openpgp.c (app_openpgp_storekey): Call flush_cache.
111
(get_cached_data): Move local data initialization to ..
112
(app_select_openpgp): .. here. Read some flags for later use.
113
(do_getattr): New read-only attribute EXTCAP.
115
* apdu.c (open_pcsc_reader): Do not print empty reader string.
117
* ccid-driver.c (do_close_reader): Factored some code out from ...
118
(ccid_close_reader): ..here.
119
(ccid_shutdown_reader): New.
121
* apdu.c (apdu_shutdown_reader): New.
122
(shutdown_ccid_reader): New.
124
* apdu.c (open_ccid_reader): New arg PORTSTR. Pass it to
126
(apdu_open_reader): Pass portstr to open_ccid_reader.
127
(apdu_open_reader): No fallback if a full CCID reader id has been
130
* ccid-driver.c (ccid_get_reader_list): New.
131
(ccid_open_reader): Changed API to take a string for the reader.
132
Removed al the cruft for the libusb development vesion which seems
133
not to be maintained anymore and there are no packages anyway.
134
The stable library works just fine.
135
(struct ccid_reader_id_s): Deleted and replaced everywhere by a
137
(usb_get_string_simple): Removed.
138
(bulk_in): Do valgrind hack here and not just everywhere.
140
* ccid-driver.c (read_device_info): Removed.
141
(make_reader_id, scan_or_find_devices): New.
142
(ccid_open_reader): Simplified by make use of the new functions.
143
(ccid_set_debug_level): New. Changed the macros to make use of
144
it. It has turned out that it is often useful to enable debugging
145
at runtime so I added this option.
147
From gnupg 1.3 - David Shaw <dshaw@jabberwocky.com>
149
* app-openpgp.c (verify_chv3): Show a countdown of how many wrong
150
admin PINs can be entered before the card is locked.
152
* app-openpgp.c (get_cached_data): Avoid mallocing zero since it
153
breaks us when using --enable-m-guard.
155
* ccid-driver.c (usb_get_string_simple): Replacement function to
156
work with older libusb.
158
* ccid-driver.c (read_device_info): Fix segfault when usb device
160
(ccid_open_reader): Allow working with an even older version of
161
libusb (usb_busses global instead of usb_get_busses()).
163
2004-09-11 Werner Koch <wk@g10code.com>
165
* app-openpgp.c (app_select_openpgp): Its app_munge_serialno and
166
not app_number_serialno.
168
2004-08-20 Werner Koch <wk@g10code.de>
170
* app.c (select_application): Fixed serial number extraction and
171
added the BMI card workaround.
172
(app_munge_serialno): New.
173
* app-openpgp.c (app_select_openpgp): Try munging serialno.
175
2004-08-05 Werner Koch <wk@g10code.de>
177
* scdaemon.c (main): New option --disable-application.
178
* app.c (is_app_allowed): New.
179
(select_application): Use it to check for disabled applications.
181
* ccid-driver.h (CCID_DRIVER_ERR_ABORTED): New.
182
* ccid-driver.c (ccid_open_reader): Support the stable 0.1 version
184
(ccid_get_atr): Handle short messages.
186
* apdu.c (my_rapdu_get_status): Implemented.
188
2004-07-27 Moritz Schulte <moritz@g10code.com>
190
* apdu.c: Include <signal.h>.
192
* Makefile.am: Use @DL_LIBS@ instead of -ldl.
194
2004-07-22 Werner Koch <wk@g10code.de>
196
* Makefile.am: Make OpenSC lib link after libgcrypt. Do not link
198
* apdu.c: Don't use Pth if we use OpenSC.
199
* sc-investigate.c, scdaemon.c: Disable use of pth if OpenSC is used.
201
* scdaemon.c (main): Bumbed thread stack size up to 512k.
203
2004-07-16 Werner Koch <wk@gnupg.org>
205
* apdu.c (reader_table_s): Add function pointers for the backends.
206
(apdu_close_reader, apdu_get_status, apdu_activate)
207
(send_apdu): Make use of them.
208
(new_reader_slot): Intialize them to NULL.
209
(dump_ccid_reader_status, ct_dump_reader_status): New.
210
(dump_pcsc_reader_status): New.
211
(open_ct_reader, open_pcsc_reader, open_ccid_reader)
212
(open_osc_reader, open_rapdu_reader): Intialize function pointers.
213
(ct_activate_card, ct_send_apdu, pcsc_send_apdu, osc_send_apdu)
214
(error_string): Removed. Replaced by apdu_strerror.
215
(get_ccid_error_string): Removed.
216
(ct_activate_card): Remove the unused loop.
217
(reset_ct_reader): Implemented.
218
(ct_send_apdu): Activate the card if not yet done.
219
(pcsc_send_apdu): Ditto.
221
2004-07-15 Werner Koch <wk@gnupg.org>
223
* ccid-driver.h: Add error codes.
224
* ccid-driver.c: Implement more or less proper error codes all
227
* apdu.c (apdu_send_direct): New.
228
(get_ccid_error_string): Add some error code mappings.
229
(send_apdu): Pass error codes along for drivers already supporting
231
(host_sw_string): New.
232
(get_ccid_error_string): Use above.
233
(send_apdu_ccid): Reset the reader if it has not yet been done.
234
(open_ccid_reader): Don't care if the ATR can't be read.
235
(apdu_activate_card): New.
236
(apdu_strerror): New.
237
(dump_reader_status): Only enable it with opt.VERBOSE.
238
* iso7816.c (map_sw): Add mappings for the new error codes.
240
2004-07-02 Werner Koch <wk@gnupg.org>
242
* apdu.c (open_ct_reader, open_pcsc_reader, open_ccid_reader)
243
(reset_ccid_reader, open_osc_reader): Call dump_reader_status only
246
2004-07-01 Werner Koch <wk@gnupg.org>
248
* sc-investigate.c: Initialize Pth which is now required.
249
(interactive_shell): New command "readpk".
251
* app-openpgp.c (do_getattr): Fix for sending CA-FPR.
253
2004-06-30 Werner Koch <wk@gnupg.org>
255
* app-openpgp.c (app_openpgp_readkey): Fixed check for valid
258
2004-06-18 Werner Koch <wk@g10code.com>
260
* sc-investigate.c (my_read_line): Renamed from read_line.
262
2004-06-16 Werner Koch <wk@gnupg.org>
264
* apdu.c (osc_get_status): Fixed type in function name. Noted by
265
Axel Thimm. Yes, I didn't tested it with OpenSC :-(.
267
2004-04-28 Werner Koch <wk@gnupg.org>
269
* app-openpgp.c (do_setattr): Sync FORCE_CHV1.
271
2004-04-27 Werner Koch <wk@gnupg.org>
273
* app-common.h: Do not include ksba.h for gnupg 1.
275
2004-04-26 Werner Koch <wk@gnupg.org>
277
* app-common.h: New members FNC.DEINIT and APP_LOCAL.
278
* app.c (release_application): Call new deconstructor.
279
* app-openpgp.c (do_deinit): New.
280
(get_cached_data, flush_cache_item, flush_cache_after_error)
282
(get_one_do): Replaced arg SLOT by APP. Make used of cached data.
283
(verify_chv2, verify_chv3): Flush some cache item after error.
284
(do_change_pin): Ditto.
286
(do_setattr): Flush cache item.
287
(do_genkey): Flush the entire cache.
288
(compare_fingerprint): Use cached data.
290
* scdaemon.c (main): Do the last change the usual way. This is so
291
that we can easily test for versioned config files above.
293
2004-04-26 Marcus Brinkmann <marcus@g10code.de>
295
* scdaemon.c (main): For now, always print default filename for
296
--gpgconf-list, and never /dev/null.
298
2004-04-21 Werner Koch <wk@gnupg.org>
300
* command.c (scd_update_reader_status_file): Send a signal back to
302
(option_handler): Parse the new event-signal option.
304
* scdaemon.c (handle_signal): Do not use SIGUSR{1,2} anymore for
305
changing the verbosity.
307
2004-04-20 Werner Koch <wk@gnupg.org>
309
* command.c (scd_update_reader_status_file): Write status files.
311
* app-help.c (app_help_read_length_of_cert): Fixed calculation of
314
* pcsc-wrapper.c: New.
315
* Makefile.am (pkglib_PROGRAMS): Install it here.
316
* apdu.c (writen, readn): New.
317
(open_pcsc_reader, pcsc_send_apdu, close_pcsc_reader): Use the
318
pcsc-wrapper if we are using Pth.
319
(apdu_send_le): Reinitialize RESULTLEN. Handle SW_EOF_REACHED
322
2004-04-19 Werner Koch <wk@gnupg.org>
324
* ccid-driver.c (parse_ccid_descriptor): Store some of the reader
325
features away. New arg HANDLE
326
(read_device_info): New arg HANDLE. Changed caller.
327
(bulk_in): Handle time extension requests.
328
(ccid_get_atr): Setup parameters and the IFSD.
329
(compute_edc): New. Factored out code.
330
(ccid_transceive): Use default NADs when required.
332
2004-04-14 Werner Koch <wk@gnupg.org>
334
* scdaemon.h (server_control_s): Add member READER_SLOT.
335
* scdaemon.c (scd_init_default_ctrl): Initialize READER_SLOT to -1.
336
* command.c (open_card): Reuse an open slot.
337
(reset_notify): Just reset the slot if supported by the reader.
338
(do_reset): Factored code from above out.
339
(scd_command_handler): Use it for cleanup.
341
* apdu.h: New pseudo stati SW_HOST_NOT_SUPPORTED,
342
SW_HOST_LOCKING_FAILED and SW_HOST_BUSY.
343
* iso7816.c (map_sw): Map it.
345
* ccid-driver.c (ccid_slot_status): Add arg STATUSBITS.
346
* apdu.c (apdu_get_status): New.
347
(ct_get_status, pcsc_get_status, ocsc_get_status): New stubs.
348
(get_status_ccid): New.
350
(reset_ct_reader, reset_pcsc_reader, reset_osc_reader): New stubs.
351
(reset_ccid_reader): New.
352
(apdu_enum_reader): New.
354
* apdu.c (lock_slot, trylock_slot, unlock_slot): New helpers.
355
(new_reader_slot) [USE_GNU_PTH]: Init mutex.
356
(apdu_reset, apdu_get_status, apdu_send_le): Run functions
359
* command.c (scd_update_reader_status_file): New.
360
* scdaemon.c (handle_tick): Call it.
362
2004-04-13 Werner Koch <wk@gnupg.org>
364
* scdaemon.c: Convert to a Pth application.
365
(handle_signal, ticker_thread, handle_tick): New.
366
(main): Fire up the ticker thread in server mode.
368
2004-03-23 Werner Koch <wk@gnupg.org>
370
* scdaemon.c (main) <gpgconf_list>: Fixed output for pcsc_driver.
372
2004-03-17 Werner Koch <wk@gnupg.org>
374
* tlv.c (parse_ber_header): Do not check for tag overflow - it
375
does not make sense. Simplified the check for length overflow.
377
* scdaemon.c (main) <gpgconf>: Fixed default value quoting.
379
2004-03-16 Werner Koch <wk@gnupg.org>
381
* app-dinsig.c: Implemented. Based on app-nks.c and card-dinsig.c
382
* app-nks.c (get_length_of_cert): Removed.
384
(app_help_read_length_of_cert): New. Code taken from above. New
385
optional arg R_CERTOFF.
387
* card-dinsig.c: Removed.
388
* card.c (card_get_serial_and_stamp): Do not bind to the old and
389
never finsiged card-dinsig.c.
391
* iso7816.c (iso7816_read_binary): Allow for an NMAX > 254.
393
2004-03-11 Werner Koch <wk@gnupg.org>
395
* scdaemon.h (out_of_core): Removed. Replaced callers by standard
398
* apdu.c, iso7816.c, ccid-driver.c [GNUPG_SCD_MAIN_HEADER]: Allow
399
to include a header defined by the compiler. This helps us to
400
reuse the source in other software.
402
2004-03-10 Werner Koch <wk@gnupg.org>
404
* iso7816.c (iso7816_read_record): New arg SHORT_EF. Changed all
407
2004-02-18 Werner Koch <wk@gnupg.org>
409
* sc-investigate.c (main): Setup the used character set.
410
* scdaemon.c (main): Ditto.
412
* scdaemon.c (set_debug): New. Add option --debug-level.
413
(main): Add option --gpgconf-list.
415
2004-02-12 Werner Koch <wk@gnupg.org>
417
* Makefile.am: Include cmacros.am for common flags.
419
2004-01-29 Werner Koch <wk@gnupg.org>
421
* command.c (reset_notify): Release the application context and
424
2004-01-28 Werner Koch <wk@gnupg.org>
426
* iso7816.c (iso7816_manage_security_env): New.
427
(iso7816_decipher): Add PADIND argument.
429
2004-01-27 Werner Koch <wk@gnupg.org>
431
* command.c (cmd_readcert, cmd_readkey): Work on a copy of LINE.
433
* app-common.h (app_ctx_s): Added readcert field.
434
* app.c (app_readcert): New.
435
* tlv.c (parse_ber_header): Added; taken from libksba.
437
2004-01-26 Werner Koch <wk@gnupg.org>
439
* card.c (map_sc_err): Use SCD as the error source.
441
* command.c (open_card): ADD arg NAME to allow requesting a
442
specific application. Changed all callers.
443
(cmd_serialno): Allow optional argument to select the desired
448
* scdaemon.h (opt): Add READER_PORT.
449
* scdaemon.c (main): Set it here.
450
* app.c (app_set_default_reader_port): Removed.
451
(select_application): Add NAME arg and figure out a
452
default serial number from the GDO. Add SLOT arg and remove all
454
(release_application): New.
455
(app_write_learn_status): Output an APPTYPE status line.
456
* command.c (open_card): Adapt for select_application change.
457
* app-openpgp.c (app_select_openpgp): Removed SN and SNLEN args
458
and set it directly. Changed all callers.
460
2004-01-25 Werner Koch <wk@gnupg.org>
462
* iso7816.c (iso7816_select_application): P1 kludge for OpenPGP
464
* app-openpgp.c (find_tlv): Factor out this function to ..
465
* tlv.c, tlv.h: .. new.
467
* scdaemon.h: Introduced app_t and ctrl_t as the new types for APP
470
2004-01-21 Werner Koch <wk@gnupg.org>
472
* apdu.c (apdu_send_le): Treat SW_EOF_REACHED as a warning.
474
2004-01-20 Werner Koch <wk@gnupg.org>
476
* iso7816.c (iso7816_read_binary): New.
477
(iso7816_select_file): New.
478
(iso7816_list_directory): New.
480
* sc-investigate.c: Add option -i.
481
(select_app, read_line, interactive_shell): New.
483
2004-01-16 Werner Koch <wk@gnupg.org>
485
* apdu.h: Add SW_FILE_NOT_FOUND.
486
* iso7816.c (map_sw): Map it to GPG_ERR_ENOENT.
487
* iso7816.c (iso7816_select_file): New.
489
* app-dinsig.c: New file w/o any real code yet.
490
* Makefile.am (scdaemon_SOURCES,sc_investigate_SOURCES): Add file.
492
* sc-investigate.c: Add option --disable-ccid.
494
2003-12-19 Werner Koch <wk@gnupg.org>
496
* apdu.c (apdu_send_le): Send a get_response with the indicated
497
length and not the 64 bytes we used for testing.
499
* app-openpgp.c (verify_chv2, verify_chv3, do_sign): Check the
500
minimum length of the passphrase, so that we don't need to
501
decrement the retry counter.
503
2003-12-17 Werner Koch <wk@gnupg.org>
505
* card-p15.c (p15_enum_keypairs): Replaced KRC by RC.
506
* card-dinsig.c (dinsig_enum_keypairs): Ditto.
508
2003-12-16 Werner Koch <wk@gnupg.org>
510
* scdaemon.c (main): Set the prefixes for assuan logging.
512
2003-11-17 Werner Koch <wk@gnupg.org>
514
* scdaemon.c, scdaemon.h: New options --allow-admin and --deny-admin.
515
* app-openpgp.c (verify_chv3): Check it here.
517
2003-11-12 Werner Koch <wk@gnupg.org>
519
Adjusted for API changes in Libksba.
521
2003-10-30 Werner Koch <wk@gnupg.org>
523
* apdu.c (close_ct_reader, close_pcsc_reader): Implemented.
524
(get_ccid_error_string): New. Not very useful messages, though.
526
2003-10-25 Werner Koch <wk@gnupg.org>
528
* ccid-driver.c (ccid_open_reader): Return an error if no USB
531
* command.c (cmd_genkey, cmd_passwd): Fixed faulty use of
534
* apdu.c (apdu_open_reader): Hacks for PC/SC under Windows.
536
2003-10-20 Werner Koch <wk@gnupg.org>
538
* command.c (cmd_checkpin): New.
539
(register_commands): Add command CHECKPIN.
540
* app.c (app_check_pin): New.
541
* app-openpgp.c (check_against_given_fingerprint): New. Factored
542
out that code elsewhere.
545
2003-10-10 Werner Koch <wk@gnupg.org>
547
* ccid-driver.c (ccid_close_reader): New.
549
* apdu.c (close_ccid_reader, close_ct_reader, close_csc_reader)
550
(close_osc_reader, apdu_close_reader): New. Not all are properly
553
2003-10-09 Werner Koch <wk@gnupg.org>
555
* ccid-driver.c (ccid_transceive): Add T=1 chaining for sending.
557
2003-10-08 Werner Koch <wk@gnupg.org>
559
* app-openpgp.c (do_getattr): Support SERIALNO and AID.
561
2003-10-01 Werner Koch <wk@gnupg.org>
563
* ccid-driver.c: Detect GnuPG 1.3 and include appropriate files.
565
* app-openpgp.c: Ditto.
567
(generate_keypair): Renamed to ..
568
(do_generate_keypair): .. this.
569
* app-common.h [GNUPG_MAJOR_VERSION]: New.
570
* iso7816.h [GNUPG_MAJOR_VERSION]: Include cardglue.h
572
2003-09-30 Werner Koch <wk@gnupg.org>
574
* command.c (cmd_getattr): New command GETATTR.
575
* app.c (app_setattr): New.
577
(do_learn_status): Reimplemented in terms of do_getattr.
579
* app-openpgp.c (do_change_pin): Make sure CVH1 and CHV2 are
581
(verify_chv2, verify_chv3): New. Factored out common code.
582
(do_setattr, do_sign, do_auth, do_decipher): Change the names of
583
the prompts to match that we have only 2 different PINs.
584
(app_select_openpgp): Check whether the card enforced CHV1.
585
(convert_sig_counter_value): New. Factor out code from
588
2003-09-28 Werner Koch <wk@gnupg.org>
590
* app-openpgp.c (dump_all_do): Use gpg_err_code and not gpg_error.
592
2003-09-19 Werner Koch <wk@gnupg.org>
594
* ccid-driver.c (parse_ccid_descriptor): New.
595
(read_device_info): New.
596
(ccid_open_reader): Check that the device has all required features.
598
2003-09-06 Werner Koch <wk@gnupg.org>
600
* scdaemon.c (main): --pcsc-driver again defaults to pcsclite.
601
David Corcoran was so kind to remove the GPL incompatible
602
advertisng clause from pcsclite.
603
* apdu.c (apdu_open_reader): Actually make pcsc-driver option work.
605
2003-09-05 Werner Koch <wk@gnupg.org>
607
* ccid-driver.c: More work, data can now actually be retrieved.
608
* ccid-driver.c, ccid-driver.h: Alternativley allow use under BSD
611
2003-09-02 Werner Koch <wk@gnupg.org>
613
* scdaemon.c, scdaemon.h: New option --pcsc-ccid.
614
* ccid-driver.c, ccid-driver.h: New but far from being useful.
615
* Makefile.am: Add above.
616
* apdu.c: Add support for that ccid driver.
618
2003-08-26 Timo Schulz <twoaday@freakmail.de>
620
* apdu.c (new_reader_slot): Only set 'is_osc' when OpenSC
623
2003-08-25 Werner Koch <wk@gnupg.org>
625
* command.c (cmd_setattr): Use a copy of LINE.
626
(cmd_genkey): Use a copy of KEYNO.
627
(cmd_passwd): Use a copy of CHVNOSTR.
628
(cmd_pksign, cmd_pkauth, cmd_pkdecrypt): s/strdup/xtrystrdup/.
630
2003-08-19 Werner Koch <wk@gnupg.org>
632
* scdaemon.c, scdaemon.h: New option --pcsc-driver.
633
* apdu.c (apdu_open_reader): Use that option here instead of a
636
2003-08-18 Werner Koch <wk@gnupg.org>
638
* Makefile.am: Add OPENSC_LIBS to all programs.
640
* scdaemon.c, scdaemon.h: New option --disable-opensc.
641
* card.c (card_open): Implement it.
642
* apdu.c (open_osc_reader, osc_send_apdu): New.
643
(apdu_open_reader) [HAVE_OPENSC]: Use the opensc driver if not
645
(error_string) [HAVE_OPENSC]: Use sc_strerror.
646
(send_apdu) [HAVE_OPENSC]: Call osc_apdu_send.
648
* card-p15.c (p15_enum_keypairs, p15_prepare_key): Adjusted for
651
2003-08-14 Timo Schulz <twoaday@freakmail.de>
653
* apdu.c (ct_activate_card): Change the code a little to avoid
654
problems with other readers.
655
* Always use 'dynload.h' instead of 'dlfcn.h'.
657
2003-08-05 Werner Koch <wk@gnupg.org>
659
* app-openpgp.c (dump_all_do): Don't analyze constructed DOs after
662
2003-08-04 Werner Koch <wk@gnupg.org>
664
* app.c (app_set_default_reader_port): New.
665
(select_application): Use it here.
666
* scdaemon.c (main): and here.
667
* sc-copykeys.c: --reader-port does now take a string.
668
* sc-investigate.c, scdaemon.c: Ditto.
669
* apdu.c (apdu_open_reader): Ditto. Load pcsclite if no ctapi
670
driver is configured. Always include code for ctapi.
671
(new_reader_slot): Don't test for already used ports and remove
673
(open_pcsc_reader, pcsc_send_apdu, pcsc_error_string): New.
674
(apdu_send_le): Changed RC to long to cope with PC/SC.
676
* scdaemon.c, scdaemon.h: New option --ctapi-driver.
677
* sc-investigate.c, sc-copykeys.c: Ditto.
679
2003-07-31 Werner Koch <wk@gnupg.org>
681
* Makefile.am (scdaemon_LDADD): Added INTLLIBS.
683
2003-07-28 Werner Koch <wk@gnupg.org>
685
* app-openpgp.c (do_setattr): Change implementation. Allow all
688
2003-07-27 Werner Koch <wk@gnupg.org>
690
Adjusted for gcry_mpi_print and gcry_mpi_scan API change.
692
2003-07-24 Werner Koch <wk@gnupg.org>
694
* app-openpgp.c (do_learn_status): Print more status information.
695
(app_select_openpgp): Store the card version.
696
(store_fpr): Add argument card_version and fix DOs for old cards.
697
(app_openpgp_storekey): Likewise.
699
2003-07-23 Werner Koch <wk@gnupg.org>
701
* command.c (cmd_pkauth): New.
702
(cmd_setdata): Check whether data was given at all to avoid
705
* app.c (app_auth): New.
706
* app-openpgp.c (do_auth): New.
708
2003-07-22 Werner Koch <wk@gnupg.org>
710
* command.c (cmd_passwd): New.
711
* app.c (app_change_pin): New.
712
* app-openpgp.c (do_change_pin): New.
713
* iso7816.c (iso7816_reset_retry_counter): Implemented.
715
* sc-investigate.c (main): New option --gen-random.
716
* iso7816.c (iso7816_get_challenge): Don't create APDUs with a
717
length larger than 255.
719
2003-07-17 Werner Koch <wk@gnupg.org>
721
* command.c (cmd_random): New command RANDOM.
723
* iso7816.c (map_sw): New. Use it in this file to return
724
meaningful error messages. Changed all public fucntions to return
726
(iso7816_change_reference_data): New.
727
* apdu.c (apdu_open_reader): Use faked status words for soem
730
2003-07-16 Werner Koch <wk@gnupg.org>
732
* apdu.c (apdu_send_simple): Use apdu_send_le so that we can
733
specify not to send Le as it should be.
735
2003-07-15 Werner Koch <wk@gnupg.org>
737
* Makefile.am: Add sc-copykeys program.
738
* sc-copykeys.c: New.
739
* app-openpgp.c (app_openpgp_storekey): New.
740
(app_openpgp_cardinfo): New.
742
(store_fpr): And use it here to get the actual length in bit.
744
2003-07-03 Werner Koch <wk@gnupg.org>
746
* app-openpgp.c (do_setattr): Add setting of the URL.
747
(app_select_openpgp): Dump card data only in very verbose mode.
750
2003-07-02 Werner Koch <wk@gnupg.org>
752
* app-openpgp.c (get_sig_counter): New.
753
(do_sign): Print the signature counter and enable the PIN callback.
754
(do_genkey): Implement the PIN callback.
756
2003-07-01 Werner Koch <wk@gnupg.org>
758
* app-openpgp.c (store_fpr): Fixed fingerprint calculation.
760
2003-06-26 Werner Koch <wk@gnupg.org>
762
* app-openpgp.c (find_tlv): Fixed length header parsing.
764
* app.c (app_genkey): New.
765
* command.c (cmd_genkey): New.
767
2003-06-25 Werner Koch <wk@gnupg.org>
769
* command.c (percent_plus_unescape): New.
772
2003-06-24 Werner Koch <wk@gnupg.org>
774
* command.c (send_status_info): New.
776
* app-openpgp.c (app_select_openpgp): Replace SLOT arg by APP arg
777
and setup the function pointers in APP on success. Changed callers.
780
* scdaemon.h (APP): New type to handle applications.
781
(server_control_s): Add an APP context field.
783
* command.c (cmd_serialno): Handle applications.
785
(cmd_pkdecrypt): Ditto.
786
(reset_notify): Ditto.
787
(cmd_learn): For now return error for application contexts.
788
(cmd_readcert): Ditto.
789
(cmd_readkey): Ditto.
791
2003-06-04 Werner Koch <wk@gnupg.org>
793
* card.c (map_sc_err): Renamed gpg_make_err to gpg_err_make.
795
Renamed error codes from INVALID to INV and removed _ERROR suffixes.
797
2003-06-03 Werner Koch <wk@gnupg.org>
799
Changed all error codes in all files to the new libgpg-error scheme.
801
* scdaemon.h: Include gpg-error.h and errno.h
802
* card.c (map_sc_err): Use unknown for the error source.
803
* Makefile.am: Link with libgpg-error
805
2003-05-14 Werner Koch <wk@gnupg.org>
808
* sc-investigate.c: Dump the ATR in a human readable format.
810
2003-05-08 Werner Koch <wk@gnupg.org>
812
* scdaemon.h (DBG_CARD_IO_VALUE): New.
814
* sc-investigate.c: New.
815
* scdaemon.c (main): Removed --print-atr option.
817
* iso7816.c, iso7816.h, app-openpgp.c: New.
819
2003-04-29 Werner Koch <wk@gnupg.org>
821
* scdaemon.c: New options --print-atr and --reader-port
822
* apdu.c, apdu.h: New
824
* card.c, card-p15.c, card-dinsig.c: Allow build without OpenSC.
826
* Makefile.am (LDFLAGS): Removed.
828
* command.c (register_commands): Adjusted for new Assuan semantics.
830
2002-08-21 Werner Koch <wk@gnupg.org>
832
* scdaemon.c (main): New option --daemon so that the program is
833
not accidently started in the background.
835
2002-08-16 Werner Koch <wk@gnupg.org>
837
* scdaemon.c: Include i18n.h.
839
* card-common.h (struct p15_private_s): Forward declaration. Add
841
* card.c (card_close): Make sure private data is released.
842
(card_enum_certs): New.
843
* card-p15.c (p15_release_private_data): New.
844
(init_private_data): New to work around an OpenSC weirdness.
845
(p15_enum_keypairs): Do an OpenSC get_objects only once.
846
(p15_enum_certs): New.
847
(card_p15_bind): Bind new function.
848
* command.c (cmd_learn): Return information about the certificates.
850
2002-08-09 Werner Koch <wk@gnupg.org>
852
* card.c (card_get_serial_and_stamp): Use the tokeinfo serial
853
number as a fallback. Add a special prefix for serial numbers.
855
2002-07-30 Werner Koch <wk@gnupg.org>
857
Changes to cope with OpenSC 0.7.0:
859
* card.c: Removed the check for the packed opensc version.
860
Changed include file names of opensc.
861
(map_sc_err): Adjusted error codes for new opensc version.
862
* card-p15.c: Changed include filename of opensc.
863
* card-dinsig.c: Ditto.
865
* card-p15.c (p15_decipher): Add flags argument to OpenSC call.
867
2002-07-24 Werner Koch <wk@gnupg.org>
869
* card.c (find_simple_tlv, find_iccsn): New.
870
(card_get_serial_and_stamp): Improved serial number parser.
872
2002-06-27 Werner Koch <wk@gnupg.org>
874
* scdaemon.c (main): Use GNUPG_DEFAULT_HOMEDIR constant.
876
2002-06-15 Werner Koch <wk@gnupg.org>
878
* card-dinsig.c: Documented some stuff from the DIN norm.
880
2002-04-15 Werner Koch <wk@gnupg.org>
882
* command.c (cmd_pksign, cmd_pkdecrypt): Use a copy of the key ID.
884
2002-04-12 Werner Koch <wk@gnupg.org>
886
* scdaemon.c: New option --debug-sc N.
887
* card.c (card_open): set it here.
889
* card-p15.c (p15_prepare_key): Factored out common code from ...
890
(p15_sign, p15_decipher): here and made the decryption work the
893
2002-04-10 Werner Koch <wk@gnupg.org>
895
* card.c (card_open): Return immediately when no reader is available.
897
2002-03-27 Werner Koch <wk@gnupg.org>
899
* card.c (card_open, card_close): Adjusted for changes in OpenSC.
901
2002-03-10 Werner Koch <wk@gnupg.org>
903
* card-p15.c, card-dinsig.c, card-common.h: New.
904
* card.c: Factored most code out to the new modules, so that we
905
can better support different types of card applications.
907
2002-01-26 Werner Koch <wk@gnupg.org>
909
* scdaemon.c scdaemon.h, command.c: New. Based on the code from
912
Copyright 2002 Free Software Foundation, Inc.
914
This file is free software; as a special exception the author gives
915
unlimited permission to copy and/or distribute it, with or without
916
modifications, as long as this notice is preserved.
918
This file is distributed in the hope that it will be useful, but
919
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
920
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.