Disable HTTP auth when no username/password is set

This commit is contained in:
Toby 2020-08-07 18:36:13 -07:00
parent 36cf8e6013
commit d3ad171761
2 changed files with 10 additions and 7 deletions

View File

@ -147,6 +147,12 @@ func proxyClient(args []string) {
if len(config.HTTPAddr) > 0 {
go func() {
var authFunc func(user, password string) bool
if config.HTTPUser != "" && config.HTTPPassword != "" {
authFunc = func(user, password string) bool {
return config.HTTPUser == user && config.HTTPPassword == password
}
}
proxy, err := hyHTTP.NewProxyHTTPServer(client, time.Duration(config.HTTPTimeout)*time.Second, aclEngine,
func(reqAddr string, action acl.Action, arg string) {
logrus.WithFields(logrus.Fields{
@ -154,12 +160,7 @@ func proxyClient(args []string) {
"dst": reqAddr,
}).Debug("New HTTP request")
},
func(user, password string) bool {
if config.HTTPUser == "" || config.HTTPPassword == "" {
return true
}
return config.HTTPUser == user && config.HTTPPassword == password
})
authFunc)
if err != nil {
logrus.WithField("error", err).Fatal("HTTP server initialization failed")
}

View File

@ -57,7 +57,9 @@ func NewProxyHTTPServer(hyClient core.Client, idleTimeout time.Duration, aclEngi
//TLSNextProto: make(map[string]func(authority string, c *tls.Conn) http.RoundTripper),
}
proxy.ConnectDial = nil
auth.ProxyBasic(proxy, "hysteria client", basicAuthFunc)
if basicAuthFunc != nil {
auth.ProxyBasic(proxy, "hysteria client", basicAuthFunc)
}
return proxy, nil
}