aboutsummaryrefslogtreecommitdiffstats
path: root/scd/apdu.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2021-02-23 11:56:42 +0000
committerWerner Koch <[email protected]>2021-02-23 11:56:42 +0000
commit33aaa37e5bc0beb75305cdf9d8be850daccaee5e (patch)
tree7ab0774072679e01afd912a513e624fc9884bba9 /scd/apdu.c
parentscd: Fix readkey --info in case a readkey command is available. (diff)
downloadgnupg-33aaa37e5bc0beb75305cdf9d8be850daccaee5e.tar.gz
gnupg-33aaa37e5bc0beb75305cdf9d8be850daccaee5e.zip
scd:p15: Make it code work again for D-Trust cards.
* scd/app-p15.c (select_and_read_binary): Allow to skip the select. (select_and_read_record): Return the statusword. Silence error message for SW_FILE_STRUCT. (select_ef_by_path): Fix selection with a home_DF. (read_first_record): Fallback to read_binary for CardOS and return info about this. (read_ef_prkdf): Use info from read_first_record to decide whether to use record or binary mode. (read_ef_pukdf): Ditto. (read_ef_aodf): Ditto. (read_ef_cdf): Ditto. New arg cdftype for diagnostics. (read_p15_info): Pass cdftype. * scd/apdu.h (SW_FILE_STRUCT): New. * scd/apdu.c (apdu_strerror): Map that one to a string. * scd/iso7816.c (map_sw): and to a gpg-error.
Diffstat (limited to 'scd/apdu.c')
-rw-r--r--scd/apdu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/scd/apdu.c b/scd/apdu.c
index fa0fb7c43..68ad733cb 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -544,6 +544,7 @@ apdu_strerror (int rc)
case SW_WRONG_LENGTH : return "wrong length";
case SW_SM_NOT_SUP : return "secure messaging not supported";
case SW_CC_NOT_SUP : return "command chaining not supported";
+ case SW_FILE_STRUCT : return "command can't be used for file structure.";
case SW_CHV_WRONG : return "CHV wrong";
case SW_CHV_BLOCKED : return "CHV blocked";
case SW_REF_DATA_INV : return "referenced data invalidated";