Commit b0d9c058 authored by Matthew Holt's avatar Matthew Holt

Change CASE_SENSITIVE_PATH default to false

A default of true is risky when protecting assets by matching base path.
It's not obvious that protecting /foo/ will allow /Foo/ through, and if
accessing static files on a case-insensitive file system... that's no
good. So the default is now to be case-INsensitive when matching paths.
parent cccfe3b4
...@@ -158,7 +158,7 @@ func SetLastModifiedHeader(w http.ResponseWriter, modTime time.Time) { ...@@ -158,7 +158,7 @@ func SetLastModifiedHeader(w http.ResponseWriter, modTime time.Time) {
// CaseSensitivePath determines if paths should be case sensitive. // CaseSensitivePath determines if paths should be case sensitive.
// This is configurable via CASE_SENSITIVE_PATH environment variable. // This is configurable via CASE_SENSITIVE_PATH environment variable.
var CaseSensitivePath = true var CaseSensitivePath = false
const caseSensitivePathEnv = "CASE_SENSITIVE_PATH" const caseSensitivePathEnv = "CASE_SENSITIVE_PATH"
...@@ -167,10 +167,10 @@ const caseSensitivePathEnv = "CASE_SENSITIVE_PATH" ...@@ -167,10 +167,10 @@ const caseSensitivePathEnv = "CASE_SENSITIVE_PATH"
// This could have been in init, but init cannot be called from tests. // This could have been in init, but init cannot be called from tests.
func initCaseSettings() { func initCaseSettings() {
switch os.Getenv(caseSensitivePathEnv) { switch os.Getenv(caseSensitivePathEnv) {
case "0", "false": case "1", "true":
CaseSensitivePath = false
default:
CaseSensitivePath = true CaseSensitivePath = true
default:
CaseSensitivePath = false
} }
} }
......
...@@ -59,7 +59,7 @@ func TestPathCaseSensitiveEnv(t *testing.T) { ...@@ -59,7 +59,7 @@ func TestPathCaseSensitiveEnv(t *testing.T) {
{"0", false}, {"0", false},
{"false", false}, {"false", false},
{"true", true}, {"true", true},
{"", true}, {"", false},
} }
for i, test := range tests { for i, test := range tests {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment