goolm

package
v0.19.0 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2024 License: MPL-2.0 Imports: 2 Imported by: 10

README

go-olm

This is a fork of DerLukas's goolm, a pure Go implementation of libolm.

The original project is licensed under the MIT license.

Documentation

Overview

Package goolm is a pure Go implementation of libolm. Libolm is a cryptographic library used for end-to-end encryption in Matrix and written in C++. With goolm there is no need to use cgo when building Matrix clients in go.

This package contains the possible errors which can occur as well as some simple functions. All the 'action' happens in the subdirectories.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBadSignature         = errors.New("bad signature")
	ErrBadMAC               = errors.New("bad mac")
	ErrBadMessageFormat     = errors.New("bad message format")
	ErrBadVerification      = errors.New("bad verification")
	ErrWrongProtocolVersion = errors.New("wrong protocol version")
	ErrEmptyInput           = errors.New("empty input")
	ErrNoKeyProvided        = errors.New("no key")
	ErrBadMessageKeyID      = errors.New("bad message key id")
	ErrRatchetNotAvailable  = errors.New("ratchet not available: attempt to decode a message whose index is earlier than our earliest known session key")
	ErrMsgIndexTooHigh      = errors.New("message index too high")
	ErrProtocolViolation    = errors.New("not protocol message order")
	ErrMessageKeyNotFound   = errors.New("message key not found")
	ErrChainTooHigh         = errors.New("chain index too high")
	ErrBadInput             = errors.New("bad input")
	ErrBadVersion           = errors.New("wrong version")
	ErrWrongPickleVersion   = errors.New("wrong pickle version")
	ErrValueTooShort        = errors.New("value too short")
	ErrInputToSmall         = errors.New("input too small (truncated?)")
	ErrOverflow             = errors.New("overflow")
)

Those are the most common used errors

Functions

func Base64Decode deprecated

func Base64Decode(input []byte) ([]byte, error)

Deprecated: base64.RawStdEncoding should be used directly

func Base64Encode deprecated

func Base64Encode(input []byte) []byte

Deprecated: base64.RawStdEncoding should be used directly

Types

This section is empty.

Directories

Path Synopsis
account packages an account which stores the identity, one time keys and fallback keys.
account packages an account which stores the identity, one time keys and fallback keys.
Package cipher provides the methods and structs to do encryptions for olm/megolm.
Package cipher provides the methods and structs to do encryptions for olm/megolm.
Package crpyto provides the nessesary encryption methods for olm/megolm
Package crpyto provides the nessesary encryption methods for olm/megolm
megolm provides the ratchet used by the megolm protocol
megolm provides the ratchet used by the megolm protocol
olm provides the ratchet used by the olm protocol
olm provides the ratchet used by the olm protocol
Package session provides the different types of sessions for en/decrypting of messages
Package session provides the different types of sessions for en/decrypting of messages

Jump to

Keyboard shortcuts

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