From 141cfd2f9b5715e5eb8d09d9bc5073700a1360fa Mon Sep 17 00:00:00 2001 From: Christopher Brown Date: Mon, 12 Feb 2018 13:05:01 -0600 Subject: remove willnorris/imageproxy support --- api4/image_test.go | 5 +++-- app/post.go | 20 -------------------- app/post_test.go | 52 +++++++++------------------------------------------- model/config.go | 2 +- 4 files changed, 13 insertions(+), 66 deletions(-) diff --git a/api4/image_test.go b/api4/image_test.go index 236d5785d..aa3619cdd 100644 --- a/api4/image_test.go +++ b/api4/image_test.go @@ -37,7 +37,8 @@ func TestGetImage(t *testing.T) { assert.Equal(t, http.StatusNotFound, resp.StatusCode) th.App.UpdateConfig(func(cfg *model.Config) { - cfg.ServiceSettings.ImageProxyType = model.NewString("willnorris/imageproxy") + cfg.ServiceSettings.ImageProxyType = model.NewString("atmos/camo") + cfg.ServiceSettings.ImageProxyOptions = model.NewString("foo") cfg.ServiceSettings.ImageProxyURL = model.NewString("https://proxy.foo.bar") }) @@ -48,5 +49,5 @@ func TestGetImage(t *testing.T) { resp, err = th.Client.HttpClient.Do(r) require.NoError(t, err) assert.Equal(t, http.StatusFound, resp.StatusCode) - assert.Equal(t, "https://proxy.foo.bar//"+originURL, resp.Header.Get("Location")) + assert.Equal(t, "https://proxy.foo.bar/004afe2ef382eb5f30c4490f793f8a8c5b33d8a2/687474703a2f2f666f6f2e6261722f62617a2e676966", resp.Header.Get("Location")) } diff --git a/app/post.go b/app/post.go index be9374e10..30a627d3d 100644 --- a/app/post.go +++ b/app/post.go @@ -6,8 +6,6 @@ package app import ( "crypto/hmac" "crypto/sha1" - "crypto/sha256" - "encoding/base64" "encoding/hex" "encoding/json" "fmt" @@ -904,18 +902,6 @@ func (a *App) ImageProxyAdder() func(string) string { mac.Write([]byte(url)) digest := hex.EncodeToString(mac.Sum(nil)) return proxyURL + digest + "/" + hex.EncodeToString([]byte(url)) - case "willnorris/imageproxy": - options := strings.Split(options, "|") - if len(options) > 1 { - mac := hmac.New(sha256.New, []byte(options[1])) - mac.Write([]byte(url)) - digest := base64.URLEncoding.EncodeToString(mac.Sum(nil)) - if options[0] == "" { - return proxyURL + "s" + digest + "/" + url - } - return proxyURL + options[0] + ",s" + digest + "/" + url - } - return proxyURL + options[0] + "/" + url } return url @@ -938,12 +924,6 @@ func (a *App) ImageProxyRemover() (f func(string) string) { } } } - case "willnorris/imageproxy": - if strings.HasPrefix(url, proxyURL) { - if slash := strings.IndexByte(url[len(proxyURL):], '/'); slash >= 0 { - return url[len(proxyURL)+slash+1:] - } - } } return url diff --git a/app/post_test.go b/app/post_test.go index 409bc043d..cdb612195 100644 --- a/app/post_test.go +++ b/app/post_test.go @@ -208,38 +208,27 @@ func TestImageProxy(t *testing.T) { ImageURL: "http://mydomain.com/myimage", ProxiedImageURL: "https://127.0.0.1/f8dace906d23689e8d5b12c3cefbedbf7b9b72f5/687474703a2f2f6d79646f6d61696e2e636f6d2f6d79696d616765", }, - "willnorris/imageproxy": { - ProxyType: "willnorris/imageproxy", - ProxyURL: "https://127.0.0.1", - ProxyOptions: "x1000", - ImageURL: "http://mydomain.com/myimage", - ProxiedImageURL: "https://127.0.0.1/x1000/http://mydomain.com/myimage", - }, - "willnorris/imageproxy_SameSite": { - ProxyType: "willnorris/imageproxy", + "atmos/camo_SameSite": { + ProxyType: "atmos/camo", ProxyURL: "https://127.0.0.1", + ProxyOptions: "foo", ImageURL: "http://mymattermost.com/myimage", ProxiedImageURL: "http://mymattermost.com/myimage", }, - "willnorris/imageproxy_PathOnly": { - ProxyType: "willnorris/imageproxy", + "atmos/camo_PathOnly": { + ProxyType: "atmos/camo", ProxyURL: "https://127.0.0.1", + ProxyOptions: "foo", ImageURL: "/myimage", ProxiedImageURL: "/myimage", }, - "willnorris/imageproxy_EmptyImageURL": { - ProxyType: "willnorris/imageproxy", + "atmos/camo_EmptyImageURL": { + ProxyType: "atmos/camo", ProxyURL: "https://127.0.0.1", + ProxyOptions: "foo", ImageURL: "", ProxiedImageURL: "", }, - "willnorris/imageproxy_WithSigning": { - ProxyType: "willnorris/imageproxy", - ProxyURL: "https://127.0.0.1", - ProxyOptions: "x1000|foo", - ImageURL: "http://mydomain.com/myimage", - ProxiedImageURL: "https://127.0.0.1/x1000,sbhHVoG5d60UvnNtGh6Iy6x4PaMmnsh8JfZ7JfErKjGU=/http://mydomain.com/myimage", - }, } { t.Run(name, func(t *testing.T) { th.App.UpdateConfig(func(cfg *model.Config) { @@ -265,26 +254,3 @@ func TestImageProxy(t *testing.T) { }) } } - -var imageProxyBenchmarkSink *model.Post - -func BenchmarkPostWithProxyRemovedFromImageURLs(b *testing.B) { - th := Setup().InitBasic() - defer th.TearDown() - - th.App.UpdateConfig(func(cfg *model.Config) { - cfg.ServiceSettings.ImageProxyType = model.NewString("willnorris/imageproxy") - cfg.ServiceSettings.ImageProxyOptions = model.NewString("x1000|foo") - cfg.ServiceSettings.ImageProxyURL = model.NewString("https://127.0.0.1") - }) - - post := &model.Post{ - Message: "![foo](http://mydomain.com/myimage)", - } - - b.ResetTimer() - - for i := 0; i < b.N; i++ { - imageProxyBenchmarkSink = th.App.PostWithProxyAddedToImageURLs(post) - } -} diff --git a/model/config.go b/model/config.go index 9010eaeae..898099d12 100644 --- a/model/config.go +++ b/model/config.go @@ -2096,7 +2096,7 @@ func (ss *ServiceSettings) isValid() *AppError { } switch *ss.ImageProxyType { - case "", "willnorris/imageproxy": + case "": case "atmos/camo": if *ss.ImageProxyOptions == "" { return NewAppError("Config.IsValid", "model.config.is_valid.atmos_camo_image_proxy_options.app_error", nil, "", http.StatusBadRequest) -- cgit v1.2.3-1-g7c22