mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-26 23:53:19 +08:00
some comments
This commit is contained in:
@ -20,6 +20,8 @@ import (
|
|||||||
// invalid due to being too old
|
// invalid due to being too old
|
||||||
var ErrExpiredRecord = errors.New("expired record")
|
var ErrExpiredRecord = errors.New("expired record")
|
||||||
|
|
||||||
|
// ErrUnrecognizedValidity is returned when an IpnsRecord has an
|
||||||
|
// unknown validity type.
|
||||||
var ErrUnrecognizedValidity = errors.New("unrecognized validity type")
|
var ErrUnrecognizedValidity = errors.New("unrecognized validity type")
|
||||||
|
|
||||||
// ipnsPublisher is capable of publishing and resolving names to the IPFS
|
// ipnsPublisher is capable of publishing and resolving names to the IPFS
|
||||||
@ -107,6 +109,8 @@ func ipnsEntryDataForSig(e *pb.IpnsEntry) []byte {
|
|||||||
[]byte{})
|
[]byte{})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValidateIpnsRecord implements ValidatorFunc and verifies that the
|
||||||
|
// given 'val' is an IpnsEntry and that that entry is valid.
|
||||||
func ValidateIpnsRecord(k u.Key, val []byte) error {
|
func ValidateIpnsRecord(k u.Key, val []byte) error {
|
||||||
entry := new(pb.IpnsEntry)
|
entry := new(pb.IpnsEntry)
|
||||||
err := proto.Unmarshal(val, entry)
|
err := proto.Unmarshal(val, entry)
|
||||||
|
@ -14,9 +14,16 @@ import (
|
|||||||
u "github.com/jbenet/go-ipfs/util"
|
u "github.com/jbenet/go-ipfs/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ValidatorFunc is a function that is called to validate a given
|
||||||
|
// type of DHTRecord.
|
||||||
type ValidatorFunc func(u.Key, []byte) error
|
type ValidatorFunc func(u.Key, []byte) error
|
||||||
|
|
||||||
|
// ErrBadRecord is returned any time a dht record is found to be
|
||||||
|
// incorrectly formatted or signed.
|
||||||
var ErrBadRecord = errors.New("bad dht record")
|
var ErrBadRecord = errors.New("bad dht record")
|
||||||
|
|
||||||
|
// ErrInvalidRecordType is returned if a DHTRecord keys prefix
|
||||||
|
// is not found in the Validator map of the DHT.
|
||||||
var ErrInvalidRecordType = errors.New("invalid record keytype")
|
var ErrInvalidRecordType = errors.New("invalid record keytype")
|
||||||
|
|
||||||
// creates and signs a dht record for the given key/value pair
|
// creates and signs a dht record for the given key/value pair
|
||||||
@ -96,6 +103,9 @@ func (dht *IpfsDHT) verifyRecord(r *pb.Record) error {
|
|||||||
return fnc(u.Key(r.GetKey()), r.GetValue())
|
return fnc(u.Key(r.GetKey()), r.GetValue())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ValidatePublicKeyRecord implements ValidatorFunc and
|
||||||
|
// verifies that the passed in record value is the PublicKey
|
||||||
|
// that matches the passed in key.
|
||||||
func ValidatePublicKeyRecord(k u.Key, val []byte) error {
|
func ValidatePublicKeyRecord(k u.Key, val []byte) error {
|
||||||
keyparts := bytes.Split([]byte(k), []byte("/"))
|
keyparts := bytes.Split([]byte(k), []byte("/"))
|
||||||
if len(keyparts) < 3 {
|
if len(keyparts) < 3 {
|
||||||
|
Reference in New Issue
Block a user