diff --git a/auth/store/confirmation.go b/auth/store/confirmation.go index 085c09521aa9ce414af3f3eedb73eaa36a472745..a7619fb3bfea265e1790cd0c1dc3cb6d4c5964a9 100644 --- a/auth/store/confirmation.go +++ b/auth/store/confirmation.go @@ -48,8 +48,7 @@ func (s *Store) StoreConfirmation(partner *id.ID, Data: confirmBytes, } - return s.kv.Set(makeConfirmationKey(partner), - currentConfirmationVersion, obj) + return s.kv.Set(makeConfirmationKey(partner), obj) } // LoadConfirmation loads the confirmation for the given partner and fingerprint diff --git a/auth/store/previousNegotiations.go b/auth/store/previousNegotiations.go index 22ab7b3a592a182508925be50b4a9240e29a313b..b96dafc4c48a1974b7821990e375ea5a3c78ea04 100644 --- a/auth/store/previousNegotiations.go +++ b/auth/store/previousNegotiations.go @@ -112,7 +112,7 @@ func (s *Store) savePreviousNegotiations() error { Data: marshalPreviousNegotiations(s.previousNegotiations), } - return s.kv.Set(negotiationPartnersKey, negotiationPartnersVersion, obj) + return s.kv.Set(negotiationPartnersKey, obj) } // newOrLoadPreviousNegotiations loads the list of previousNegotiations partners @@ -188,8 +188,7 @@ func saveNegotiationFingerprints( Data: marshalNegotiationFingerprints(fingerprints...), } - return kv.Set(makeNegotiationFingerprintsKey(partner), - currentNegotiationFingerprintsVersion, obj) + return kv.Set(makeNegotiationFingerprintsKey(partner), obj) } // loadNegotiationFingerprints loads the list of sentByFingerprints for the given @@ -287,5 +286,5 @@ func upgradePreviousNegotiationsV0(kv *versioned.KV) error { Data: marshalPreviousNegotiations( newPrevNegotiations), } - return kv.Set(negotiationPartnersKey, negotiationPartnersVersion, obj) + return kv.Set(negotiationPartnersKey, obj) } diff --git a/auth/store/sentRequest.go b/auth/store/sentRequest.go index 1cc42f4748b6f4ecd419beafa765db9237afe4d7..441084e0c06b41f531009ed1b5c9d6712094ff55 100644 --- a/auth/store/sentRequest.go +++ b/auth/store/sentRequest.go @@ -211,8 +211,7 @@ func (sr *SentRequest) save() error { Data: data, } - return sr.kv.Set(makeSentRequestKey(sr.partner), - currentSentRequestVersion, &obj) + return sr.kv.Set(makeSentRequestKey(sr.partner), &obj) } func (sr *SentRequest) delete() { @@ -296,7 +295,7 @@ func upgradeSentRequestKeyV0(kv *versioned.KV, partner *id.ID) error { // Note: uses same encoding, just different keys obj.Version = 1 - err = kv.Set(makeSentRequestKey(partner), 1, obj) + err = kv.Set(makeSentRequestKey(partner), obj) if err != nil { return err } diff --git a/auth/store/store.go b/auth/store/store.go index d30e5d6d9c233e6072c9caf4601bf8ccc508d76c..df5535715a833a038d2f738cbe57638d1453eb00 100644 --- a/auth/store/store.go +++ b/auth/store/store.go @@ -149,7 +149,7 @@ func (s *Store) save() error { Data: data, } - return s.kv.Set(requestMapKey, requestMapVersion, &obj) + return s.kv.Set(requestMapKey, &obj) } // NewStore creates a new store. All passed in private keys are added as diff --git a/backup/jsonStorage.go b/backup/jsonStorage.go index 706dd396e81ef4826f2d1696bed3eae529d3465c..3e7b889f6bc2fc43ddbf14a95e01c325f39425f5 100644 --- a/backup/jsonStorage.go +++ b/backup/jsonStorage.go @@ -24,7 +24,7 @@ func storeJson(json string, kv *versioned.KV) error { Data: []byte(json), } - return kv.Set(jsonStorageKey, jsonStorageVersion, obj) + return kv.Set(jsonStorageKey, obj) } func loadJson(kv *versioned.KV) string { diff --git a/backup/keyStorage.go b/backup/keyStorage.go index a360731fee371afa7421c303e1d48b87d2851bbb..f3164957954fe1eddb24fe5eaf69133484d1b550 100644 --- a/backup/keyStorage.go +++ b/backup/keyStorage.go @@ -38,7 +38,7 @@ func saveBackup(key, salt []byte, params backup.Params, kv *versioned.KV) error Data: marshalBackup(key, salt, params), } - return kv.Set(cryptoStorageKey, cryptoStorageVersion, obj) + return kv.Set(cryptoStorageKey, obj) } // loadBackup loads the key, salt, and params from storage. diff --git a/cmix/cmixMessageBuffer.go b/cmix/cmixMessageBuffer.go index d590f2d5053440b0adc18bcef585a62dbc20e562..0b4ac483889a938cee6335a888e3a122dd1fe4bb 100644 --- a/cmix/cmixMessageBuffer.go +++ b/cmix/cmixMessageBuffer.go @@ -52,7 +52,7 @@ func (cmh *cmixMessageHandler) SaveMessage( } // Save versioned object - return kv.Set(key, currentCmixMessageVersion, &obj) + return kv.Set(key, &obj) } // LoadMessage returns the message with the specified key from the key value diff --git a/cmix/gateway/storeHostList.go b/cmix/gateway/storeHostList.go index 1cb2929d6cf7563fe7ac3856c487f43d4a66740b..d227111f7319a67963bbc14d511f25d6b228b025 100644 --- a/cmix/gateway/storeHostList.go +++ b/cmix/gateway/storeHostList.go @@ -36,7 +36,7 @@ func saveHostList(kv *versioned.KV, list []*id.ID) error { Timestamp: netTime.Now(), } - return kv.Set(hostListKey, hostListVersion, obj) + return kv.Set(hostListKey, obj) } // getHostList returns the host list from storage. diff --git a/cmix/identity/receptionID/identity.go b/cmix/identity/receptionID/identity.go index a7c21d86cbf818bdcb489746647d79b106fd0626..bba7823789480636710b520d79d4deeadbfa1dbd 100644 --- a/cmix/identity/receptionID/identity.go +++ b/cmix/identity/receptionID/identity.go @@ -80,7 +80,7 @@ func (i Identity) store(kv *versioned.KV) error { } // Store the data - err = kv.Set(identityStorageKey, identityStorageVersion, obj) + err = kv.Set(identityStorageKey, obj) if err != nil { return errors.WithMessage(err, "Failed to store Identity") } diff --git a/cmix/identity/receptionID/store.go b/cmix/identity/receptionID/store.go index e87b76760a780bfaa9d2d2702cfdb3ec868d1e20..37dfb8bba2212773c6c2de62fd3604ba3d307c1e 100644 --- a/cmix/identity/receptionID/store.go +++ b/cmix/identity/receptionID/store.go @@ -129,7 +129,7 @@ func (s *Store) save() error { Data: data, } - err = s.kv.Set(receptionStoreStorageKey, receptionStoreStorageVersion, obj) + err = s.kv.Set(receptionStoreStorageKey, obj) if err != nil { return errors.WithMessage(err, "Failed to store reception store") } diff --git a/cmix/identity/receptionID/store/earliestRound.go b/cmix/identity/receptionID/store/earliestRound.go index edca66ad009fbc1028b06b24257694b7064a726f..3d2ea3272b88bfe1764501897eb810c302f62ae5 100644 --- a/cmix/identity/receptionID/store/earliestRound.go +++ b/cmix/identity/receptionID/store/earliestRound.go @@ -72,8 +72,7 @@ func (ur *EarliestRound) save() { Data: urStr, } - err = ur.kv.Set(earliestRoundStorageKey, - earliestRoundStorageVersion, obj) + err = ur.kv.Set(earliestRoundStorageKey, obj) if err != nil { jww.FATAL.Panicf("Failed to store the earliest round: %+v", err) } diff --git a/cmix/identity/receptionID/store/unknownRounds.go b/cmix/identity/receptionID/store/unknownRounds.go index b69bf685771e19616f86f381ec8525c6b19c9b7c..da9fead7e48c774c7a866626a2000e13e90a2aab 100644 --- a/cmix/identity/receptionID/store/unknownRounds.go +++ b/cmix/identity/receptionID/store/unknownRounds.go @@ -223,7 +223,7 @@ func (urs *UnknownRounds) save() error { } // Save to disk - return urs.kv.Set(unknownRoundsStorageKey, unknownRoundsStorageVersion, obj) + return urs.kv.Set(unknownRoundsStorageKey, obj) } func (urs *UnknownRounds) Delete() { diff --git a/cmix/identity/tracker.go b/cmix/identity/tracker.go index d35177b4d4dfe52efe4aaaf1780bc56d2574ab68..daa4d0b71cc9588b24840ff1717dc3c8c1c2a02e 100644 --- a/cmix/identity/tracker.go +++ b/cmix/identity/tracker.go @@ -394,7 +394,7 @@ func (t *manager) save() { Data: data, } - err = t.session.GetKV().Set(TrackerListKey, TrackerListVersion, obj) + err = t.session.GetKV().Set(TrackerListKey, obj) if err != nil { jww.FATAL.Panicf("Unable to save TrackedID list: %+v", err) } diff --git a/cmix/message/meteredCmixMessageBuffer.go b/cmix/message/meteredCmixMessageBuffer.go index 017a6fdbda4b25d581137cfc4cc75c04d9cb1820..79604962bb8cfe8d076e3516096c80f04d3ee42b 100644 --- a/cmix/message/meteredCmixMessageBuffer.go +++ b/cmix/message/meteredCmixMessageBuffer.go @@ -24,8 +24,6 @@ import ( "google.golang.org/protobuf/proto" ) -const currentMeteredCmixMessageVersion = 0 - type meteredCmixMessageHandler struct{} type meteredCmixMessage struct { @@ -49,13 +47,13 @@ func (*meteredCmixMessageHandler) SaveMessage(kv *versioned.KV, m interface{}, // Create versioned object obj := versioned.Object{ - Version: currentMeteredCmixMessageVersion, + Version: utility.CurrentMessageBufferVersion, Timestamp: netTime.Now(), Data: marshaled, } // Save versioned object - return kv.Set(key, utility.CurrentMessageBufferVersion, &obj) + return kv.Set(key, &obj) } // LoadMessage returns the message with the specified key from the key value @@ -64,7 +62,7 @@ func (*meteredCmixMessageHandler) SaveMessage(kv *versioned.KV, m interface{}, func (*meteredCmixMessageHandler) LoadMessage(kv *versioned.KV, key string) ( interface{}, error) { // Load the versioned object - vo, err := kv.Get(key, currentMeteredCmixMessageVersion) + vo, err := kv.Get(key, utility.CurrentMessageBufferVersion) if err != nil { return nil, err } @@ -83,7 +81,7 @@ func (*meteredCmixMessageHandler) LoadMessage(kv *versioned.KV, key string) ( // DeleteMessage deletes the message with the specified key from the key value // store. func (*meteredCmixMessageHandler) DeleteMessage(kv *versioned.KV, key string) error { - return kv.Delete(key, currentMeteredCmixMessageVersion) + return kv.Delete(key, utility.CurrentMessageBufferVersion) } // HashMessage generates a hash of the message. diff --git a/cmix/nodes/store.go b/cmix/nodes/store.go index 10352ae4a6875beff6e0ebea3381061e48294275..8ec0e706b1e637d8272fac785c68f5905f98a23e 100644 --- a/cmix/nodes/store.go +++ b/cmix/nodes/store.go @@ -67,12 +67,12 @@ func (r *registrar) save() error { } obj := versioned.Object{ - Version: currentStoreVersion, + Version: currentKeyVersion, Timestamp: now, Data: data, } - return r.kv.Set(storeKey, currentKeyVersion, &obj) + return r.kv.Set(storeKey, &obj) } // marshal builds a byte representation of the registrar. diff --git a/cmix/nodes/storeKey.go b/cmix/nodes/storeKey.go index ee7f64d660e0514d121eb20b0d123bbaed05ff5e..19f9a636c69102926966ec2f3a53f759d2df4032 100644 --- a/cmix/nodes/storeKey.go +++ b/cmix/nodes/storeKey.go @@ -84,7 +84,7 @@ func (k *key) save() error { Data: data, } - return k.kv.Set(k.storeKey, currentKeyVersion, &obj) + return k.kv.Set(k.storeKey, &obj) } // delete deletes the key from the versioned keystore. diff --git a/cmix/pickup/store/store.go b/cmix/pickup/store/store.go index 0d21d662d78280684ace013efbe8b7e0d182fbb3..88a300494aaa2003c3181c60cec46b6c6e884821 100644 --- a/cmix/pickup/store/store.go +++ b/cmix/pickup/store/store.go @@ -225,7 +225,7 @@ func (s *UncheckedRoundStore) save() error { } // Save to storage - err = s.kv.Set(uncheckedRoundKey, uncheckedRoundVersion, obj) + err = s.kv.Set(uncheckedRoundKey, obj) if err != nil { return errors.WithMessagef(err, "Could not store data for unchecked rounds") diff --git a/cmix/pickup/store/uncheckedRounds.go b/cmix/pickup/store/uncheckedRounds.go index d2dfd3388d9d683688ceca41c4a34f9f1df6533a..bc62d8a1d64583c44ca690af23aa733ee2e742e8 100644 --- a/cmix/pickup/store/uncheckedRounds.go +++ b/cmix/pickup/store/uncheckedRounds.go @@ -147,7 +147,7 @@ func storeRoundInfo(kv *versioned.KV, info *pb.RoundInfo, recipient *id.ID, } return kv.Set( - roundKey(id.Round(info.ID), recipient, ephID), roundInfoVersion, &obj) + roundKey(id.Round(info.ID), recipient, ephID), &obj) } func loadRoundInfo(kv *versioned.KV, id id.Round, recipient *id.ID, diff --git a/cmix/rounds/roundStorage.go b/cmix/rounds/roundStorage.go index 4d3cfb8385c6d2f63fd99b04c361d249616755b0..f05914ba2918612c1cb382e95e870f7c6fc7157c 100644 --- a/cmix/rounds/roundStorage.go +++ b/cmix/rounds/roundStorage.go @@ -32,7 +32,7 @@ func StoreRound(kv *versioned.KV, round Round, key string) error { Data: marshaled, } - return kv.Set(key, currentRoundVersion, &obj) + return kv.Set(key, &obj) } // LoadRound stores the round using the key. diff --git a/e2e/e2eMessageBuffer.go b/e2e/e2eMessageBuffer.go index d76b1eada99936c7424224906a65b2c2f675558f..3b47ed10b9d5d31fb0d086228e941cb9c6c6f981 100644 --- a/e2e/e2eMessageBuffer.go +++ b/e2e/e2eMessageBuffer.go @@ -51,7 +51,7 @@ func (emh *e2eMessageHandler) SaveMessage(kv *versioned.KV, m interface{}, } // Save versioned object - return kv.Set(key, currentE2EMessageVersion, &obj) + return kv.Set(key, &obj) } // LoadMessage returns the e2eMessage with the specified key from the key value diff --git a/e2e/manager.go b/e2e/manager.go index aef32e9c2bdd8dcde020bb4c94a1ef17b986e368..72197eb40c645bbc4e55a5d7485fcab4240203f4 100644 --- a/e2e/manager.go +++ b/e2e/manager.go @@ -75,7 +75,7 @@ func initE2E(kv *versioned.KV, myID *id.ID, privKey *cyclic.Int, if err != nil { return errors.WithMessage(err, "Failed to marshal rekeyParams") } - err = kv.Set(e2eRekeyParamsKey, e2eRekeyParamsVer, &versioned.Object{ + err = kv.Set(e2eRekeyParamsKey, &versioned.Object{ Version: e2eRekeyParamsVer, Timestamp: netTime.Now(), Data: rekeyParamsData, @@ -128,7 +128,7 @@ func LoadLegacy(kv *versioned.KV, net cmix.Client, myID *id.ID, } // Store the rekey params to disk/memory - err = kv.Set(e2eRekeyParamsKey, e2eRekeyParamsVer, &versioned.Object{ + err = kv.Set(e2eRekeyParamsKey, &versioned.Object{ Version: e2eRekeyParamsVer, Timestamp: netTime.Now(), Data: rekeyParamsData, @@ -136,7 +136,7 @@ func LoadLegacy(kv *versioned.KV, net cmix.Client, myID *id.ID, if err != nil { return nil, err } - err = kv.Set(legacyE2EKey, e2eRekeyParamsVer, &versioned.Object{ + err = kv.Set(legacyE2EKey, &versioned.Object{ Version: e2eRekeyParamsVer, Timestamp: netTime.Now(), Data: []byte{1}, diff --git a/e2e/parse/conversation/partner.go b/e2e/parse/conversation/partner.go index cbb7d30ee921dd2eadb108052a6c1d7a5f1a99c0..87b23efc031fd9e3879049665776ccd83635b5c1 100644 --- a/e2e/parse/conversation/partner.go +++ b/e2e/parse/conversation/partner.go @@ -163,7 +163,7 @@ func (c *Conversation) save() error { } key := makeConversationKey(c.partner) - return c.kv.Set(key, currentConversationVersion, &obj) + return c.kv.Set(key, &obj) } // delete removes the Conversation from KV storage. diff --git a/e2e/parse/conversation/ring.go b/e2e/parse/conversation/ring.go index 83fd605a29ac3077111103cad5731d9fcc6942ef..88304e97c61662af209edf81a64de540236b569c 100644 --- a/e2e/parse/conversation/ring.go +++ b/e2e/parse/conversation/ring.go @@ -231,7 +231,7 @@ func (b *Buff) saveBuff() error { Data: b.marshal(), } - return b.kv.Set(ringBuffKey, ringBuffVersion, obj) + return b.kv.Set(ringBuffKey, obj) } // marshal creates a byte buffer containing serialized information on the Buff. @@ -293,7 +293,7 @@ func (b *Buff) saveMessage(msg *Message) error { } return b.kv.Set( - makeMessageKey(msg.MessageId.truncate()), messageVersion, obj) + makeMessageKey(msg.MessageId.truncate()), obj) } diff --git a/e2e/parse/partition/multiPartMessage.go b/e2e/parse/partition/multiPartMessage.go index 1ab26b29c22d3cd24fbfb705ba94d3d6a13ea8d6..728e4636506682eb0d0b4c2691218fdad573bffa 100644 --- a/e2e/parse/partition/multiPartMessage.go +++ b/e2e/parse/partition/multiPartMessage.go @@ -102,7 +102,7 @@ func (mpm *multiPartMessage) save() error { Data: data, } - return mpm.kv.Set(messageKey, currentMultiPartMessageVersion, &obj) + return mpm.kv.Set(messageKey, &obj) } func (mpm *multiPartMessage) Add(partNumber uint8, part []byte) { diff --git a/e2e/parse/partition/part.go b/e2e/parse/partition/part.go index 46d07e2283c5e9d03d09baae1636ff23fd71482d..78b3a8e4b337d98657fba68273de01f57f7b04d1 100644 --- a/e2e/parse/partition/part.go +++ b/e2e/parse/partition/part.go @@ -30,12 +30,11 @@ func savePart(kv *versioned.KV, partNum uint8, part []byte) error { key := makeMultiPartMessagePartKey(partNum) obj := versioned.Object{ - Version: currentMultiPartMessagePartVersion, + Version: currentMultiPartMessageVersion, Timestamp: netTime.Now(), Data: part, } - - return kv.Set(key, currentMultiPartMessageVersion, &obj) + return kv.Set(key, &obj) } func deletePart(kv *versioned.KV, partNum uint8) error { diff --git a/e2e/parse/partition/part_test.go b/e2e/parse/partition/part_test.go index 644b01626a9029dc02a1c3f699dbf026334bdafe..e8ac2d3dc67478d04120521f860f2a66c35c7e49 100644 --- a/e2e/parse/partition/part_test.go +++ b/e2e/parse/partition/part_test.go @@ -57,7 +57,7 @@ func Test_loadPart(t *testing.T) { // Save part to key value store err := rootKv.Set( - key, 0, &versioned.Object{Timestamp: netTime.Now(), Data: part}) + key, &versioned.Object{Timestamp: netTime.Now(), Data: part}) if err != nil { t.Errorf("Failed to set object: %+v", err) } diff --git a/e2e/parse/partition/store.go b/e2e/parse/partition/store.go index f445d41facaaa781014e91a7c0c5802d8450e457..5ca9007a85a78f28b4566b2ec0be710f4305b0bc 100644 --- a/e2e/parse/partition/store.go +++ b/e2e/parse/partition/store.go @@ -160,7 +160,7 @@ func (s *Store) saveActiveParts() { Data: data, } - err = s.kv.Set(activePartitions, activePartitionVersion, &obj) + err = s.kv.Set(activePartitions, &obj) if err != nil { jww.FATAL.Panicf("Could not save active partitions: %+v", err) } diff --git a/e2e/ratchet/partner/relationship.go b/e2e/ratchet/partner/relationship.go index 12081022cd3ded08b3fb1cfab543f361deb63173..c7eb260f78f79f22847a45e653e0110873caeeb6 100644 --- a/e2e/ratchet/partner/relationship.go +++ b/e2e/ratchet/partner/relationship.go @@ -161,7 +161,7 @@ func (r *relationship) save() error { Data: data, } - return r.kv.Set(relationshipKey, currentRelationshipVersion, &obj) + return r.kv.Set(relationshipKey, &obj) } //ekv functions diff --git a/e2e/ratchet/partner/relationshipFingerprint.go b/e2e/ratchet/partner/relationshipFingerprint.go index d0426e1eb630733f493b0f7ecf1cee8cfe99d551..3bad30633b9556df8e5fe0e4ba97a07dc5254089 100644 --- a/e2e/ratchet/partner/relationshipFingerprint.go +++ b/e2e/ratchet/partner/relationshipFingerprint.go @@ -40,13 +40,12 @@ func makeRelationshipFingerprint(t session2.RelationshipType, grp *cyclic.Group, func storeRelationshipFingerprint(fp []byte, kv *versioned.KV) error { now := netTime.Now() obj := versioned.Object{ - Version: currentRelationshipFingerprintVersion, + Version: currentRelationshipVersion, Timestamp: now, Data: fp, } - return kv.Set(relationshipFingerprintKey, currentRelationshipVersion, - &obj) + return kv.Set(relationshipFingerprintKey, &obj) } func loadRelationshipFingerprint(kv *versioned.KV) []byte { diff --git a/e2e/ratchet/partner/session/session.go b/e2e/ratchet/partner/session/session.go index 3bded2f0797b2873642065711aeca3545555ac19..1ab3c1e771b64e2e5edd2d65aa0ace8a8abcbd89 100644 --- a/e2e/ratchet/partner/session/session.go +++ b/e2e/ratchet/partner/session/session.go @@ -239,7 +239,7 @@ func (s *Session) Save() error { jww.WARN.Printf("saving with KV: %v", s.kv) - return s.kv.Set(sessionKey, currentSessionVersion, &obj) + return s.kv.Set(sessionKey, &obj) } /*METHODS*/ diff --git a/e2e/ratchet/storage.go b/e2e/ratchet/storage.go index b426020f4c1024861ebfb4b82114e0dc3b4096af..7db9c13a7c2ee1aa16e34ab55f70536f708230d4 100644 --- a/e2e/ratchet/storage.go +++ b/e2e/ratchet/storage.go @@ -99,7 +99,7 @@ func (r *Ratchet) save() error { Data: data, } - return r.kv.Set(storeKey, currentStoreVersion, &obj) + return r.kv.Set(storeKey, &obj) } // ekv functions diff --git a/fileTransfer/store/cypher/manager.go b/fileTransfer/store/cypher/manager.go index c03f5d6bc2ce0d490c92703ba48d667d3c98f54b..88d67d7c4488b2b0122ccb9808ed52e2a4fc97b0 100644 --- a/fileTransfer/store/cypher/manager.go +++ b/fileTransfer/store/cypher/manager.go @@ -164,7 +164,7 @@ func saveKey(key *ftCrypto.TransferKey, kv *versioned.KV) error { Data: key.Bytes(), } - return kv.Set(cypherManagerKeyStoreKey, cypherManagerKeyStoreVersion, obj) + return kv.Set(cypherManagerKeyStoreKey, obj) } // loadKey loads the transfer key from storage. diff --git a/fileTransfer/store/received.go b/fileTransfer/store/received.go index 552dc88d1062a299dfaa6df9225aa54462ca97e9..ae39db044a5e4974864f92cd5ce222ec90131bf9 100644 --- a/fileTransfer/store/received.go +++ b/fileTransfer/store/received.go @@ -157,7 +157,7 @@ func (r *Received) save() error { Data: data, } - return r.kv.Set(receivedTransfersStoreKey, receivedTransfersStoreVersion, obj) + return r.kv.Set(receivedTransfersStoreKey, obj) } // marshalReceivedTransfersMap serialises the list of transfer IDs from a diff --git a/fileTransfer/store/receivedTransfer.go b/fileTransfer/store/receivedTransfer.go index ece1f01fcd6994811ced18989d0b288150cc69f2..5ae7a07d52e1ecc73ba9fb6582ee2e3094730fcb 100644 --- a/fileTransfer/store/receivedTransfer.go +++ b/fileTransfer/store/receivedTransfer.go @@ -339,7 +339,7 @@ func (rt *ReceivedTransfer) save() error { } // Save versioned object - return rt.kv.Set(receivedTransferStoreKey, receivedTransferStoreVersion, vo) + return rt.kv.Set(receivedTransferStoreKey, vo) } // receivedTransferDisk structure is used to marshal and unmarshal @@ -385,7 +385,7 @@ func savePart(part []byte, partNum int, kv *versioned.KV) error { Data: part, } - return kv.Set(makeReceivedPartKey(partNum), receivedPartStoreVersion, obj) + return kv.Set(makeReceivedPartKey(partNum), obj) } // loadPart loads the part with the given part number from storage. diff --git a/fileTransfer/store/sent.go b/fileTransfer/store/sent.go index e4a1fef2f730ff85eeeae97012a3e8922374c885..fc53e072803459c809129a00aea41eb16b838642 100644 --- a/fileTransfer/store/sent.go +++ b/fileTransfer/store/sent.go @@ -165,7 +165,7 @@ func (s *Sent) save() error { Data: data, } - return s.kv.Set(sentTransfersStoreKey, sentTransfersStoreVersion, obj) + return s.kv.Set(sentTransfersStoreKey, obj) } // marshalSentTransfersMap serialises the list of transfer IDs from a diff --git a/fileTransfer/store/sentTransfer.go b/fileTransfer/store/sentTransfer.go index 90aa56a8956f7a1645a269381a2f3e56396db137..39e826ccb7bd3c4f47e4c9c7fbc436fdc8cc46e7 100644 --- a/fileTransfer/store/sentTransfer.go +++ b/fileTransfer/store/sentTransfer.go @@ -346,7 +346,7 @@ func (st *SentTransfer) save() error { Data: data, } - return st.kv.Set(sentTransferStoreKey, sentTransferStoreVersion, obj) + return st.kv.Set(sentTransferStoreKey, obj) } // sentTransferDisk structure is used to marshal and unmarshal SentTransfer diff --git a/groupChat/groupStore/group.go b/groupChat/groupStore/group.go index b1bbd60d608e9c895e9ab6fcfd1700db4a92a4e9..6a9ac4192f4939a8dcbf0c7d54b7c8c6dedb9b9d 100644 --- a/groupChat/groupStore/group.go +++ b/groupChat/groupStore/group.go @@ -105,7 +105,7 @@ func (g Group) store(kv *versioned.KV) error { Data: g.Serialize(), } - return kv.Set(groupStoreKey(g.ID), groupStoreVersion, obj) + return kv.Set(groupStoreKey(g.ID), obj) } // loadGroup returns the group with the corresponding ID from storage. diff --git a/groupChat/groupStore/store.go b/groupChat/groupStore/store.go index f74a7aeb8ed9a3bd557a0d339ad8419158604513..74140e19f91c1711f05b0f5c7f91abcee6ee0631 100644 --- a/groupChat/groupStore/store.go +++ b/groupChat/groupStore/store.go @@ -126,7 +126,7 @@ func (s *Store) saveGroupList() error { } // Save to storage - return s.kv.Set(groupListStorageKey, groupListVersion, obj) + return s.kv.Set(groupListStorageKey, obj) } // serializeGroupIdList serializes the list of group IDs. diff --git a/storage/clientVersion/store.go b/storage/clientVersion/store.go index 1a6e2f592bcb21f349530cc773b22fbd6dec78a2..f1ae712d873b3d73004826c231aec0b5fa9fc341 100644 --- a/storage/clientVersion/store.go +++ b/storage/clientVersion/store.go @@ -113,5 +113,5 @@ func (s *Store) save() error { Data: []byte(s.version.String()), } - return s.kv.Set(storeKey, storeVersion, &obj) + return s.kv.Set(storeKey, &obj) } diff --git a/storage/clientVersion/store_test.go b/storage/clientVersion/store_test.go index 61814da6e79db4271c95f035df497c280fd778af..9da1b75ef38491e6405e9c86f9cdf4a77cf48755 100644 --- a/storage/clientVersion/store_test.go +++ b/storage/clientVersion/store_test.go @@ -71,7 +71,7 @@ func TestLoadStore_ParseVersionError(t *testing.T) { Data: []byte("invalid version"), } - err := kv.Prefix(prefix).Set(storeKey, storeVersion, &obj) + err := kv.Prefix(prefix).Set(storeKey, &obj) if err != nil { t.Fatalf("Failed to save Store: %+v", err) } diff --git a/storage/session.go b/storage/session.go index 1ef1851799d40a72a4572d0229670e7a2bfa6d13..e982415a1ed6523a3ad99d6a4711c6a4a31fe514 100644 --- a/storage/session.go +++ b/storage/session.go @@ -195,9 +195,10 @@ func (s *session) Get(key string) (*versioned.Object, error) { return s.kv.Get(key, currentSessionVersion) } -// Set a value in the session +// Set a value in the session. If you wish to maintain versioning, +// the [versioned.Object]'s Version field must be set. func (s *session) Set(key string, object *versioned.Object) error { - return s.kv.Set(key, currentSessionVersion, object) + return s.kv.Set(key, object) } // Delete a value in the session diff --git a/storage/user/cryptographic.go b/storage/user/cryptographic.go index 1c2d6f8f3e618e7e92106f52a8be88298b5fdc13..54fc60f864c7c602c676a3de38c647777645c895 100644 --- a/storage/user/cryptographic.go +++ b/storage/user/cryptographic.go @@ -216,8 +216,7 @@ func (ci *CryptographicIdentity) save(kv *versioned.KV) error { Data: enc, } - return kv.Set(cryptographicIdentityKey, - currentCryptographicIdentityVersion, obj) + return kv.Set(cryptographicIdentityKey, obj) } func (ci *CryptographicIdentity) GetTransmissionID() *id.ID { diff --git a/storage/user/registation.go b/storage/user/registation.go index f61972c392fc584ab1a06be1760ee5fe52f17ff6..aa144ef7f957a54205a95910ff272a82f9a46a36 100644 --- a/storage/user/registation.go +++ b/storage/user/registation.go @@ -95,8 +95,7 @@ func (u *User) SetTransmissionRegistrationValidationSignature(b []byte) { Data: b, } - err := u.kv.Set(transmissionRegValidationSigKey, - currentRegValidationSigVersion, obj) + err := u.kv.Set(transmissionRegValidationSigKey, obj) if err != nil { jww.FATAL.Panicf("Failed to store the transmission Identity Validation "+ "Signature: %s", err) @@ -122,8 +121,7 @@ func (u *User) SetReceptionRegistrationValidationSignature(b []byte) { Data: b, } - err := u.kv.Set(receptionRegValidationSigKey, - currentRegValidationSigVersion, obj) + err := u.kv.Set(receptionRegValidationSigKey, obj) if err != nil { jww.FATAL.Panicf("Failed to store the reception Identity Validation "+ "Signature: %s", err) @@ -148,13 +146,12 @@ func (u *User) SetRegistrationTimestamp(tsNano int64) { binary.BigEndian.PutUint64(tsBytes, uint64(tsNano)) obj := &versioned.Object{ - Version: currentRegValidationSigVersion, + Version: registrationTimestampVersion, Timestamp: netTime.Now(), Data: tsBytes, } - err := u.kv.Set(registrationTimestampKey, - registrationTimestampVersion, obj) + err := u.kv.Set(registrationTimestampKey, obj) if err != nil { jww.FATAL.Panicf("Failed to store the reception timestamp: %s", err) } diff --git a/storage/user/registation_test.go b/storage/user/registation_test.go index a8b7d03549998af4f4bf614cd464204965a7c2c8..4ada8cf0a9ce106956f36428c416d146853b5dbb 100644 --- a/storage/user/registation_test.go +++ b/storage/user/registation_test.go @@ -137,7 +137,7 @@ func TestUser_loadRegistrationValidationSignature(t *testing.T) { sig := []byte("transmissionsignature") err = kv.Set(transmissionRegValidationSigKey, - currentRegValidationSigVersion, &versioned.Object{ + &versioned.Object{ Version: currentRegValidationSigVersion, Timestamp: netTime.Now(), Data: sig, @@ -153,7 +153,7 @@ func TestUser_loadRegistrationValidationSignature(t *testing.T) { sig = []byte("receptionsignature") err = kv.Set(receptionRegValidationSigKey, - currentRegValidationSigVersion, &versioned.Object{ + &versioned.Object{ Version: currentRegValidationSigVersion, Timestamp: netTime.Now(), Data: sig, @@ -252,12 +252,12 @@ func TestUser_loadRegistrationTimestamp(t *testing.T) { data := make([]byte, 8) binary.BigEndian.PutUint64(data, uint64(testTime.UnixNano())) vo := &versioned.Object{ - Version: currentRegValidationSigVersion, + Version: registrationTimestampVersion, Timestamp: netTime.Now(), Data: data, } - err = kv.Set(registrationTimestampKey, - registrationTimestampVersion, vo) + + err = kv.Set(registrationTimestampKey, vo) if err != nil { t.Errorf("Failed to set reg validation sig key in kv store: %+v", err) } diff --git a/storage/user/username.go b/storage/user/username.go index 7e40ecf5bcb01d92c75a2dffb39e1631c41eb9f9..7a0b939da475473602480d2390ecabcebaefd2c0 100644 --- a/storage/user/username.go +++ b/storage/user/username.go @@ -39,7 +39,7 @@ func (u *User) SetUsername(username string) error { Data: []byte(username), } - err := u.kv.Set(usernameKey, currentUsernameVersion, obj) + err := u.kv.Set(usernameKey, obj) if err != nil { jww.FATAL.Panicf("Failed to store the username: %s", err) } diff --git a/storage/user/username_test.go b/storage/user/username_test.go index bb044f4ad9dc2c2a83c7a6b9f4ee382a07b795fe..91f8b64a30db6862e98888e7e9dd25ecfcb69404 100644 --- a/storage/user/username_test.go +++ b/storage/user/username_test.go @@ -120,7 +120,7 @@ func TestUser_loadUsername(t *testing.T) { u1 := "zezima" - err = u.kv.Set(usernameKey, currentUsernameVersion, &versioned.Object{ + err = u.kv.Set(usernameKey, &versioned.Object{ Version: currentUsernameVersion, Timestamp: netTime.Now(), Data: []byte(u1), diff --git a/storage/utility/NDF.go b/storage/utility/NDF.go index 3faf19b4cbfe0ed4576269cb8ad5734fcaf610f1..c01485f26856e0ad111dab4614992045d7d585e4 100644 --- a/storage/utility/NDF.go +++ b/storage/utility/NDF.go @@ -43,5 +43,5 @@ func SaveNDF(kv *versioned.KV, key string, ndf *ndf.NetworkDefinition) error { Data: marshaled, } - return kv.Set(key, currentNDFVersion, &obj) + return kv.Set(key, &obj) } diff --git a/storage/utility/blockStore.go b/storage/utility/blockStore.go index 9bfdcadcab4aab91fde5bc94c76471fa435edf49..d81e0fbf363d500d051638c866ade4cbbd777d2f 100644 --- a/storage/utility/blockStore.go +++ b/storage/utility/blockStore.go @@ -162,7 +162,7 @@ func (bs *BlockStore) saveBlock() error { } // Save to storage - err = bs.kv.Set(bs.getKey(bs.lastSaved), blockVersion, &obj) + err = bs.kv.Set(bs.getKey(bs.lastSaved), &obj) if err != nil { return errors.Errorf(bKvSaveErr, bs.lastSaved, err) } @@ -221,7 +221,7 @@ func (bs *BlockStore) save() error { } // Save to storage - err := bs.kv.Set(blockStoreKey, blockStoreVersion, &obj) + err := bs.kv.Set(blockStoreKey, &obj) if err != nil { return errors.Errorf(bsKvSaveErr, err) } diff --git a/storage/utility/blockStore_test.go b/storage/utility/blockStore_test.go index 889655b558df08a0ede280d75db7431abdc9530a..217089bbd0916cf26f3de65468c0ab05dacd20fc 100644 --- a/storage/utility/blockStore_test.go +++ b/storage/utility/blockStore_test.go @@ -215,7 +215,7 @@ func TestBlockStore_loadBlock_UnmarshalError(t *testing.T) { } // Save to storage - err := bs.kv.Set(bs.getKey(bs.lastSaved), blockVersion, &obj) + err := bs.kv.Set(bs.getKey(bs.lastSaved), &obj) if err != nil { t.Errorf("Failed to save data to KV: %+v", err) } @@ -345,7 +345,7 @@ func TestBlockStore_load_UnmarshalError(t *testing.T) { } // Save to storage - err := kv.Set(blockStoreKey, blockStoreVersion, &obj) + err := kv.Set(blockStoreKey, &obj) if err != nil { t.Fatalf("failed to save object to storage: %+v", err) } diff --git a/storage/utility/bucket.go b/storage/utility/bucket.go index 4757c1add087ea30d8a8171c9a87b4572da59e2e..fd3061e8f5f311f55a0a7e47648c46fa9114de37 100644 --- a/storage/utility/bucket.go +++ b/storage/utility/bucket.go @@ -68,7 +68,7 @@ func (s *BucketStore) save(inBucket uint32, timestamp int64) { Data: data, } - err = s.kv.Set(bucketStoreKey, bucketStoreVersion, &obj) + err = s.kv.Set(bucketStoreKey, &obj) if err != nil { jww.ERROR.Printf("Failed to store %s bucket data: %v", diff --git a/storage/utility/bucketParams.go b/storage/utility/bucketParams.go index c9a8789ccb5d847b3505717b53b9fe932398d688..90708af650febc99ab6f6e18f7bb58a51a995ba7 100644 --- a/storage/utility/bucketParams.go +++ b/storage/utility/bucketParams.go @@ -99,7 +99,7 @@ func (s *BucketParamStore) save() error { } // Store object into storage - return s.kv.Set(bucketParamsKey, bucketParamsVersion, object) + return s.kv.Set(bucketParamsKey, object) } // load extracts the bucket params from store and loads it into the diff --git a/storage/utility/contact.go b/storage/utility/contact.go index 91ad113a10aedeb78f213ffdfad9e402cb51e67b..98268e686b51cd30f54ad017682f542998ebc8a1 100644 --- a/storage/utility/contact.go +++ b/storage/utility/contact.go @@ -35,7 +35,7 @@ func StoreContact(kv *versioned.KV, c contact.Contact) error { Data: c.Marshal(), } - return kv.Set(makeContactKey(c.ID), currentContactVersion, &obj) + return kv.Set(makeContactKey(c.ID), &obj) } // LoadContact reads a contact from a versioned.KV vie their contact ID. diff --git a/storage/utility/dh.go b/storage/utility/dh.go index 05c3dde6bb4dd93fd4a67f135cf0c521eb8cf379..de697130ae7bf68f41dc88567346992cc181d164 100644 --- a/storage/utility/dh.go +++ b/storage/utility/dh.go @@ -29,7 +29,7 @@ func StoreCyclicKey(kv *versioned.KV, cy *cyclic.Int, key string) error { Data: data, } - return kv.Set(key, currentCyclicVersion, &obj) + return kv.Set(key, &obj) } func LoadCyclicKey(kv *versioned.KV, key string) (*cyclic.Int, error) { diff --git a/storage/utility/group.go b/storage/utility/group.go index cf47d34b002933977620814d3a15dc689aee56a9..769e0fc0fa682e1dafac61fe24fe69c6f16bd930 100644 --- a/storage/utility/group.go +++ b/storage/utility/group.go @@ -29,7 +29,7 @@ func StoreGroup(kv *versioned.KV, grp *cyclic.Group, key string) error { Data: data, } - return kv.Set(key, currentGroupVersion, &obj) + return kv.Set(key, &obj) } func LoadGroup(kv *versioned.KV, key string) (*cyclic.Group, error) { diff --git a/storage/utility/id.go b/storage/utility/id.go index ce2ff80e1627509d288d63d455ecdf597cad3e8b..6046627b374ebd6f9093452c72cc0cade334cfe5 100644 --- a/storage/utility/id.go +++ b/storage/utility/id.go @@ -29,7 +29,7 @@ func StoreID(kv *versioned.KV, sid *id.ID, key string) error { Data: data, } - return kv.Set(key, currentIDVersion, &obj) + return kv.Set(key, &obj) } func LoadID(kv *versioned.KV, key string) (*id.ID, error) { diff --git a/storage/utility/messageBuffer.go b/storage/utility/messageBuffer.go index e8ed02f9bb5791e0ca191c516ecf7da6bf25e10b..15c3296673f17bcf7a08869e6fef305dc5219031 100644 --- a/storage/utility/messageBuffer.go +++ b/storage/utility/messageBuffer.go @@ -146,7 +146,7 @@ func (mb *MessageBuffer) save() error { } // Save versioned object - return mb.kv.Set(mb.key, CurrentMessageBufferVersion, &obj) + return mb.kv.Set(mb.key, &obj) } // getMessageList returns a list of all message hashes stored in messages and diff --git a/storage/utility/multiStateVector.go b/storage/utility/multiStateVector.go index a00e75c856f075c90cdb6dc6b30706fa95c2fc6b..e12b6caff9fbbc262ee679df1399960495fdbffa 100644 --- a/storage/utility/multiStateVector.go +++ b/storage/utility/multiStateVector.go @@ -502,7 +502,7 @@ func (msv *MultiStateVector) save() error { Data: data, } - return msv.kv.Set(msv.key, multiStateVectorVersion, obj) + return msv.kv.Set(msv.key, obj) } // Delete removes the MultiStateVector from storage. diff --git a/storage/utility/multiStateVector_test.go b/storage/utility/multiStateVector_test.go index 1982ccf1e19bda1eeee1734da98e633d63e859ce..e198da67087e19b070dcc235a407d5b97345a607 100644 --- a/storage/utility/multiStateVector_test.go +++ b/storage/utility/multiStateVector_test.go @@ -890,7 +890,7 @@ func TestLoadMultiStateVector_UnmarshalError(t *testing.T) { expectedErr := strings.Split(loadUnmarshalMsvErr, "%")[0] // Save invalid data to storage - err := kv.Set(makeMultiStateVectorKey(key), multiStateVectorVersion, + err := kv.Set(makeMultiStateVectorKey(key), &versioned.Object{ Version: multiStateVectorVersion, Timestamp: netTime.Now(), diff --git a/storage/utility/sidh.go b/storage/utility/sidh.go index 453df26aa98e91c2310b88a6bcbb86054791624f..03599f79dd58d1daef38f3a062c7541b932b8477 100644 --- a/storage/utility/sidh.go +++ b/storage/utility/sidh.go @@ -93,7 +93,7 @@ func StoreSIDHPublicKey(kv *versioned.KV, sidH *sidh.PublicKey, key string) erro Data: sidHBytes, } - return kv.Set(key, currentSIDHPubKeyVersion, &obj) + return kv.Set(key, &obj) } // LoadSIDHPubKeyA loads a public key from storage. @@ -138,7 +138,7 @@ func StoreSIDHPrivateKey(kv *versioned.KV, sidH *sidh.PrivateKey, key string) er Data: sidHBytes, } - return kv.Set(key, currentSIDHPrivKeyVersion, &obj) + return kv.Set(key, &obj) } // LoadSIDHPrivateKeyA loads a public key from storage. diff --git a/storage/utility/stateVector.go b/storage/utility/stateVector.go index 0b527daeb136983039a1ec5f6e7138eacda818ad..f3ed4da6d4612365ea5b564ef5742976a1368626 100644 --- a/storage/utility/stateVector.go +++ b/storage/utility/stateVector.go @@ -388,7 +388,7 @@ func (sv *StateVector) save() error { Data: data, } - return sv.kv.Set(sv.key, currentStateVectorVersion, &obj) + return sv.kv.Set(sv.key, &obj) } // Delete remove the StateVector from storage. diff --git a/storage/utility/stateVector_test.go b/storage/utility/stateVector_test.go index be5dbd9269141d0fe6251138942a82a5f6b6c8a7..13218768a9bbc04dbadef0153e19e2dfb920add6 100644 --- a/storage/utility/stateVector_test.go +++ b/storage/utility/stateVector_test.go @@ -582,7 +582,7 @@ func TestLoadStateVector_UnmarshalError(t *testing.T) { Timestamp: netTime.Now(), Data: []byte("invalidStateVector"), } - err := kv.Set(makeStateVectorKey(key), currentStateVectorVersion, &obj) + err := kv.Set(makeStateVectorKey(key), &obj) if err != nil { t.Errorf("Failed to save invalid StateVector to storage: %+v", err) } diff --git a/storage/versioned/kv.go b/storage/versioned/kv.go index ebe47ce94f31f1f7d3e8e60ffa3a22272c26e4fd..4b0179fa3e8cc764263a3d6f305bfafa6a5e9522 100644 --- a/storage/versioned/kv.go +++ b/storage/versioned/kv.go @@ -131,8 +131,10 @@ func (v *KV) Delete(key string, version uint64) error { // Set upserts new data into the storage // When calling this, you are responsible for prefixing the key with the correct // type optionally unique id! Call MakeKeyWithPrefix() to do so. -func (v *KV) Set(key string, version uint64, object *Object) error { - key = v.makeKey(key, version) +// The [Object] should contain the versioning if you are maintaining such +// a functionality. +func (v *KV) Set(key string, object *Object) error { + key = v.makeKey(key, object.Version) jww.TRACE.Printf("Set %p with key %v", v.r.data, key) return v.r.data.Set(key, object) } diff --git a/storage/versioned/kv_test.go b/storage/versioned/kv_test.go index baeed14b812529f18fe992ef71472f44275a6815..deb7eacf20a7d67dd274ee6e59337a6cb9610fb4 100644 --- a/storage/versioned/kv_test.go +++ b/storage/versioned/kv_test.go @@ -188,7 +188,7 @@ func TestVersionedKV_Set(t *testing.T) { Timestamp: netTime.Now(), Data: []byte("not upgraded"), } - err := vkv.Set("test", originalVersion, &original) + err := vkv.Set("test", &original) if err != nil { t.Fatal(err) } diff --git a/ud/registered.go b/ud/registered.go index a636ce4a3a7e00e25ca8f0326bee978fa8051af8..f19bcc03e63adebe5b3992131e61af1cc91008e1 100644 --- a/ud/registered.go +++ b/ud/registered.go @@ -39,7 +39,7 @@ func setRegistered(kv *versioned.KV) error { Data: data, } - if err := kv.Set(isRegisteredKey, isRegisteredVersion, obj); err != nil { + if err := kv.Set(isRegisteredKey, obj); err != nil { jww.FATAL.Panicf("Failed to store that the client is "+ "registered: %+v", err) } diff --git a/ud/store/store.go b/ud/store/store.go index 3991eae26b339426a0b31b7380298047a2cc6745..d9472bedc5f97e0e0d8a9ca1f710aecf5a7a55cb 100644 --- a/ud/store/store.go +++ b/ud/store/store.go @@ -101,7 +101,7 @@ func (s *Store) saveConfirmedFacts() error { } // Save to storage - return s.kv.Set(confirmedFactKey, version, &obj) + return s.kv.Set(confirmedFactKey, &obj) } // saveUnconfirmedFacts saves all data within Store.unconfirmedFacts into storage. @@ -120,7 +120,7 @@ func (s *Store) saveUnconfirmedFacts() error { } // Save to storage - return s.kv.Set(unconfirmedFactKey, version, &obj) + return s.kv.Set(unconfirmedFactKey, &obj) }