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();
--
To view, visit
https://gerrit.osmocom.org/c/aram-applet/+/39614?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: aram-applet
Gerrit-Branch: master
Gerrit-Change-Id: Ia3ccb511886b7da9a3a8e4ab7c89af3ab99c0abf
Gerrit-Change-Number: 39614
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>