small refactoring 504/head
authormerlokk <olegmsn@gmail.com>
Mon, 4 Dec 2017 20:20:29 +0000 (22:20 +0200)
committermerlokk <olegmsn@gmail.com>
Mon, 4 Dec 2017 20:20:29 +0000 (22:20 +0200)
client/emv/cmdemv.c
client/emv/emv_tags.c
client/emv/emv_tags.h
client/emv/emvcore.h

index 268d9e630d61d7e3669fa4e15706081fe8b6c7ac..92ae01f944c88a2fabcec2d35c361941e1d7fe04 100644 (file)
@@ -322,7 +322,7 @@ int CmdHFEMVExec(const char *cmd) {
                        switch (param_getchar_indx(cmd, 1, cmdp)) {
                                case 'h':
                                case 'H':
-                                       UsageCmdHFEMVPPSE();
+                                       UsageCmdHFEMVExec();
                                        return 0;
                                case 's':
                                case 'S':
index 80b4c29da8e8821438acf8a3d7fc42225e9b86f7..25ad9658509e855f61f1e33c195c8b4f684c4e74 100644 (file)
@@ -483,20 +483,20 @@ static void emv_tag_dump_cid(const struct tlv *tlv, const struct emv_tag *tag, F
        }
        
        PRINT_INDENT(level);
-       if ((tlv->value[0] & 0xC0) == 0x00)     fprintf(f, "\tAC1: AAC (Transaction declined)\n");
-       if ((tlv->value[0] & 0xC0) == 0x40)     fprintf(f, "\tAC1: TC (Transaction approved)\n");
-       if ((tlv->value[0] & 0xC0) == 0x80)     fprintf(f, "\tAC1: ARQC (Online authorisation requested)\n");
-       if ((tlv->value[0] & 0xC0) == 0xC0)     fprintf(f, "\tAC1: RFU\n");
+       if ((tlv->value[0] & EMVAC_AC_MASK) == EMVAC_AAC)               fprintf(f, "\tAC1: AAC (Transaction declined)\n");
+       if ((tlv->value[0] & EMVAC_AC_MASK) == EMVAC_TC)                fprintf(f, "\tAC1: TC (Transaction approved)\n");
+       if ((tlv->value[0] & EMVAC_AC_MASK) == EMVAC_ARQC)              fprintf(f, "\tAC1: ARQC (Online authorisation requested)\n");
+       if ((tlv->value[0] & EMVAC_AC_MASK) == EMVAC_AC_MASK)   fprintf(f, "\tAC1: RFU\n");
 
-       if ((tlv->value[0] & 0x08) != 0x00) {
+       if (tlv->value[0] & EMVCID_ADVICE) {
                PRINT_INDENT(level);
                fprintf(f, "\tAdvice required!\n");
        }
 
-       if ((tlv->value[0] & 0x07) != 0x00) {
+       if (tlv->value[0] & EMVCID_REASON_MASK) {
                PRINT_INDENT(level);
                fprintf(f, "\tReason/advice/referral code: ");
-               switch((tlv->value[0] & 0x07)) {
+               switch((tlv->value[0] & EMVCID_REASON_MASK)) {
                        case 0:
                                fprintf(f, "No information given\n");
                                break;
@@ -510,7 +510,7 @@ static void emv_tag_dump_cid(const struct tlv *tlv, const struct emv_tag *tag, F
                                fprintf(f, "Issuer authentication failed\n");
                                break;
                        default:
-                               fprintf(f, "\tRFU: %2x\n", (tlv->value[0] & 0x07));
+                               fprintf(f, "\tRFU: %2x\n", (tlv->value[0] & EMVCID_REASON_MASK));
                                break;
                }
        }
index 8dbd9e00a92cb29e1266260dde1ca8835f8466a6..f6d44f0150c989c5b71b1650a026997b5df0fa4b 100644 (file)
 #include "tlv.h"
 #include <stdio.h>
 
+// AC
+# define EMVAC_AC_MASK   0xC0
+# define EMVAC_AAC       0x00
+# define EMVAC_TC        0x40
+# define EMVAC_ARQC      0x80
+# define EMVAC_CDAREQ    0x10
+
+// CID
+# define EMVCID_ADVICE       0x08
+# define EMVCID_REASON_MASK  0x07
+
 bool emv_tag_dump(const struct tlv *tlv, FILE *f, int level);
 
 #endif
index 94c5d9b02ca625c345fee6e0332377ba7bfe9097..7df5885025b8a3681ac9874a467ec06d75a19b28 100644 (file)
 #define APDU_RES_LEN 260
 #define APDU_AID_LEN 50
 
-// AC
-# define EMVAC_AC_MASK 0xC0
-# define EMVAC_AAC     0x00
-# define EMVAC_TC      0x40
-# define EMVAC_ARQC    0x80
-# define EMVAC_CDAREQ  0x10
-
 enum TransactionType {
        TT_MSD,
        TT_VSDC,        // not standart for contactless!!!!
Impressum, Datenschutz