* Revert "MM-34000: Use non-epoll mode for TLS connections (#17172)"

This reverts commit 2743089b54.

* Revert "MM-33233: Fix double close of webconn pump (#17026)"

This reverts commit 0f98620b65.

* Revert "MM-33836: Detect and upgrade incorrect HTTP version for websocket handshakes (#17142)"

This reverts commit 4c5ea07aff.

* revert i18n

* Revert "MM-21012: Revamp websocket implementation (#16620)"

This reverts commit a246104d04.

* fix go.mod

* Trigger CI
Этот коммит содержится в:
Agniva De Sarker
2021-03-24 15:29:23 +05:30
коммит произвёл GitHub
родитель 6a65b6ceca
Коммит aba6471512
76 изменённых файлов: 61 добавлений и 9417 удалений

Просмотреть файл

@@ -13,7 +13,6 @@ import (
"net/url"
"path"
"strings"
"unicode/utf8"
"github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/shared/i18n"
@@ -29,58 +28,19 @@ func CheckOrigin(r *http.Request, allowedOrigins string) bool {
return true
}
for _, allowed := range strings.Split(allowedOrigins, " ") {
if equalASCIIFold(allowed, origin) {
if allowed == origin {
return true
}
}
return false
}
// equalASCIIFold returns true if s is equal to t with ASCII case folding as
// defined in RFC 4790.
// Copied from gorilla/websocket/util.go
func equalASCIIFold(s, t string) bool {
for s != "" && t != "" {
sr, size := utf8.DecodeRuneInString(s)
s = s[size:]
tr, size := utf8.DecodeRuneInString(t)
t = t[size:]
if sr == tr {
continue
}
if 'A' <= sr && sr <= 'Z' {
sr = sr + 'a' - 'A'
}
if 'A' <= tr && tr <= 'Z' {
tr = tr + 'a' - 'A'
}
if sr != tr {
return false
}
}
return s == t
}
func OriginChecker(allowedOrigins string) func(*http.Request) bool {
return func(r *http.Request) bool {
return CheckOrigin(r, allowedOrigins)
}
}
func SameOriginChecker() func(*http.Request) bool {
return func(r *http.Request) bool {
origURL, err := url.Parse(r.Header.Get("Origin"))
if err != nil {
return false
}
u := url.URL{
Host: r.Host,
Scheme: origURL.Scheme,
}
return CheckOrigin(r, u.String())
}
}
func RenderWebAppError(config *model.Config, w http.ResponseWriter, r *http.Request, err *model.AppError, s crypto.Signer) {
RenderWebError(config, w, r, err.StatusCode, url.Values{
"message": []string{err.Message},