Add command to get e2ee fingerprint
This commit is contained in:
parent
2b07b80e64
commit
e1b38bb202
2
go.mod
2
go.mod
@ -21,7 +21,7 @@ require (
|
||||
golang.org/x/net v0.0.0-20200505041828-1ed23360d12c
|
||||
gopkg.in/toast.v1 v1.0.0-20180812000517-0a84660828b2
|
||||
gopkg.in/yaml.v2 v2.2.8
|
||||
maunium.net/go/mautrix v0.3.2
|
||||
maunium.net/go/mautrix v0.3.3
|
||||
maunium.net/go/mauview v0.1.1
|
||||
maunium.net/go/tcell v0.2.0
|
||||
)
|
||||
|
2
go.sum
2
go.sum
@ -95,6 +95,8 @@ maunium.net/go/mautrix v0.3.1 h1:zDhN4PYdWavbssA+9JVoCsUmu/u0LtdHeE647oh3W8c=
|
||||
maunium.net/go/mautrix v0.3.1/go.mod h1:SkGZzch8CvU2qKtNpYxtzZ0sQxfVEJ3IsVVLSUBUx9Y=
|
||||
maunium.net/go/mautrix v0.3.2 h1:YLTj8euBTxb118XOryghWpsE/aieFI4lG6jCpCmw5HA=
|
||||
maunium.net/go/mautrix v0.3.2/go.mod h1:SkGZzch8CvU2qKtNpYxtzZ0sQxfVEJ3IsVVLSUBUx9Y=
|
||||
maunium.net/go/mautrix v0.3.3 h1:PV+5oSDaFj3cPTE062O44q/G83x7qfP6gm9kr+BZIgE=
|
||||
maunium.net/go/mautrix v0.3.3/go.mod h1:SkGZzch8CvU2qKtNpYxtzZ0sQxfVEJ3IsVVLSUBUx9Y=
|
||||
maunium.net/go/mauview v0.1.0 h1:x2WdkKI2zdriJuPAB0CKlwmnHGE7W9xfM5z6RgG+IIg=
|
||||
maunium.net/go/mauview v0.1.0/go.mod h1:og9WbzmWe9SNYNyOFlCv8qa9zMcOvG2nzRJ5vYyud9U=
|
||||
maunium.net/go/mauview v0.1.1 h1:wfTXyPx3LGAGpTskh+UbBv/QItUWnEpaneHmywoYnfY=
|
||||
|
@ -64,4 +64,17 @@ type MatrixContainer interface {
|
||||
DownloadToDisk(uri id.ContentURI, file *attachment.EncryptedFile, target string) (string, error)
|
||||
GetDownloadURL(uri id.ContentURI) string
|
||||
GetCachePath(uri id.ContentURI) string
|
||||
|
||||
Crypto() Crypto
|
||||
}
|
||||
|
||||
type Crypto interface {
|
||||
Load() error
|
||||
FlushStore() error
|
||||
ProcessSyncResponse(resp *mautrix.RespSync, since string)
|
||||
HandleMemberEvent(*event.Event)
|
||||
DecryptMegolmEvent(*event.Event) (*event.Event, error)
|
||||
EncryptMegolmEvent(id.RoomID, event.Type, event.Content) (*event.EncryptedEventContent, error)
|
||||
ShareGroupSession(id.RoomID, []id.UserID) error
|
||||
Fingerprint() string
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ import (
|
||||
// It is used for all Matrix calls from the UI and Matrix event handlers.
|
||||
type Container struct {
|
||||
client *mautrix.Client
|
||||
crypto CryptoInterface
|
||||
crypto ifc.Crypto
|
||||
syncer *GomuksSyncer
|
||||
gmx ifc.Gomuks
|
||||
ui ifc.GomuksUI
|
||||
@ -89,14 +89,8 @@ func (log mxLogger) Debugfln(message string, args ...interface{}) {
|
||||
debug.Printf("[Matrix] "+message, args...)
|
||||
}
|
||||
|
||||
type CryptoInterface interface {
|
||||
Load() error
|
||||
FlushStore() error
|
||||
ProcessSyncResponse(resp *mautrix.RespSync, since string)
|
||||
HandleMemberEvent(*event.Event)
|
||||
DecryptMegolmEvent(*event.Event) (*event.Event, error)
|
||||
EncryptMegolmEvent(id.RoomID, event.Type, event.Content) (*event.EncryptedEventContent, error)
|
||||
ShareGroupSession(id.RoomID, []id.UserID) error
|
||||
func (c *Container) Crypto() ifc.Crypto {
|
||||
return c.crypto
|
||||
}
|
||||
|
||||
// InitClient initializes the mautrix client and connects to the homeserver specified in the config.
|
||||
|
@ -134,6 +134,8 @@ func NewCommandProcessor(parent *MainView) *CommandProcessor {
|
||||
"hprof": cmdHeapProfile,
|
||||
"cprof": cmdCPUProfile,
|
||||
"trace": cmdTrace,
|
||||
|
||||
"fingerprint": cmdFingerprint,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -237,7 +237,7 @@ func cmdTag(cmd *Command) {
|
||||
err = cmd.Matrix.Client().AddTag(cmd.Room.MxRoom().ID, cmd.Args[0], order)
|
||||
}
|
||||
if err != nil {
|
||||
cmd.Reply("Failed to add tag:", err)
|
||||
cmd.Reply("Failed to add tag: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@ -248,7 +248,7 @@ func cmdUntag(cmd *Command) {
|
||||
}
|
||||
err := cmd.Matrix.Client().RemoveTag(cmd.Room.MxRoom().ID, cmd.Args[0])
|
||||
if err != nil {
|
||||
cmd.Reply("Failed to remove tag:", err)
|
||||
cmd.Reply("Failed to remove tag: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@ -258,7 +258,16 @@ func cmdRoomNick(cmd *Command) {
|
||||
member.Displayname = strings.Join(cmd.Args, " ")
|
||||
_, err := cmd.Matrix.Client().SendStateEvent(room.ID, event.StateMember, string(room.SessionUserID), member)
|
||||
if err != nil {
|
||||
cmd.Reply("Failed to set room nick:", err)
|
||||
cmd.Reply("Failed to set room nick: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func cmdFingerprint(cmd *Command) {
|
||||
c := cmd.Matrix.Crypto()
|
||||
if c == nil {
|
||||
cmd.Reply("Encryption support is not enabled")
|
||||
} else {
|
||||
cmd.Reply("Device ID: %s\nFingerprint: %s", cmd.Matrix.Client().DeviceID, c.Fingerprint())
|
||||
}
|
||||
}
|
||||
|
||||
@ -440,7 +449,7 @@ func cmdCreateRoom(cmd *Command) {
|
||||
}
|
||||
room, err := cmd.Matrix.CreateRoom(req)
|
||||
if err != nil {
|
||||
cmd.Reply("Failed to create room:", err)
|
||||
cmd.Reply("Failed to create room: %v", err)
|
||||
return
|
||||
}
|
||||
cmd.MainView.SwitchRoom("", room)
|
||||
@ -465,7 +474,7 @@ func cmdPrivateMessage(cmd *Command) {
|
||||
}
|
||||
room, err := cmd.Matrix.CreateRoom(req)
|
||||
if err != nil {
|
||||
cmd.Reply("Failed to create room:", err)
|
||||
cmd.Reply("Failed to create room: %v", err)
|
||||
return
|
||||
}
|
||||
cmd.MainView.SwitchRoom("", room)
|
||||
|
Loading…
Reference in New Issue
Block a user