Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,17 @@ test:

.PHONY: docker
docker:
docker build -f docker/Dockerfile --build-arg build_args="build GOOS=linux GOARCH=amd64 BUILD_DIR=. BIN_DIR=." --build-arg base="amd64/" -t nknorg/nkn:latest-amd64 .
docker build -f docker/Dockerfile --build-arg build_args="build GOOS=linux GOARCH=arm GOARM=6 BUILD_DIR=. BIN_DIR=." --build-arg base="arm32v6/" -t nknorg/nkn:latest-arm32v6 .
docker build -f docker/Dockerfile --build-arg build_args="build GOOS=linux GOARCH=arm64 BUILD_DIR=. BIN_DIR=." --build-arg base="arm64v8/" -t nknorg/nkn:latest-arm64v8 .
docker build --platform linux/amd64 -f docker/Dockerfile --build-arg build_args="build GOOS=linux GOARCH=amd64 BUILD_DIR=. BIN_DIR=." -t nknorg/nkn:latest-amd64 .
docker build --platform linux/arm/v6 -f docker/Dockerfile --build-arg build_args="build GOOS=linux GOARCH=arm GOARM=6 BUILD_DIR=. BIN_DIR=." -t nknorg/nkn:latest-arm32v6 .
docker build --platform linux/arm64 -f docker/Dockerfile --build-arg build_args="build GOOS=linux GOARCH=arm64 BUILD_DIR=. BIN_DIR=." -t nknorg/nkn:latest-arm64v8 .

.PHONY: docker_publish
docker_publish:
docker push nknorg/nkn:latest-amd64
docker push nknorg/nkn:latest-arm32v6
docker push nknorg/nkn:latest-arm64v8
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create nknorg/nkn:latest nknorg/nkn:latest-amd64 nknorg/nkn:latest-arm32v6 nknorg/nkn:latest-arm64v8 --amend
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate nknorg/nkn:latest nknorg/nkn:latest-amd64 --os linux --arch amd64
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate nknorg/nkn:latest nknorg/nkn:latest-arm32v6 --os linux --arch arm
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate nknorg/nkn:latest nknorg/nkn:latest-arm64v8 --os linux --arch arm64
DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push -p nknorg/nkn:latest
docker manifest create nknorg/nkn:latest nknorg/nkn:latest-amd64 nknorg/nkn:latest-arm32v6 nknorg/nkn:latest-arm64v8 --amend
docker manifest annotate nknorg/nkn:latest nknorg/nkn:latest-amd64 --os linux --arch amd64
docker manifest annotate nknorg/nkn:latest nknorg/nkn:latest-arm32v6 --os linux --arch arm --variant v6
docker manifest annotate nknorg/nkn:latest nknorg/nkn:latest-arm64v8 --os linux --arch arm64 --variant v8
docker manifest push nknorg/nkn:latest
2 changes: 1 addition & 1 deletion cmd/nknd/commands/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import (
)

const (
NetVersionNum = 34 // This will be removed later
NetVersionNum = 35 // This will be removed later
)

// rootCmd represents the base command when called without any subcommands
Expand Down
5 changes: 2 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
ARG base
FROM golang:1.19-alpine as builder
FROM golang:1.23-alpine AS builder
RUN apk add make git curl
ADD . /nkn
WORKDIR /nkn
ARG build_args
RUN make $build_args

FROM ${base}alpine:latest
FROM alpine:latest
RUN apk --no-cache add ca-certificates
COPY --from=builder /nkn/nknd /nkn/
COPY --from=builder /nkn/nknc /nkn/
Expand Down
18 changes: 9 additions & 9 deletions lnode/message.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,58 +69,58 @@ func (localNode *LocalNode) remoteMessageRouted(remoteMessage *nnetnode.RemoteMe
msgBody := &pbmsg.Bytes{}
err = proto.Unmarshal(remoteMessage.Msg.Message, msgBody)
if err != nil {
log.Debugf("Error unmarshal byte msg: %v", err)
log.Errorf("Error unmarshal byte msg: %v", err)
return nil, nil, nil, false
}

signedMsg := &pb.SignedMessage{}
unsignedMsg := &pb.UnsignedMessage{}
err = proto.Unmarshal(msgBody.Data, signedMsg)
if err != nil {
log.Debugf("Error unmarshal byte msg data: %v", err)
log.Errorf("Error unmarshal byte msg data: %v", err)
return nil, nil, nil, false
}

err = proto.Unmarshal(signedMsg.Message, unsignedMsg)
if err != nil {
log.Debugf("Error unmarshal signed unsigned msg: %v", err)
log.Errorf("Error unmarshal signed unsigned msg: %v", err)
return nil, nil, nil, false
}

err = checkMessageType(unsignedMsg.MessageType)
if err != nil {
log.Debugf("Error checking message type: %v", err)
log.Errorf("Error checking message type: %v", err)
return nil, nil, nil, false
}

err = checkMessageSigned(unsignedMsg.MessageType, len(signedMsg.Signature) > 0)
if err != nil {
log.Debugf("Error checking signed: %v", err)
log.Errorf("Error checking signed: %v", err)
return nil, nil, nil, false
}

err = checkMessageRoutingType(unsignedMsg.MessageType, remoteMessage.Msg.RoutingType)
if err != nil {
log.Debugf("Error checking routing type: %v", err)
log.Errorf("Error checking routing type: %v", err)
return nil, nil, nil, false
}

if len(signedMsg.Signature) > 0 {
if remoteMessage.Msg.RoutingType != pbmsg.RoutingType_DIRECT {
log.Debugf("Signature is only allowed on direct message")
log.Errorf("Signature is only allowed on direct message")
return nil, nil, nil, false
}

pubKey := senderNode.GetPubKey()
if pubKey == nil {
log.Debugf("Neighbor public key is nil")
log.Errorf("Neighbor public key is nil")
return nil, nil, nil, false
}

hash := sha256.Sum256(signedMsg.Message)
err = crypto.Verify(pubKey, hash[:], signedMsg.Signature)
if err != nil {
log.Debugf("Verify signature error: %v", err)
log.Errorf("Verify signature error: %v", err)
return nil, nil, nil, false
}
}
Expand Down