mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 14:25:53 +01:00
37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
package libolm
|
|
|
|
// #cgo LDFLAGS: -lolm -lstdc++
|
|
// #include <olm/olm.h>
|
|
import "C"
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"maunium.net/go/mautrix/crypto/olm"
|
|
)
|
|
|
|
var errorMap = map[string]error{
|
|
"NOT_ENOUGH_RANDOM": olm.ErrLibolmNotEnoughRandom,
|
|
"OUTPUT_BUFFER_TOO_SMALL": olm.ErrLibolmOutputBufferTooSmall,
|
|
"BAD_MESSAGE_VERSION": olm.ErrWrongProtocolVersion,
|
|
"BAD_MESSAGE_FORMAT": olm.ErrBadMessageFormat,
|
|
"BAD_MESSAGE_MAC": olm.ErrBadMAC,
|
|
"BAD_MESSAGE_KEY_ID": olm.ErrBadMessageKeyID,
|
|
"INVALID_BASE64": olm.ErrLibolmInvalidBase64,
|
|
"BAD_ACCOUNT_KEY": olm.ErrLibolmBadAccountKey,
|
|
"UNKNOWN_PICKLE_VERSION": olm.ErrUnknownOlmPickleVersion,
|
|
"CORRUPTED_PICKLE": olm.ErrLibolmCorruptedPickle,
|
|
"BAD_SESSION_KEY": olm.ErrLibolmBadSessionKey,
|
|
"UNKNOWN_MESSAGE_INDEX": olm.ErrUnknownMessageIndex,
|
|
"BAD_LEGACY_ACCOUNT_PICKLE": olm.ErrLibolmBadLegacyAccountPickle,
|
|
"BAD_SIGNATURE": olm.ErrBadSignature,
|
|
"INPUT_BUFFER_TOO_SMALL": olm.ErrInputToSmall,
|
|
}
|
|
|
|
func convertError(errCode string) error {
|
|
err, ok := errorMap[errCode]
|
|
if ok {
|
|
return err
|
|
}
|
|
return fmt.Errorf("unknown error: %s", errCode)
|
|
}
|