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
|
n := binary.PutUvarint(buf, s.Version) //signature version
|
||||||
_, _ = message.Write(buf[:n])
|
_, _ = message.Write(buf[:n])
|
||||||
|
|
||||||
if s.Version == 0 {
|
if s.Version == 0 || s.Version == 1 {
|
||||||
_, _ = message.Write(s.PublicKey)
|
_, _ = message.Write(s.PublicKey)
|
||||||
n = binary.PutVarint(buf, s.IssueTime) //time
|
n = binary.PutVarint(buf, s.IssueTime) //time
|
||||||
_, _ = message.Write(buf[:n])
|
_, _ = message.Write(buf[:n])
|
||||||
|
|
||||||
|
if s.Version == 1 {
|
||||||
|
_, _ = message.Write(s.Identifier.Hash())
|
||||||
|
} else {
|
||||||
|
_, _ = s.Identifier.WriteBytes(message)
|
||||||
|
}
|
||||||
|
|
||||||
_, _ = s.Identifier.WriteBytes(message)
|
_, _ = s.Identifier.WriteBytes(message)
|
||||||
|
|
||||||
return message.Bytes()
|
return message.Bytes()
|
||||||
|
@ -401,29 +407,50 @@ func DecodeContentMessage(signatureBytes []byte) *ContentMessage {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if message.Version == 0 {
|
if message.Version == 0 || message.Version == 1 {
|
||||||
message.PublicKey = make([]byte, ed25519.PublicKeySize)
|
message.PublicKey = make([]byte, ed25519.PublicKeySize)
|
||||||
_, err := buffer.Read(message.PublicKey)
|
_, err := buffer.Read(message.PublicKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Print(message.String())
|
||||||
|
log.Print(err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
message.IssueTime, err = binary.ReadVarint(buffer)
|
message.IssueTime, err = binary.ReadVarint(buffer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Print(message.String())
|
||||||
|
log.Print(err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
_, message.Identifier, err = cid.CidFromReader(buffer)
|
if message.Version == 1 {
|
||||||
if err != nil {
|
read, mh, err := multihash.MHFromBytes(buffer.Bytes())
|
||||||
return nil
|
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)
|
message.Signature = make([]byte, ed25519.SignatureSize)
|
||||||
_, err = buffer.Read(message.Signature)
|
_, err = buffer.Read(message.Signature)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Print(message.String())
|
||||||
|
log.Print(err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if buffer.Len() != 0 { //Unknown extra data
|
if buffer.Len() != 0 { //Unknown extra data
|
||||||
|
log.Print(message.String())
|
||||||
|
log.Printf("%x", buffer.Bytes())
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue