record

package
v0.0.0-...-bafe949 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrBadRecord = errors.New("bad dht record")

ErrBadRecord is returned any time a dht record is found to be incorrectly formatted or signed.

View Source
var ErrInvalidRecordType = errors.New("invalid record keytype")

ErrInvalidRecordType is returned if a DHTRecord keys prefix is not found in the Validator map of the DHT.

View Source
var PublicKeyValidator = &ValidChecker{
	Func: ValidatePublicKeyRecord,
	Sign: false,
}

Functions

func CheckRecordSig

func CheckRecordSig(r *pb.Record, pk ci.PubKey) error

func MakePutRecord

func MakePutRecord(sk ci.PrivKey, key u.Key, value []byte, sign bool) (*pb.Record, error)

MakePutRecord creates and signs a dht record for the given key/value pair

func RecordBlobForSig

func RecordBlobForSig(r *pb.Record) []byte

RecordBlobForSig returns the blob protected by the record signature

func ValidatePublicKeyRecord

func ValidatePublicKeyRecord(k u.Key, val []byte) error

ValidatePublicKeyRecord implements ValidatorFunc and verifies that the passed in record value is the PublicKey that matches the passed in key.

Types

type ValidChecker

type ValidChecker struct {
	Func ValidatorFunc
	Sign bool
}

type Validator

type Validator map[string]*ValidChecker

Validator is an object that helps ensure routing records are valid. It is a collection of validator functions, each of which implements its own notion of validity.

func (Validator) IsSigned

func (v Validator) IsSigned(k u.Key) (bool, error)

func (Validator) VerifyRecord

func (v Validator) VerifyRecord(r *pb.Record) error

VerifyRecord checks a record and ensures it is still valid. It runs needed validators

type ValidatorFunc

type ValidatorFunc func(u.Key, []byte) error

ValidatorFunc is a function that is called to validate a given type of DHTRecord.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL