dynamiclink

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidDynamicLinkData = fmt.Errorf(
		"%w for dynamic link",
		blobtypes.ErrValidationFailed,
	)
	ErrInvalidDynamicLinkDataReservedByte = fmt.Errorf(
		"%w: invalid value of the reserved byte",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkDataBlobName = fmt.Errorf(
		"%w: blob name mismatch",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkDataSignature = fmt.Errorf(
		"%w: signature mismatch",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkDataTruncated = fmt.Errorf(
		"%w: data truncated",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkDataBlockSize = fmt.Errorf(
		"%w: block size too large",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkInternalReservedByte = fmt.Errorf(
		"%w: invalid value of the internal reserved byte",
		ErrInvalidDynamicLinkData,
	)

	ErrInvalidDynamicLinkIVMismatch = fmt.Errorf(
		"%w: iv mismatch",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkKeyMismatch = fmt.Errorf(
		"%w: key mismatch",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkKeyValidationBlock = fmt.Errorf(
		"%w: invalid key validation block",
		ErrInvalidDynamicLinkData,
	)
	ErrInvalidDynamicLinkKeyValidationBlockSignature = fmt.Errorf(
		"%w signature",
		ErrInvalidDynamicLinkKeyValidationBlock,
	)
)
View Source
var (
	ErrInvalidDynamicLinkAuthInfo = errors.New("invalid dynamic link auth info")
)

Functions

This section is empty.

Types

type Public

type Public struct {
	// contains filtered or unexported fields
}

Public represents public link static data

That identity corresponds to a single blob name

func (*Public) BlobName

func (d *Public) BlobName() *common.BlobName

type PublicReader

type PublicReader struct {
	Public
	// contains filtered or unexported fields
}

PublicReader can be used to read publicly available information from given public data stream (or validate and stream the data out) The data can only be read once due to a streaming nature (it read the data on-the-fly from another reader).

func FromPublicData

func FromPublicData(name *common.BlobName, r io.Reader) (*PublicReader, error)

FromPublicData creates an encrypted dynamic link data (public part) from given io.Reader

Invalid links are rejected - i.e. if there's any error while reading the data or when the validation of the link fails for whatever reason

func (*PublicReader) GetEncryptedLinkReader

func (d *PublicReader) GetEncryptedLinkReader() io.Reader

func (*PublicReader) GetLinkDataReader

func (d *PublicReader) GetLinkDataReader(key *common.BlobKey) (io.Reader, error)

func (*PublicReader) GetPublicDataReader

func (d *PublicReader) GetPublicDataReader() io.Reader

func (*PublicReader) GreaterThan

func (d *PublicReader) GreaterThan(d2 *PublicReader) bool

type Publisher

type Publisher struct {
	Public
	// contains filtered or unexported fields
}

func Create

func Create(randSource io.Reader) (*Publisher, error)

func FromAuthInfo

func FromAuthInfo(authInfo *common.AuthInfo) (*Publisher, error)

func ReNonce

func ReNonce(p *Publisher, randSource io.Reader) (*Publisher, error)

func (*Publisher) AuthInfo

func (dl *Publisher) AuthInfo() *common.AuthInfo

func (*Publisher) EncryptionKey added in v0.0.7

func (dl *Publisher) EncryptionKey() *common.BlobKey

func (*Publisher) UpdateLinkData

func (dl *Publisher) UpdateLinkData(r io.Reader, version uint64) (*PublicReader, *common.BlobKey, error)

Jump to

Keyboard shortcuts

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