1. 03 Apr, 2020 2 commits
  2. 30 Mar, 2020 1 commit
  3. 26 Mar, 2020 4 commits
  4. 25 Mar, 2020 1 commit
  5. 10 Mar, 2020 1 commit
  6. 07 Mar, 2020 2 commits
  7. 06 Mar, 2020 5 commits
  8. 05 Mar, 2020 1 commit
  9. 04 Mar, 2020 2 commits
  10. 03 Mar, 2020 3 commits
  11. 02 Mar, 2020 2 commits
  12. 29 Feb, 2020 1 commit
  13. 28 Feb, 2020 3 commits
  14. 19 Feb, 2020 1 commit
  15. 11 Feb, 2020 5 commits
  16. 10 Feb, 2020 4 commits
    • Yusef Napora's avatar
    • dependabot-preview[bot]'s avatar
    • dependabot-preview[bot]'s avatar
    • Yusef Napora's avatar
      Signed envelopes & routing records (#73) · 7b2888df
      Yusef Napora authored
      * add SignedEnvelope type
      
      * use struct for SignedEnvelope instead of exposing protobuf directly
      
      * doc comments for envelopes
      
      * tests for SignedEnvelopes
      
      * add helpers to make routing records for Host
      
      * fix doc comment
      
      * go fmt
      
      * add method to peerstore to retrieve signed routing records
      
      * update to match spec changes
      
      * just use nanoseconds
      
      * use proto3  &  rename fields to match spec changes
      
      * use proto3 for routing records
      
      * make envelope fields private & validate on unmarshal
      
      * use buffer pool for envelope signatures
      
      * tests for RoutingState
      
      * go fmt
      
      * rename Equals -> Equal, add some comments
      
      * use test helpers
      
      * get rid of unsigned RoutingState struct, only expose SignedRoutingState
      
      * rm batching SignedRoutingStates accessor in peerstore
      
      the datastore peerstore implementation doesn't support batched reads, so
      it's no more efficient to get a bunch of states at once than it
      is to call SignedRoutingState multiple times.
      
      * whitespace
      
      * expose struct fields & remove accessors
      
      * use camelCase in protos for consistency
      
      * use multiformats uvarint for length-prefixes
      
      * remove payloadType check when unmarhaling
      
      * rm stray ref to golang/protobuf
      
      * define CertifiedAddrBook to avoid breaking API change
      
      * add events for updated addresses and routing state
      
      * remove SignedRoutingStateFromHost helper
      
      moving this to go-libp2p
      
      * add routing state records, extend peerstore API
      
      * fix: rebuild protos with new gogofaster generator
      
      * filter private addrs from signed routing records
      
      * envelope: use byte slices from pool; adjust interface.
      
      * move envelope to record package.
      
      * move protobuf files; adjust imports everywhere.
      
      * rename RoutingStateRecord -> PeerRecord
      
      also removes embedded reference to Envelope from the record,
      as that was confusing.
      
      as a result, the CertifiedAddrBook now accepts/returns
      record.SignedEnvelope instead of a specialized type.
      
      * hoist Seq from PeerRecord to SignedEnvelope
      
      * test that PeerRecords can't be signed by wrong key
      
      * commit go.sum
      
      * add Seq field to envelope signature
      
      * fix proto_path in Makefile
      
      * fix import ordering
      
      * comments for PeerRecord proto message
      
      also removes the seq field from PeerMessage proto,
      since it was moved to the SignedEnvelope
      
      * use Record type for envelope payloads
      
      * rename SignedEnvelope -> Envelope, unmarshal payload in ConsumeEnvelope
      
      * return buffer to pool before early return
      
      * doc comments
      
      * rename CertifiedAddrBook methods, update comments
      
      * cache unmarshalled Record payload inside Envelope
      
      * doc comments
      
      * store reflect.Type when registering Record
      
      * Revert "return buffer to pool before early return"
      
      8d8da386f26482e06dc21989a6b5ade69f0a46d9
      
      misread this - unsigned will be nil if there's an
      error, so it was right the way it was
      
      * use a DefaultRecord for unregistered PayloadTypes
      
      instead of returning an error if we don't have a registered
      Record for a given PayloadType, we can have a catch-all
      DefaultRecord type that just preserves the original payload
      as a []byte
      
      * cleanup DefaultRecord code a bit
      
      - removes unused error return from blankRecordForPayloadType
      - just references instead of copying in DefaultRecord.UnmarshalRecord
        I figure this is likely safe, since we'll be unmarshalling from the
        payload of an Envelope, which shouldn't get altered after it's
        created.
      
      * use explicit payloadType in MakeEnvelopeWithRecord
      
      * Revert DefaultRecord commits
      
      ae3bc7bdfb657c232229229706854a56effca80b
      a26c845a766b45ceabd87c17c0801d191650f0d4
      
      * doc comments
      
      * move Seq field back to PeerRecord
      
      * make diffs optional in EvtLocalAddressesUpdated
      
      * more envelope tests
      
      * replace MakeEnvelope with record.Seal
      
      also:
      - add Domain and Codec fields to Record interface
      
      * fix import
      
      * add interface check
      
      * rename ProcessPeerRecord -> ConsumePeerRecord
      
      also, adds bool `accepted` return value
      
      * rename event field, add doc comment
      
      * peer record protobuf: fix field casing.
      
      * record protobuf: add docs and fix casing.
      
      * cleanup: group imports.
      
      * nit: split test/utils.go => test/{addrs,errors}.go.
      Co-authored-by: default avatarRaúl Kripalani <raul.kripalani@gmail.com>
      7b2888df
  17. 04 Feb, 2020 2 commits