[bisq-network/bisq] (13/13) [BUGFIX] Validate Entry.receiversPubKey when adding a MailboxPayload (#3609)

Julian Knutsen notifications at github.com
Thu Nov 14 18:21:46 UTC 2019


New commit is bdfe32b

The remove code checks to ensure these fields match, but the add code
never did. This could lead to a situation where a MailboxStoragePayload
could be added, but never removed.
You can view, comment on, or merge this pull request online at:

  https://github.com/bisq-network/bisq/pull/3609

-- Commit Summary --

  * [BUGFIX] Don't try and remove() if addMailboxData() fails
  * [REFACTOR] P2PDataStorage::addPersistableNetworkPayload()
  * [REFACTOR] P2PDataStorage::addProtectedStorageEntry()
  * [REFACTOR] P2PDataStorage::refreshTTL()
  * [REFACTOR] P2PDataStorage::remove()
  * [REFACTOR] P2PDataStorage::removeMailboxData()
  * [PR COMMENTS] Clean up logging messages
  * Update behavior of P2PDataStorage::addProtectedStorageEntry() on duplicates
  * Update behavior of P2PDataStorage::refreshTTL() on duplicates
  * Update behavior of P2PDataStorage::remove() & removeMailboxData() on duplicate sequence #s
  * Use dependency injected Clock in P2PDataStore
  * [REFACTOR] Clean up ProtectedStorageEntry ctor
  * Use Clock in ProtectedStorageEntry
  * [TESTS] Use ClockFake in tests to control time
  * [TESTS] Test onBootstrapComplete()
  * [TESTS] Lower entries required for purge in tests
  * [REFACTOR] Remove duplicated code in refreshTTL
  * [TESTS] Add more tests around mis-wrapped ProtectedStorageEntrys
  * [REFACTOR] ProtectedStorageEntry::validForAddOperation()
  * [REFACTOR] ProtectedStorageEntry::isValidForRemoveOperation()
  * [REFACTOR] Remove checkPublicKeys()
  * Clean up toString() methods
  * [REFACTOR] Move signature validation behind isValidForAddOperation()
  * [REFACTOR] Move signature validation behind isValidForRemoveOperation()
  * [REFACTOR] Move receiversPubKey check behind isValidForRemoveOperation()
  * Remove duplicate check in refreshTTL
  * Introduce isMetadataEquals and use it
  * [TESTS] Update remove validation with BroadcastMessage type
  * Combine remove() and removeMailboxData()
  * [PR COMMENTS] Logging format and function rename
  * [TESTS] Start deprecating integrations tests
  * [TESTS] Remove dead tests and code
  * [DEAD CODE] Remove unused functions and imports
  * [DEAD CODE] Remove obsolete tests
  * [TESTS] Add JavaDocs for test objects
  * [TESTS] Split monolithic P2PDataStoreTest into separate files
  * [TESTS] Clean up TestState static methods
  * [TESTS] Make SavedTestState ctor private to TestState
  * [TESTS] Add missing license text to test files
  * [TESTS] Rename P2PDataStoreTest
  * Add payload safety checks in ProtectedStorageEntry
  * [REFACTOR] Clean up removeExpiredEntries
  * [BUGFIX] Correctly remove PersistablePayload in onDisconnect path
  * [REFACTOR] Use common path for updating map/data store on remove
  * [BUGFIX] Validate Entry.receiversPubKey for MailboxPayloads

-- File Changes --

    M common/src/main/java/bisq/common/proto/network/NetworkProtoResolver.java (4)
    M core/src/main/java/bisq/core/proto/CoreProtoResolver.java (6)
    M core/src/main/java/bisq/core/proto/network/CoreNetworkProtoResolver.java (5)
    M monitor/src/main/java/bisq/monitor/metric/P2PNetworkLoad.java (6)
    M monitor/src/main/java/bisq/monitor/metric/P2PSeedNodeSnapshotBase.java (4)
    M p2p/src/main/java/bisq/network/p2p/P2PService.java (12)
    M p2p/src/main/java/bisq/network/p2p/storage/P2PDataStorage.java (472)
    M p2p/src/main/java/bisq/network/p2p/storage/payload/ProtectedMailboxStorageEntry.java (168)
    M p2p/src/main/java/bisq/network/p2p/storage/payload/ProtectedStorageEntry.java (189)
    M p2p/src/test/java/bisq/network/p2p/TestUtils.java (5)
    D p2p/src/test/java/bisq/network/p2p/storage/ObsoleteP2PDataStorageTest.java (217)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageClientAPITest.java (242)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageOnMessageHandlerTest.java (101)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoragePersistableNetworkPayloadTest.java (195)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageProtectedStorageEntryTest.java (630)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageRemoveExpiredTest.java (196)
    D p2p/src/test/java/bisq/network/p2p/storage/P2PDataStorageTest.java (1526)
    A p2p/src/test/java/bisq/network/p2p/storage/P2PDataStoreDisconnectTest.java (203)
    D p2p/src/test/java/bisq/network/p2p/storage/ProtectedDataStorageTest.java (229)
    A p2p/src/test/java/bisq/network/p2p/storage/TestState.java (373)
    M p2p/src/test/java/bisq/network/p2p/storage/messages/AddDataMessageTest.java (4)
    M p2p/src/test/java/bisq/network/p2p/storage/mocks/AppendOnlyDataStoreServiceFake.java (6)
    A p2p/src/test/java/bisq/network/p2p/storage/mocks/ClockFake.java (54)
    M p2p/src/test/java/bisq/network/p2p/storage/mocks/DateTolerantPayloadStub.java (7)
    A p2p/src/test/java/bisq/network/p2p/storage/mocks/ExpirableProtectedStoragePayloadStub.java (59)
    A p2p/src/test/java/bisq/network/p2p/storage/mocks/PersistableExpirableProtectedStoragePayloadStub.java (40)
    M p2p/src/test/java/bisq/network/p2p/storage/mocks/PersistableNetworkPayloadStub.java (7)
    M p2p/src/test/java/bisq/network/p2p/storage/mocks/ProtectedDataStoreServiceFake.java (6)
    M p2p/src/test/java/bisq/network/p2p/storage/mocks/ProtectedStoragePayloadStub.java (10)
    A p2p/src/test/java/bisq/network/p2p/storage/payload/ProtectedMailboxStorageEntryTest.java (199)
    A p2p/src/test/java/bisq/network/p2p/storage/payload/ProtectedStorageEntryTest.java (252)

-- Patch Links --

https://github.com/bisq-network/bisq/pull/3609.patch
https://github.com/bisq-network/bisq/pull/3609.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/3609
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20191114/6fef3c35/attachment-0001.html>


More information about the bisq-github mailing list