From ba2219bb41ceb0b3b1fbdfe54ac580a476fbffa5 Mon Sep 17 00:00:00 2001 From: Rasmus Dahlberg Date: Sun, 5 Dec 2021 00:58:32 +0100 Subject: implemented open-ended shard interval --- pkg/instance/instance.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'pkg/instance/instance.go') diff --git a/pkg/instance/instance.go b/pkg/instance/instance.go index dc7f5c5..bda553d 100644 --- a/pkg/instance/instance.go +++ b/pkg/instance/instance.go @@ -24,7 +24,6 @@ type Config struct { Deadline time.Duration // Deadline used for gRPC requests Interval time.Duration // Cosigning frequency ShardStart uint64 // Shard interval start (num seconds since UNIX epoch) - ShardEnd uint64 // Shard interval end (num seconds since UNIX epoch) // Witnesses map trusted witness identifiers to public verification keys Witnesses map[[types.HashSize]byte][types.VerificationKeySize]byte @@ -109,11 +108,12 @@ func (i *Instance) leafRequestFromHTTP(ctx context.Context, r *http.Request) (*t if !ed25519.Verify(vk, msg, sig) { return nil, fmt.Errorf("invalid signature") } + shardEnd := uint64(time.Now().Unix()) if req.ShardHint < i.ShardStart { - return nil, fmt.Errorf("invalid shard hint: %d not in [%d, %d]", req.ShardHint, i.ShardStart, i.ShardEnd) + return nil, fmt.Errorf("invalid shard hint: %d not in [%d, %d]", req.ShardHint, i.ShardStart, shardEnd) } - if req.ShardHint > i.ShardEnd { - return nil, fmt.Errorf("invalid shard hint: %d not in [%d, %d]", req.ShardHint, i.ShardStart, i.ShardEnd) + if req.ShardHint > shardEnd { + return nil, fmt.Errorf("invalid shard hint: %d not in [%d, %d]", req.ShardHint, i.ShardStart, shardEnd) } if err := i.DNS.Verify(ctx, req.DomainHint, req.VerificationKey); err != nil { return nil, fmt.Errorf("invalid domain hint: %v", err) -- cgit v1.2.3