|
@@ -837,6 +837,8 @@ func TestWebDAVBindingsFromEnv(t *testing.T) {
|
|
|
os.Setenv("SFTPGO_WEBDAVD__BINDINGS__1__ENABLE_HTTPS", "0")
|
|
|
os.Setenv("SFTPGO_WEBDAVD__BINDINGS__1__TLS_CIPHER_SUITES", "TLS_RSA_WITH_AES_128_CBC_SHA ")
|
|
|
os.Setenv("SFTPGO_WEBDAVD__BINDINGS__1__PROXY_ALLOWED", "192.168.10.1")
|
|
|
+ os.Setenv("SFTPGO_WEBDAVD__BINDINGS__1__CLIENT_IP_PROXY_HEADER", "X-Forwarded-For")
|
|
|
+ os.Setenv("SFTPGO_WEBDAVD__BINDINGS__1__CLIENT_IP_HEADER_DEPTH", "2")
|
|
|
os.Setenv("SFTPGO_WEBDAVD__BINDINGS__2__ADDRESS", "127.0.1.1")
|
|
|
os.Setenv("SFTPGO_WEBDAVD__BINDINGS__2__PORT", "9000")
|
|
|
os.Setenv("SFTPGO_WEBDAVD__BINDINGS__2__ENABLE_HTTPS", "1")
|
|
@@ -852,6 +854,8 @@ func TestWebDAVBindingsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__1__ENABLE_HTTPS")
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__1__TLS_CIPHER_SUITES")
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__1__PROXY_ALLOWED")
|
|
|
+ os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__1__CLIENT_IP_PROXY_HEADER")
|
|
|
+ os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__1__CLIENT_IP_HEADER_DEPTH")
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__2__ADDRESS")
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__2__PORT")
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__2__ENABLE_HTTPS")
|
|
@@ -873,6 +877,7 @@ func TestWebDAVBindingsFromEnv(t *testing.T) {
|
|
|
require.Equal(t, 12, bindings[0].MinTLSVersion)
|
|
|
require.Len(t, bindings[0].TLSCipherSuites, 0)
|
|
|
require.Empty(t, bindings[0].Prefix)
|
|
|
+ require.Equal(t, 0, bindings[0].ClientIPHeaderDepth)
|
|
|
require.Equal(t, 8000, bindings[1].Port)
|
|
|
require.Equal(t, "127.0.0.1", bindings[1].Address)
|
|
|
require.False(t, bindings[1].EnableHTTPS)
|
|
@@ -881,6 +886,8 @@ func TestWebDAVBindingsFromEnv(t *testing.T) {
|
|
|
require.Len(t, bindings[1].TLSCipherSuites, 1)
|
|
|
require.Equal(t, "TLS_RSA_WITH_AES_128_CBC_SHA", bindings[1].TLSCipherSuites[0])
|
|
|
require.Equal(t, "192.168.10.1", bindings[1].ProxyAllowed[0])
|
|
|
+ require.Equal(t, "X-Forwarded-For", bindings[1].ClientIPProxyHeader)
|
|
|
+ require.Equal(t, 2, bindings[1].ClientIPHeaderDepth)
|
|
|
require.Empty(t, bindings[1].Prefix)
|
|
|
require.Equal(t, 9000, bindings[2].Port)
|
|
|
require.Equal(t, "127.0.1.1", bindings[2].Address)
|
|
@@ -891,6 +898,7 @@ func TestWebDAVBindingsFromEnv(t *testing.T) {
|
|
|
require.Equal(t, "/dav2", bindings[2].Prefix)
|
|
|
require.Equal(t, "webdav.crt", bindings[2].CertificateFile)
|
|
|
require.Equal(t, "webdav.key", bindings[2].CertificateKeyFile)
|
|
|
+ require.Equal(t, 0, bindings[2].ClientIPHeaderDepth)
|
|
|
}
|
|
|
|
|
|
func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
@@ -917,6 +925,8 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
os.Setenv("SFTPGO_HTTPD__BINDINGS__2__CLIENT_AUTH_TYPE", "1")
|
|
|
os.Setenv("SFTPGO_HTTPD__BINDINGS__2__TLS_CIPHER_SUITES", " TLS_AES_256_GCM_SHA384 , TLS_CHACHA20_POLY1305_SHA256")
|
|
|
os.Setenv("SFTPGO_HTTPD__BINDINGS__2__PROXY_ALLOWED", " 192.168.9.1 , 172.16.25.0/24")
|
|
|
+ os.Setenv("SFTPGO_HTTPD__BINDINGS__2__CLIENT_IP_PROXY_HEADER", "X-Real-IP")
|
|
|
+ os.Setenv("SFTPGO_HTTPD__BINDINGS__2__CLIENT_IP_HEADER_DEPTH", "2")
|
|
|
os.Setenv("SFTPGO_HTTPD__BINDINGS__2__HIDE_LOGIN_URL", "3")
|
|
|
os.Setenv("SFTPGO_HTTPD__BINDINGS__2__WEB_CLIENT_INTEGRATIONS__1__URL", "http://127.0.0.1/")
|
|
|
os.Setenv("SFTPGO_HTTPD__BINDINGS__2__WEB_CLIENT_INTEGRATIONS__1__FILE_EXTENSIONS", ".pdf, .txt")
|
|
@@ -979,6 +989,8 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__CLIENT_AUTH_TYPE")
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__TLS_CIPHER_SUITES")
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__PROXY_ALLOWED")
|
|
|
+ os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__CLIENT_IP_PROXY_HEADER")
|
|
|
+ os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__CLIENT_IP_HEADER_DEPTH")
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__HIDE_LOGIN_URL")
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__WEB_CLIENT_INTEGRATIONS__1__URL")
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__WEB_CLIENT_INTEGRATIONS__1__FILE_EXTENSIONS")
|
|
@@ -1038,6 +1050,7 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
require.Equal(t, "TLS_AES_128_GCM_SHA256", bindings[0].TLSCipherSuites[0])
|
|
|
require.Equal(t, 0, bindings[0].HideLoginURL)
|
|
|
require.False(t, bindings[0].Security.Enabled)
|
|
|
+ require.Equal(t, 0, bindings[0].ClientIPHeaderDepth)
|
|
|
require.Equal(t, 8000, bindings[1].Port)
|
|
|
require.Equal(t, "127.0.0.1", bindings[1].Address)
|
|
|
require.False(t, bindings[1].EnableHTTPS)
|
|
@@ -1051,6 +1064,7 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
require.False(t, bindings[1].Security.Enabled)
|
|
|
require.Equal(t, "Web Admin", bindings[1].Branding.WebAdmin.Name)
|
|
|
require.Equal(t, "WebClient", bindings[1].Branding.WebClient.ShortName)
|
|
|
+ require.Equal(t, 0, bindings[1].ClientIPHeaderDepth)
|
|
|
require.Equal(t, 9000, bindings[2].Port)
|
|
|
require.Equal(t, "127.0.1.1", bindings[2].Address)
|
|
|
require.True(t, bindings[2].EnableHTTPS)
|
|
@@ -1065,6 +1079,8 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
require.Len(t, bindings[2].ProxyAllowed, 2)
|
|
|
require.Equal(t, "192.168.9.1", bindings[2].ProxyAllowed[0])
|
|
|
require.Equal(t, "172.16.25.0/24", bindings[2].ProxyAllowed[1])
|
|
|
+ require.Equal(t, "X-Real-IP", bindings[2].ClientIPProxyHeader)
|
|
|
+ require.Equal(t, 2, bindings[2].ClientIPHeaderDepth)
|
|
|
require.Equal(t, 3, bindings[2].HideLoginURL)
|
|
|
require.Len(t, bindings[2].WebClientIntegrations, 1)
|
|
|
require.Equal(t, "http://127.0.0.1/", bindings[2].WebClientIntegrations[0].URL)
|