goolm

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Jan 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")
	ErrNotBlocksize         = errors.New("length != blocksize")
	ErrNotMultipleBlocksize = errors.New("length not a multiple of the blocksize")
	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.
cipher provides the methods and structs to do encryptions for olm/megolm.
cipher provides the methods and structs to do encryptions for olm/megolm.
crpyto provides the nessesary encryption methods for olm/megolm
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
sas provides the means to do SAS between keys
sas provides the means to do SAS between keys
session provides the different types of sessions for en/decrypting of messages
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