Version 1 signature, added Drone CI
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
566bcaffb9
commit
e2e192cce1
12
.drone.yml
Normal file
12
.drone.yml
Normal file
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: backend
|
||||
image: golang:1.18-rc-bullseye
|
||||
commands:
|
||||
- go build -o orbeat .
|
||||
|
||||
...
|
|
@ -362,11 +362,17 @@ func (s *ContentMessage) encodeMessage() []byte {
|
|||
n := binary.PutUvarint(buf, s.Version) //signature version
|
||||
_, _ = message.Write(buf[:n])
|
||||
|
||||
if s.Version == 0 {
|
||||
if s.Version == 0 || s.Version == 1 {
|
||||
_, _ = message.Write(s.PublicKey)
|
||||
n = binary.PutVarint(buf, s.IssueTime) //time
|
||||
_, _ = message.Write(buf[:n])
|
||||
|
||||
if s.Version == 1 {
|
||||
_, _ = message.Write(s.Identifier.Hash())
|
||||
} else {
|
||||
_, _ = s.Identifier.WriteBytes(message)
|
||||
}
|
||||
|
||||
_, _ = s.Identifier.WriteBytes(message)
|
||||
|
||||
return message.Bytes()
|
||||
|
@ -401,29 +407,50 @@ func DecodeContentMessage(signatureBytes []byte) *ContentMessage {
|
|||
return nil
|
||||
}
|
||||
|
||||
if message.Version == 0 {
|
||||
if message.Version == 0 || message.Version == 1 {
|
||||
message.PublicKey = make([]byte, ed25519.PublicKeySize)
|
||||
_, err := buffer.Read(message.PublicKey)
|
||||
if err != nil {
|
||||
log.Print(message.String())
|
||||
log.Print(err)
|
||||
return nil
|
||||
}
|
||||
message.IssueTime, err = binary.ReadVarint(buffer)
|
||||
if err != nil {
|
||||
log.Print(message.String())
|
||||
log.Print(err)
|
||||
return nil
|
||||
}
|
||||
|
||||
_, message.Identifier, err = cid.CidFromReader(buffer)
|
||||
if err != nil {
|
||||
return nil
|
||||
if message.Version == 1 {
|
||||
read, mh, err := multihash.MHFromBytes(buffer.Bytes())
|
||||
if err != nil {
|
||||
log.Print(message.String())
|
||||
log.Print(err)
|
||||
return nil
|
||||
}
|
||||
buffer.Next(read)
|
||||
message.Identifier = cid.NewCidV1(cid.Raw, mh)
|
||||
} else {
|
||||
_, message.Identifier, err = cid.CidFromReader(buffer)
|
||||
if err != nil {
|
||||
log.Print(message.String())
|
||||
log.Print(err)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
message.Signature = make([]byte, ed25519.SignatureSize)
|
||||
_, err = buffer.Read(message.Signature)
|
||||
if err != nil {
|
||||
log.Print(message.String())
|
||||
log.Print(err)
|
||||
return nil
|
||||
}
|
||||
|
||||
if buffer.Len() != 0 { //Unknown extra data
|
||||
log.Print(message.String())
|
||||
log.Printf("%x", buffer.Bytes())
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue