dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/aram-applet/+/39614?usp=email )
Change subject: AccessRuleMaster: use contants for the command bytes ......................................................................
AccessRuleMaster: use contants 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(-)
git pull ssh://gerrit.osmocom.org:29418/aram-applet refs/changes/14/39614/1
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();