mautrix-go/crypto/goolm/goolmbase64
Sumner Evans 213b6ec80d
crypto/olm: make everything into an interface
This commit turns all of the crypto objects that are provided by olm
into interfaces so that multiple implementations (libolm and goolm right
now) can implement it.

As part of this refactor, the libolm code has been moved to a separate
package (goolm was already in its own package). Both packages now
implement structs which implement the various interfaces.

Additional changes:

* goolm/goolmbase64: split into separate package (needed to avoid import
  loops)
* olm/errors: unified all errors under the olm package
* ci: remove libolm before building with goolm flag (this allows us to
  use ./... to build all of the packages under goolm)

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
2024-08-23 09:16:33 -06:00
..
base64.go crypto/olm: make everything into an interface 2024-08-23 09:16:33 -06:00