Added Version 1 signature, Drone CI, bumped to 1.18-rc
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
cad8112629
commit
08d4c6a35b
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 fcmm .
|
||||||
|
|
||||||
|
...
|
|
@ -1,4 +1,4 @@
|
||||||
FROM golang:1.17-bullseye
|
FROM golang:1.18-rc-bullseye
|
||||||
|
|
||||||
COPY . /src
|
COPY . /src
|
||||||
|
|
||||||
|
|
|
@ -189,11 +189,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()
|
||||||
|
@ -229,7 +235,7 @@ 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 {
|
||||||
|
@ -244,11 +250,22 @@ func DecodeContentMessage(signatureBytes []byte) *ContentMessage {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
_, message.Identifier, err = cid.CidFromReader(buffer)
|
if message.Version == 1 {
|
||||||
if err != nil {
|
read, mh, err := multihash.MHFromBytes(buffer.Bytes())
|
||||||
log.Print(message.String())
|
if err != nil {
|
||||||
log.Print(err)
|
log.Print(message.String())
|
||||||
return nil
|
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)
|
||||||
|
@ -420,7 +437,7 @@ func handle(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
//TODO: signing cache
|
//TODO: signing cache
|
||||||
message := &ContentMessage{
|
message := &ContentMessage{
|
||||||
Version: 0,
|
Version: 1,
|
||||||
IssueTime: time.Now().UTC().Unix(),
|
IssueTime: time.Now().UTC().Unix(),
|
||||||
Identifier: identifier,
|
Identifier: identifier,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue