sign

package
v0.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var UncachedSignature = errors.New("uncached signature")

Functions

This section is empty.

Types

type FilterMask

type FilterMask struct {
	Type byte
	Mask pk.BitSet
}

func (*FilterMask) ReadFrom

func (f *FilterMask) ReadFrom(r io.Reader) (n int64, err error)

func (*FilterMask) WriteTo

func (f *FilterMask) WriteTo(w io.Writer) (n int64, err error)

type HistoryMessage

type HistoryMessage struct {
	Sender    uuid.UUID
	Signature []byte
}

func (*HistoryMessage) ReadFrom

func (p *HistoryMessage) ReadFrom(r io.Reader) (n int64, err error)

func (HistoryMessage) WriteTo

func (p HistoryMessage) WriteTo(w io.Writer) (n int64, err error)

type HistoryUpdate

type HistoryUpdate struct {
	Offset       pk.VarInt
	Acknowledged pk.FixedBitSet // n == 20
}

func (*HistoryUpdate) ReadFrom

func (h *HistoryUpdate) ReadFrom(r io.Reader) (n int64, err error)

func (HistoryUpdate) WriteTo

func (h HistoryUpdate) WriteTo(w io.Writer) (n int64, err error)

type Message

type Message struct {
	Prev      Prev
	Signature *Signature
	*MessageBody
	Unsigned *chat.Message
	FilterMask
}

type MessageBody

type MessageBody struct {
	PlainMsg  string
	Timestamp time.Time
	Salt      int64
	LastSeen  []*Signature
}

type PackedMessageBody

type PackedMessageBody struct {
	PlainMsg  string
	Timestamp time.Time
	Salt      int64
	LastSeen  []PackedSignature
}

func (*PackedMessageBody) ReadFrom

func (m *PackedMessageBody) ReadFrom(r io.Reader) (n int64, err error)

func (*PackedMessageBody) Unpack

func (m *PackedMessageBody) Unpack(cache *SignatureCache) (*MessageBody, error)

func (*PackedMessageBody) WriteTo

func (m *PackedMessageBody) WriteTo(w io.Writer) (n int64, err error)

type PackedSignature

type PackedSignature struct {
	ID int32
	*Signature
}

func (PackedSignature) ReadFrom

func (p PackedSignature) ReadFrom(r io.Reader) (n int64, err error)

func (PackedSignature) WriteTo

func (p PackedSignature) WriteTo(w io.Writer) (n int64, err error)

type Prev

type Prev struct {
	Index   int
	Sender  uuid.UUID
	Session uuid.UUID
}

type Session

type Session struct {
	SessionID uuid.UUID
	PublicKey user.PublicKey
	// contains filtered or unexported fields
}

func (*Session) InitValidate

func (s *Session) InitValidate()

func (*Session) ReadFrom

func (s *Session) ReadFrom(r io.Reader) (n int64, err error)

func (*Session) VerifyAndUpdate

func (s *Session) VerifyAndUpdate(msg *Message) bool

func (Session) WriteTo

func (s Session) WriteTo(w io.Writer) (n int64, err error)

type Signature

type Signature [256]byte

func (*Signature) ReadFrom

func (s *Signature) ReadFrom(r io.Reader) (n int64, err error)

func (Signature) WriteTo

func (s Signature) WriteTo(w io.Writer) (n int64, err error)

type SignatureCache

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

func NewSignatureCache

func NewSignatureCache() SignatureCache

func (*SignatureCache) PopOrInsert

func (s *SignatureCache) PopOrInsert(self *Signature, lastSeen []*Signature)

Jump to

Keyboard shortcuts

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