Version: v0.2.3 Latest Latest

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

Go to latest
Published: Feb 27, 2015 License: MIT Imports: 8 Imported by: 0




This section is empty.


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,


func CheckRecordSig added in v0.2.3

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.


type ValidChecker added in v0.2.3

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 added in v0.2.3

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
t or T : Toggle theme light dark auto
y or Y : Canonical URL