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.
This commit is contained in:
Matthew Holt 2017-10-08 22:19:35 -06:00
parent cccfe3b4ef
commit b0d9c058cc
No known key found for this signature in database
GPG key ID: 2A349DD577D586A5
2 changed files with 5 additions and 5 deletions

View file

@ -158,7 +158,7 @@ func SetLastModifiedHeader(w http.ResponseWriter, modTime time.Time) {
// CaseSensitivePath determines if paths should be case sensitive.
// This is configurable via CASE_SENSITIVE_PATH environment variable.
var CaseSensitivePath = true
var CaseSensitivePath = false
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.
func initCaseSettings() {
switch os.Getenv(caseSensitivePathEnv) {
case "0", "false":
CaseSensitivePath = false
default:
case "1", "true":
CaseSensitivePath = true
default:
CaseSensitivePath = false
}
}

View file

@ -59,7 +59,7 @@ func TestPathCaseSensitiveEnv(t *testing.T) {
{"0", false},
{"false", false},
{"true", true},
{"", true},
{"", false},
}
for i, test := range tests {