From 690b0e15aee4b89a1b07486df7632179ea80a49b Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Fri, 22 Jan 2021 14:54:35 +0000 Subject: [PATCH] Use matrix-org/gomatrixserverlib#252 --- cmd/dendrite-demo-libp2p/main.go | 13 +++++-- cmd/dendrite-demo-yggdrasil/yggconn/client.go | 13 +++++-- cmd/dendritejs/main.go | 10 ++++- go.mod | 2 +- go.sum | 4 +- keyserver/internal/device_list_update_test.go | 6 ++- setup/base.go | 38 +++++++++++++------ signingkeyserver/serverkeyapi_test.go | 7 +++- 8 files changed, 67 insertions(+), 26 deletions(-) diff --git a/cmd/dendrite-demo-libp2p/main.go b/cmd/dendrite-demo-libp2p/main.go index 3acec2fd0..c6f63547c 100644 --- a/cmd/dendrite-demo-libp2p/main.go +++ b/cmd/dendrite-demo-libp2p/main.go @@ -76,9 +76,12 @@ func createFederationClient( "matrix", p2phttp.NewTransport(base.LibP2P, p2phttp.ProtocolOption("/matrix")), ) - return gomatrixserverlib.NewFederationClientWithTransport( + return gomatrixserverlib.NewFederationClient( base.Base.Cfg.Global.ServerName, base.Base.Cfg.Global.KeyID, - base.Base.Cfg.Global.PrivateKey, true, tr, + base.Base.Cfg.Global.PrivateKey, true, + gomatrixserverlib.WithTransport{ + Transport: tr, + }, ) } @@ -90,7 +93,11 @@ func createClient( "matrix", p2phttp.NewTransport(base.LibP2P, p2phttp.ProtocolOption("/matrix")), ) - return gomatrixserverlib.NewClientWithTransport(tr) + return gomatrixserverlib.NewClient( + gomatrixserverlib.WithTransport{ + Transport: tr, + }, + ) } func main() { diff --git a/cmd/dendrite-demo-yggdrasil/yggconn/client.go b/cmd/dendrite-demo-yggdrasil/yggconn/client.go index ea51f4b17..496564c5b 100644 --- a/cmd/dendrite-demo-yggdrasil/yggconn/client.go +++ b/cmd/dendrite-demo-yggdrasil/yggconn/client.go @@ -33,7 +33,11 @@ func (n *Node) CreateClient( }, }, ) - return gomatrixserverlib.NewClientWithTransport(tr) + return gomatrixserverlib.NewClient( + gomatrixserverlib.WithTransport{ + Transport: tr, + }, + ) } func (n *Node) CreateFederationClient( @@ -53,8 +57,11 @@ func (n *Node) CreateFederationClient( }, }, ) - return gomatrixserverlib.NewFederationClientWithTransport( + return gomatrixserverlib.NewFederationClient( base.Cfg.Global.ServerName, base.Cfg.Global.KeyID, - base.Cfg.Global.PrivateKey, true, tr, + base.Cfg.Global.PrivateKey, true, + gomatrixserverlib.WithTransport{ + Transport: tr, + }, ) } diff --git a/cmd/dendritejs/main.go b/cmd/dendritejs/main.go index 1ffb1667b..21fb8d42f 100644 --- a/cmd/dendritejs/main.go +++ b/cmd/dendritejs/main.go @@ -140,15 +140,21 @@ func createFederationClient(cfg *config.Dendrite, node *go_http_js_libp2p.P2pLoc fed := gomatrixserverlib.NewFederationClient( cfg.Global.ServerName, cfg.Global.KeyID, cfg.Global.PrivateKey, true, + gomatrixserverlib.WithTransport{ + Transport: tr, + }, ) - fed.Client = *gomatrixserverlib.NewClientWithTransport(tr) return fed } func createClient(node *go_http_js_libp2p.P2pLocalNode) *gomatrixserverlib.Client { tr := go_http_js_libp2p.NewP2pTransport(node) - return gomatrixserverlib.NewClientWithTransport(tr) + return gomatrixserverlib.NewClient( + gomatrixserverlib.WithTransport{ + Transport: tr, + }, + ) } func createP2PNode(privKey ed25519.PrivateKey) (serverName string, node *go_http_js_libp2p.P2pLocalNode) { diff --git a/go.mod b/go.mod index a0fee1030..b249b8508 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/matrix-org/go-http-js-libp2p v0.0.0-20200518170932-783164aeeda4 github.com/matrix-org/go-sqlite3-js v0.0.0-20200522092705-bc8506ccbcf3 github.com/matrix-org/gomatrix v0.0.0-20200827122206-7dd5e2a05bcd - github.com/matrix-org/gomatrixserverlib v0.0.0-20210122141547-5c2c047bfdcd + github.com/matrix-org/gomatrixserverlib v0.0.0-20210122145212-a95dacb6fbfe github.com/matrix-org/naffka v0.0.0-20200901083833-bcdd62999a91 github.com/matrix-org/util v0.0.0-20200807132607-55161520e1d4 github.com/mattn/go-sqlite3 v1.14.2 diff --git a/go.sum b/go.sum index 7accf175f..46052465d 100644 --- a/go.sum +++ b/go.sum @@ -567,8 +567,8 @@ github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26 h1:Hr3zjRsq2bh github.com/matrix-org/gomatrix v0.0.0-20190528120928-7df988a63f26/go.mod h1:3fxX6gUjWyI/2Bt7J1OLhpCzOfO/bB3AiX0cJtEKud0= github.com/matrix-org/gomatrix v0.0.0-20200827122206-7dd5e2a05bcd h1:xVrqJK3xHREMNjwjljkAUaadalWc0rRbmVuQatzmgwg= github.com/matrix-org/gomatrix v0.0.0-20200827122206-7dd5e2a05bcd/go.mod h1:/gBX06Kw0exX1HrwmoBibFA98yBk/jxKpGVeyQbff+s= -github.com/matrix-org/gomatrixserverlib v0.0.0-20210122141547-5c2c047bfdcd h1:SbWP7aHgACfAQpI2te6LzxK3l0+UqPOb8NOCOxzwV1c= -github.com/matrix-org/gomatrixserverlib v0.0.0-20210122141547-5c2c047bfdcd/go.mod h1:JsAzE1Ll3+gDWS9JSUHPJiiyAksvOOnGWF2nXdg4ZzU= +github.com/matrix-org/gomatrixserverlib v0.0.0-20210122145212-a95dacb6fbfe h1:ra5KEAStTQ9RuML7ZBAnUndlVJ34pqydbjJ13KgiJ+8= +github.com/matrix-org/gomatrixserverlib v0.0.0-20210122145212-a95dacb6fbfe/go.mod h1:JsAzE1Ll3+gDWS9JSUHPJiiyAksvOOnGWF2nXdg4ZzU= github.com/matrix-org/naffka v0.0.0-20200901083833-bcdd62999a91 h1:HJ6U3S3ljJqNffYMcIeAncp5qT/i+ZMiJ2JC2F0aXP4= github.com/matrix-org/naffka v0.0.0-20200901083833-bcdd62999a91/go.mod h1:sjyPyRxKM5uw1nD2cJ6O2OxI6GOqyVBfNXqKjBZTBZE= github.com/matrix-org/util v0.0.0-20190711121626-527ce5ddefc7 h1:ntrLa/8xVzeSs8vHFHK25k0C+NV74sYMJnNSg5NoSRo= diff --git a/keyserver/internal/device_list_update_test.go b/keyserver/internal/device_list_update_test.go index 9c4cc1165..f63cdbb73 100644 --- a/keyserver/internal/device_list_update_test.go +++ b/keyserver/internal/device_list_update_test.go @@ -108,7 +108,11 @@ func newFedClient(tripper func(*http.Request) (*http.Response, error)) *gomatrix fedClient := gomatrixserverlib.NewFederationClient( gomatrixserverlib.ServerName("example.test"), gomatrixserverlib.KeyID("ed25519:test"), pkey, true, ) - fedClient.Client = *gomatrixserverlib.NewClientWithTransport(&roundTripper{tripper}) + fedClient.Client = *gomatrixserverlib.NewClient( + gomatrixserverlib.WithTransport{ + Transport: &roundTripper{tripper}, + }, + ) return fedClient } diff --git a/setup/base.go b/setup/base.go index 5f0431e84..c6df62643 100644 --- a/setup/base.go +++ b/setup/base.go @@ -266,15 +266,20 @@ func (b *BaseDendrite) CreateAccountsDB() accounts.Database { // Should only be called once per component. func (b *BaseDendrite) CreateClient() *gomatrixserverlib.Client { if b.Cfg.Global.DisableFederation { - return gomatrixserverlib.NewClientWithTransport(noOpHTTPTransport) + return gomatrixserverlib.NewClient( + gomatrixserverlib.WithTransport{ + Transport: noOpHTTPTransport, + }, + ) } opts := []gomatrixserverlib.ClientOption{} if b.Cfg.Global.DNSCache.Enabled { opts = append(opts, gomatrixserverlib.WithDNSCache{DNSCache: b.DNSCache}) } - client := gomatrixserverlib.NewClient( - b.Cfg.FederationSender.DisableTLSValidation, opts..., - ) + if validation := b.Cfg.FederationSender.DisableTLSValidation; validation { + opts = append(opts, gomatrixserverlib.WithSkipVerify{SkipVerify: validation}) + } + client := gomatrixserverlib.NewClient(opts...) client.SetUserAgent(fmt.Sprintf("Dendrite/%s", internal.VersionString())) return client } @@ -283,18 +288,27 @@ func (b *BaseDendrite) CreateClient() *gomatrixserverlib.Client { // once per component. func (b *BaseDendrite) CreateFederationClient() *gomatrixserverlib.FederationClient { if b.Cfg.Global.DisableFederation { - return gomatrixserverlib.NewFederationClientWithTransport( - b.Cfg.Global.ServerName, b.Cfg.Global.KeyID, b.Cfg.Global.PrivateKey, - b.Cfg.FederationSender.DisableTLSValidation, noOpHTTPTransport, + return gomatrixserverlib.NewFederationClient( + b.Cfg.Global.ServerName, b.Cfg.Global.KeyID, + b.Cfg.Global.PrivateKey, b.Cfg.FederationSender.DisableTLSValidation, + gomatrixserverlib.WithTransport{ + Transport: noOpHTTPTransport, + }, ) } - opts := []gomatrixserverlib.ClientOption{} - if b.Cfg.Global.DNSCache.Enabled { - opts = append(opts, gomatrixserverlib.WithDNSCache{DNSCache: b.DNSCache}) + opts := []gomatrixserverlib.ClientOption{ + gomatrixserverlib.WithTimeout{ + Timeout: time.Minute * 5, + }, } - client := gomatrixserverlib.NewFederationClientWithTimeout( + if b.Cfg.Global.DNSCache.Enabled { + opts = append(opts, gomatrixserverlib.WithDNSCache{ + DNSCache: b.DNSCache, + }) + } + client := gomatrixserverlib.NewFederationClient( b.Cfg.Global.ServerName, b.Cfg.Global.KeyID, b.Cfg.Global.PrivateKey, - b.Cfg.FederationSender.DisableTLSValidation, time.Minute*5, opts..., + b.Cfg.FederationSender.DisableTLSValidation, opts..., ) client.SetUserAgent(fmt.Sprintf("Dendrite/%s", internal.VersionString())) return client diff --git a/signingkeyserver/serverkeyapi_test.go b/signingkeyserver/serverkeyapi_test.go index e59deb4d7..8af7e0888 100644 --- a/signingkeyserver/serverkeyapi_test.go +++ b/signingkeyserver/serverkeyapi_test.go @@ -87,8 +87,11 @@ func TestMain(m *testing.M) { transport.RegisterProtocol("matrix", &MockRoundTripper{}) // Create the federation client. - s.fedclient = gomatrixserverlib.NewFederationClientWithTransport( - s.config.Matrix.ServerName, serverKeyID, testPriv, true, transport, + s.fedclient = gomatrixserverlib.NewFederationClient( + s.config.Matrix.ServerName, serverKeyID, testPriv, true, + gomatrixserverlib.WithTransport{ + Transport: transport, + }, ) // Finally, build the server key APIs.