X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=benchmarks%2Fother%2FPhoneInterface%2FControl%2Fapp%2Fsrc%2Fmain%2Fjava%2Fiotcloud%2FSlot.java;h=740de9c62a95f9e77bf1783255c1b8dcb1d3e07d;hb=0338faeb59c2bea0d1f2165ce8064beec5c9b775;hp=ded02abc018925265cd048a8813c40016e82c4a1;hpb=218a224816bc2ca22079af8e91b4089b46480649;p=iot2.git diff --git a/benchmarks/other/PhoneInterface/Control/app/src/main/java/iotcloud/Slot.java b/benchmarks/other/PhoneInterface/Control/app/src/main/java/iotcloud/Slot.java index ded02ab..740de9c 100644 --- a/benchmarks/other/PhoneInterface/Control/app/src/main/java/iotcloud/Slot.java +++ b/benchmarks/other/PhoneInterface/Control/app/src/main/java/iotcloud/Slot.java @@ -36,7 +36,9 @@ class Slot implements Liveness { /** Reference to Table */ private Table table; - Slot(Table _table, long _seqnum, long _machineid, byte[] _prevhmac, byte[] _hmac) { + private long localSequenceNumber; + + Slot(Table _table, long _seqnum, long _machineid, byte[] _prevhmac, byte[] _hmac, long _localSequenceNumber) { seqnum = _seqnum; machineid = _machineid; prevhmac = _prevhmac; @@ -46,14 +48,15 @@ class Slot implements Liveness { seqnumlive = true; freespace = SLOT_SIZE - getBaseSize(); table = _table; + localSequenceNumber = _localSequenceNumber; } - Slot(Table _table, long _seqnum, long _machineid, byte[] _prevhmac) { - this(_table, _seqnum, _machineid, _prevhmac, null); + Slot(Table _table, long _seqnum, long _machineid, byte[] _prevhmac, long _localSequenceNumber) { + this(_table, _seqnum, _machineid, _prevhmac, null, _localSequenceNumber); } - Slot(Table _table, long _seqnum, long _machineid) { - this(_table, _seqnum, _machineid, new byte[HMAC_SIZE], null); + Slot(Table _table, long _seqnum, long _machineid, long _localSequenceNumber) { + this(_table, _seqnum, _machineid, new byte[HMAC_SIZE], null, _localSequenceNumber); } byte[] getHMAC() { @@ -112,7 +115,7 @@ class Slot implements Liveness { long seqnum = bb.getLong(); long machineid = bb.getLong(); int numentries = bb.getInt(); - Slot slot = new Slot(table, seqnum, machineid, prevhmac, hmac); + Slot slot = new Slot(table, seqnum, machineid, prevhmac, hmac, -1); for (int i = 0; i < numentries; i++) { slot.addShallowEntry(Entry.decode(slot, bb)); @@ -217,6 +220,14 @@ class Slot implements Liveness { return livecount > 0; } + public byte[] getSlotCryptIV() { + ByteBuffer buffer = ByteBuffer.allocate(CloudComm.IV_SIZE); + buffer.putLong(machineid); + long localSequenceNumberShift = localSequenceNumber << 16; + buffer.putLong(localSequenceNumberShift); + return buffer.array(); + } + public String toString() { return "<" + getSequenceNumber() + ">"; }