Move crypto store to main database

This commit is contained in:
Tulir Asokan
2020-05-09 20:07:21 +03:00
parent 6e50a7c380
commit dfc5722a80
8 changed files with 561 additions and 80 deletions

14
main.go
View File

@ -126,6 +126,7 @@ type Crypto interface {
HandleMemberEvent(*event.Event)
Decrypt(*event.Event) (*event.Event, error)
Encrypt(id.RoomID, event.Type, event.Content) (*event.EncryptedEventContent, error)
Init() error
Start()
Stop()
}
@ -225,11 +226,7 @@ func (bridge *Bridge) Init() {
bridge.Log.Debugln("Initializing Matrix event handler")
bridge.MatrixHandler = NewMatrixHandler(bridge)
bridge.Formatter = NewFormatter(bridge)
err = bridge.initCrypto()
if err != nil {
bridge.Log.Fatalln("Error initializing end-to-bridge encryption:", err)
os.Exit(19)
}
bridge.Crypto = NewCryptoHelper(bridge)
}
func (bridge *Bridge) Start() {
@ -238,6 +235,13 @@ func (bridge *Bridge) Start() {
bridge.Log.Fatalln("Failed to initialize database:", err)
os.Exit(15)
}
if bridge.Crypto != nil {
err := bridge.Crypto.Init()
if err != nil {
bridge.Log.Fatalln("Error initializing end-to-bridge encryption:", err)
os.Exit(19)
}
}
if bridge.Provisioning != nil {
bridge.Log.Debugln("Initializing provisioning API")
bridge.Provisioning.Init()