Werner Koch
8b07012f60
scd: Fix for card change returning GPG_ERR_CARD_RESET.
...
* scd/apdu.c (apdu_connect): Do not test for zero atrlen.
--
When gpg-agent prompts for insertion of a card this error would be
returned.
Co-authored-by: Ben Kibbey <bjk@luxsci.net>
2012-06-25 10:04:23 +09:00
NIIBE Yutaka
262a3b2336
Merge ccid_driver_improvement branch. (backport)
...
* scd/apdu.c (ccid_keypad_operation): Rename from ccid_keypad_verify.
(open_ccid_reader): Use ccid_keypad_operation for verify and modify.
* scd/ccid-driver.c (VENDOR_VASCO, VASCO_920): New.
(ccid_transceive_apdu_level): Permit sending packet where
apdulen <= 289. Support receiving packets in a chain.
(ccid_transceive_secure): Maximum is 15 for VASCO DIGIPASS 920.
Support keypad_modify method such as CHANGE_REFERENCE_DATA: 0x24.
2012-06-25 10:04:23 +09:00
NIIBE Yutaka
2f90d09902
Add error log and debug log for pcsc_keypad_verify and pcsc_keypad_modify.
...
* scd/apdu.c (pcsc_keypad_verify): Add debug log and error log.
(pcsc_keypad_modify): Likewise.
2012-06-25 10:04:23 +09:00
NIIBE Yutaka
196a60078b
Fix pinpad input support for passphrase modification. (backport)
...
* apdu.c (pcsc_keypad_verify): Have dummy Lc field with value 0.
(pcsc_keypad_modify): Likewise.
(pcsc_keypad_modify): It's only for ISO7816_CHANGE_REFERENCE_DATA.
bConfirmPIN value is determined by the parameter p0.
* app-openpgp.c (do_change_pin): The flag use_keypad should be 0 when
reset_mode is on, or resetcode is on. use_keypad only makes sense for
iso7816_change_reference_data_kp.
* iso7816.h (iso7816_put_data_kp): Remove.
(iso7816_reset_retry_counter_kp): Remove.
(iso7816_reset_retry_counter_with_rc_kp): Remove.
(iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.
* iso7816.c (iso7816_put_data_kp): Remove.
(iso7816_reset_retry_counter_kp): Remove.
(iso7816_reset_retry_counter_with_rc_kp): Remove.
(iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.
2012-06-25 10:04:23 +09:00
NIIBE Yutaka
f98a5e8480
scd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)
...
* iso7816.h (iso7816_change_reference_data_kp): Remove arguments
of OLDCHV, OLDCHVLEN, NEWCHV, and NEWCHVLEN.
* iso7816.c (iso7816_change_reference_data_kp): Call
apdu_keypad_modify.
(iso7816_change_reference_data): Don't call
iso7816_change_reference_data_kp.
* apdu.h (apdu_keypad_modify): New.
* apdu.c (pcsc_keypad_modify, apdu_keypad_modify): New.
(struct reader_table_s): New memeber function keypad_modify.
(new_reader_slot, open_ct_reader, open_ccid_reader)
(open_rapdu_reader): Initialize keypad_modify.
* app-openpgp.c (do_change_pin): Handle keypad and call
iso7816_change_reference_data_kp if it is the case.
2012-06-25 10:04:22 +09:00
NIIBE Yutaka
c2525d507d
scd: PC/SC pinpad support. (Backported from master.)
...
* iso7816.h (iso7816_verify_kp): Remove arguments of CHV and CHVLEN.
* iso7816.c (iso7816_verify_kp): Call apdu_keypad_verify. Only
handle thecase with PININFO.
(iso7816_verify): Call apdu_send_simple.
* app-openpgp.c (verify_a_chv, verify_chv3): Follow the change of
iso7816_verify_kp.
* app-nks.c (verify_pin): Likewise.
* app-dinsig.c (verify_pin): Likewise.
* apdu.c: Include "iso7816.h".
(struct reader_table_s): New memeber function keypad_verify.
Add fields verify_ioctl and modify_ioctl in pcsc.
(CM_IOCTL_GET_FEATURE_REQUEST, FEATURE_VERIFY_PIN_DIRECT)
(FEATURE_MODIFY_PIN_DIRECT): New.
(pcsc_control): New.
(control_pcsc_direct, control_pcsc_wrapped, control_pcsc)
(check_pcsc_keypad, pcsc_keypad_verify): New.
(ccid_keypad_verify, apdu_keypad_verify): New.
(new_reader_slot): Initialize with check_pcsc_keypad,
pcsc_keypad_verify, verify_ioctl and modify_ioctl.
(open_ct_reader): Initialize keypad_verify with NULL.
(open_ccid_reader): Initialize keypad_verify.
(open_rapdu_reader): Initialize keypad_verify with NULL.
(apdu_open_reader): Initialize pcsc_control.
* pcsc-wrapper.c (load_pcsc_driver): Initialize pcsc_control.
(handle_control): New.
(main): Handle the case 6 of handle_control.
2012-06-25 10:04:22 +09:00
NIIBE Yutaka
03be1a059b
scd fixes on error.
...
* scd/apdu.c (open_pcsc_reader_wrapped): Show error number.
* scd/command.c (get_reader_slot): Return -1 on error.
2012-06-25 10:04:22 +09:00
Werner Koch
1e0a9498fe
Fix detection of card removal and insertion.
...
* scd/apdu.c (apdu_connect): Return status codes for no card available
and inactive card.
* scd/command.c (TEST_CARD_REMOVAL): Also test for GPG_ERR_CARD_RESET.
(open_card): Map apdu_connect status to GPG_ERR_CARD_RESET.
2012-06-25 10:04:22 +09:00
Werner Koch
e306c18624
Removed some set but unused variables.
2011-08-04 12:22:04 +02:00
Werner Koch
830af45ca2
Collected changes
2010-05-03 11:10:49 +00:00
Werner Koch
983f91937c
Fix for extended length Le in decipher
2009-09-03 10:57:23 +00:00
Werner Koch
0792525d22
Make bug reporting address easier changeable.
2009-07-21 14:21:05 +00:00
Werner Koch
e49d808e1f
Add code to better handle unplugging of a reader.
2009-07-16 15:54:59 +00:00
Werner Koch
d0d4931e00
* ccid-driver.c (struct ccid_driver_s): Add fields last_progress,
...
progress_cb and progress_cb_arg.
(ccid_set_progress_cb): New.
(print_progress): New.
(ccid_transceive): Call print_progress for wait time extensions.
* apdu.c (struct reader_table_s): Add field set_progress_cb.
(new_reader_slot): Clear that field.
(open_ccid_reader): Set it to ..
(set_progress_cb_ccid_reader): ... new fucntion.
* app.c (print_progress_line): New.
(lock_reader): Add arg CTRL to set a progress callback and
change all callers to provide it.
(unlock_reader): Remove the progress callback.
2009-07-13 09:59:22 +00:00
Werner Koch
d8d1ca6151
Reworked the estream memory buffer allocation.
...
Committed already posted patches for the v2 card.
2009-06-29 10:43:57 +00:00
Werner Koch
e095815c4d
Make PIN changing code work for v2 cards.
2009-05-20 16:12:25 +00:00
Werner Koch
5e208460a1
Improved smartcard robustness.
2009-05-13 17:12:00 +00:00
Werner Koch
a766a37290
Print keyid in gpg --list-packets.
...
Add some not yet code to app-nks.c
Changed batch mode expiration time computation
2009-05-13 11:42:34 +00:00
Werner Koch
eeca39ae50
More support for Netkey cards.
...
Small changes to teh CCID driver.
Support 2048 bit OpenPGP cards.
2009-05-08 15:07:45 +00:00
Werner Koch
98e1a75e20
Implement decryption for TCOS 3 cards.
2009-03-30 12:46:06 +00:00
Werner Koch
990585ad7d
Signing using Netkey 3 cards does now work.
2009-03-26 19:27:04 +00:00
Werner Koch
588a7c34bb
Make sure not to leak file descriptors if running gpg-agent with a
...
command. Restore the signal mask to solve a problem in Mono.
2009-03-19 07:09:31 +00:00
Werner Koch
618afc4231
Fixed a nasty bug in scdaemon which led to a card reset if the card was
...
inserted during scdaemon startup and a connection was made before the
ticker had a chance to run. Add some stuff for better debugging.
2009-02-25 10:58:56 +00:00
Werner Koch
7784e86a66
Add limited support for NetKey 3.0 cards.
2009-01-08 19:56:30 +00:00
Werner Koch
511c7a89fc
Fix card change detection.
2009-01-05 19:56:52 +00:00
Werner Koch
7bd2e417d1
Fixed some card related problems.
2008-12-18 16:34:28 +00:00
Werner Koch
0a5f742466
Marked all unused args on non-W32 platforms.
2008-10-20 13:53:23 +00:00
Werner Koch
b519a52cea
Made scdaemon more robust on Windows.
2008-10-15 13:23:10 +00:00
Werner Koch
d0ca953014
SCD changes for PC/SC under W32.
2008-10-14 18:18:21 +00:00
Marcus Brinkmann
d62ca1bf4a
2008-09-28 Marcus Brinkmann <marcus@g10code.com>
...
* apdu.c (pcsc_get_status): Fix last change.
2008-09-28 12:48:41 +00:00
Marcus Brinkmann
8368144fa7
Marcus Brinkmann <marcus@g10code.com>
...
* apdu.c (pcsc_get_status): Be more relaxed with the usable flag
under Windows.
M scd/ChangeLog
M scd/apdu.c
2008-09-23 13:04:42 +00:00
Werner Koch
f899b9683b
Support the Certifciate DO of the v2 OpenPGP cards.
2008-09-23 09:57:45 +00:00
Werner Koch
4fa68f839b
Fix APDU buffer problem under MAC OS.
2008-08-11 07:42:25 +00:00
Werner Koch
c850656d28
Applied exact length hack.
2007-08-01 18:25:32 +00:00
Werner Koch
93d3811abc
Changed to GPLv3.
...
Removed intl/.
2007-07-04 19:49:40 +00:00
Werner Koch
0cfbfd6186
A whole bunch of changes to allow building for Windows.
...
See the ChangeLogs for details.
2007-06-14 17:05:07 +00:00
Werner Koch
2c9791db55
First steps towards supporting W32.
...
This is mainly source code reorganization.
Update gnulib.
g10/ does currently not build.
2007-06-06 18:12:30 +00:00
Werner Koch
634b4c31d2
The Cherry XX44 keyboard's PINpad does now work.
...
DINSIG and NKS card applications are now also PIN pad aware.
2007-03-07 20:55:14 +00:00
Werner Koch
252b668814
Preparing 2.0.1
2006-11-28 16:36:02 +00:00
Werner Koch
e50c5f39cc
No more warnings for AMD64 (at least when cross-compiling). Thus tehre is a
...
good chance that gpg2 will now work.
Other cleanups.
Updated gettext.
2006-11-21 11:00:14 +00:00
Werner Koch
5885142c83
Made some PIN pads work.
...
Some cleanups for 64 bit CPUs.
2006-11-20 16:49:41 +00:00
Werner Koch
be410be660
Pth tweaks and improved estream.c
2006-10-17 14:34:42 +00:00
Werner Koch
eef036df23
The big Assuan error code removal.
2006-09-06 16:35:52 +00:00
Werner Koch
c664309a0a
Added command APDU
2006-04-11 13:53:21 +00:00
Werner Koch
89824e5d59
Fixed card removal problems
2006-03-01 11:05:47 +00:00
Werner Koch
496c3b5572
Print warning for missing pcsc-wrapper
2005-12-06 16:44:20 +00:00
Werner Koch
6a13cf2c3d
Preparing an interim release
2005-11-28 11:52:25 +00:00
Werner Koch
1b2f7cbe3b
Basically made Belgian EID cards work.
...
Signature creation has not yet been tested.
Also other changes to better cope with T=0 cards.
2005-09-05 14:36:36 +00:00
Werner Koch
68191d0c93
* keylist.c (email_kludge): Reworked.
...
* certdump.c (gpgsm_print_serial, gpgsm_dump_serial): Cast printf
arg to unsigned.
* call-dirmngr.c (gpgsm_dirmngr_run_command): Ditto
2005-07-20 15:05:05 +00:00
Werner Koch
deeba405a9
gcc-4 defaults forced me to edit many many files to get rid of the
...
char * vs. unsigned char * warnings. The GNU coding standards used to
say that these mismatches are okay and better than a bunch of casts.
Obviously this has changed now.
2005-06-16 08:12:03 +00:00