dexter has submitted this change. ( https://gerrit.osmocom.org/c/aram-applet/+/39614?usp=email )
Change subject: AccessRuleMaster: use constants for the command bytes ......................................................................
AccessRuleMaster: use constants for the command bytes
The command bytes (0xF0, b0xF1, 0xF2) only appear as magic numbers in the code. Let's use constants, so that it is clear what those bytes mean and where they come from.
Related: SYS#7245 Change-Id: Ia3ccb511886b7da9a3a8e4ab7c89af3ab99c0abf --- M aram/src/main/java/fr/bmartel/aram/AccessRuleMaster.java 1 file changed, 9 insertions(+), 7 deletions(-)
Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved Jenkins Builder: Verified
diff --git a/aram/src/main/java/fr/bmartel/aram/AccessRuleMaster.java b/aram/src/main/java/fr/bmartel/aram/AccessRuleMaster.java index a89e51e..bdce9c3 100644 --- a/aram/src/main/java/fr/bmartel/aram/AccessRuleMaster.java +++ b/aram/src/main/java/fr/bmartel/aram/AccessRuleMaster.java @@ -43,6 +43,11 @@ public final static short SIZE_HASH = 32; public final static short SIZE_RULE = (short) (2 + (20 * 8));
+ /* see also: GPD_SPE_013, Table B-1 */ + public final static byte COMMAND_STORE_REF_AR_DO = (byte) 0xF0; + public final static byte COMMAND_DELETE = (byte) 0xF1; + public final static byte COMMAND_UPDATE_REFRESH_TAG = (byte) 0xF2; + /** * APDU data size. */ @@ -280,14 +285,11 @@
short ofs = ISO7816.OFFSET_CDATA;
- if (buf[ofs] == (byte) 0xF0) { - //Command-Store-AR-DO + if (buf[ofs] == AccessRuleMaster.COMMAND_STORE_REF_AR_DO) { storeArDo(buf); - } else if (buf[ofs] == (byte) 0xF1) { - //Command-Delete-AR-DO + } else if (buf[ofs] == AccessRuleMaster.COMMAND_DELETE) { deleteArDo(buf); - } else if (buf[ofs] == (byte) 0xF2) { - //Command-UpdateRefreshTag-DO + } else if (buf[ofs] == AccessRuleMaster.COMMAND_UPDATE_REFRESH_TAG) { updateRefreshTag(); } else { ISOException.throwIt(ISO7816.SW_DATA_INVALID); @@ -327,7 +329,7 @@
short ofs = ISO7816.OFFSET_CDATA;
- checkTLV(buf, ofs, (byte) 0xF1, (short) (6 + AccessRuleMaster.SIZE_AID + AccessRuleMaster.SIZE_HASH + AccessRuleMaster.SIZE_RULE)); + checkTLV(buf, ofs, AccessRuleMaster.COMMAND_DELETE, (short) (6 + AccessRuleMaster.SIZE_AID + AccessRuleMaster.SIZE_HASH + AccessRuleMaster.SIZE_RULE)); if (buf[(short) (ofs + 1)] == 0) { //delete all rules if length == 0 RuleEntry.deleteAll();