if ( cmdsize > 3)
snprintf(exp,size,"AUTH-A(%d)",cmd[1]);
else
- // case MIFARE_ULEV1_VERS : both 0x60.
+ // case MIFARE_ULEV1_VERSION : both 0x60.
snprintf(exp,size,"EV1 VERSION");
break;
}
case MIFARE_ULC_AUTH_1 : snprintf(exp,size,"AUTH "); break;
case MIFARE_ULC_AUTH_2 : snprintf(exp,size,"AUTH_ANSW"); break;
case MIFARE_ULEV1_AUTH : snprintf(exp,size,"PWD-AUTH"); break;
-
- case MIFARE_ULEV1_FASTREAD : snprintf(exp,size,"READ RANGE (%d-%d)",cmd[1],cmd[2]); break;
- case MIFARE_ULEV1_WRITE : snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break;
- case MIFARE_ULEV1_READ_CNT : snprintf(exp,size,"READ CNT(%d)",cmd[1]); break;
- case MIFARE_ULEV1_INCR_CNT : snprintf(exp,size,"INC(%d)",cmd[1]); break;
+ case MIFARE_ULEV1_FASTREAD : {
+ if ( cmdsize >=3 && cmd[2] < 0x21)
+ snprintf(exp,size,"READ RANGE (%d-%d)",cmd[1],cmd[2]);
+ else
+ snprintf(exp,size,"?");
+ break;
+ }
+ case MIFARE_ULC_WRITE : {
+ if ( cmd[1] < 0x21 )
+ snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]);
+ else
+ snprintf(exp,size,"?");
+ break;
+ }
+ case MIFARE_ULEV1_READ_CNT :{
+ if ( cmd[1] < 5 )
+ snprintf(exp,size,"READ CNT(%d)",cmd[1]);
+ else
+ snprintf(exp,size,"?");
+ break;
+ }
+ case MIFARE_ULEV1_INCR_CNT : {
+ if ( cmd[1] < 5 )
+ snprintf(exp,size,"INCR(%d)",cmd[1]);
+ else
+ snprintf(exp,size,"?");
+ break;
+ }
case MIFARE_ULEV1_READSIG : snprintf(exp,size,"READ_SIG"); break;
case MIFARE_ULEV1_CHECKTEAR : snprintf(exp,size,"CHK_TEARING(%d)",cmd[1]); break;
case MIFARE_ULEV1_VCSL : snprintf(exp,size,"VCSL"); break;
-
default: snprintf(exp,size,"?"); break;
}
return;
ComputeCrc14443(CRC_14443_B, data, len-2, &b1, &b2);
if(b1 != data[len-2] || b2 != data[len-1]) {
return 0;
- } else {
- return 1;
}
+ return 1;
}
/**