name conversion for change request

This commit is contained in:
flymin 2022-05-25 10:19:03 +08:00
parent 8b783cbe56
commit 7b5d9eba91
3 changed files with 12 additions and 14 deletions

View File

@ -95,7 +95,7 @@ tls-cert: ""
tls-key: ""
tls-min-vers: ""
url-prefix: ""
access_key: ""
access-key: ""
```
Example configuration with possible alternative values:

View File

@ -28,7 +28,7 @@ var (
TLSMinVersStr string `yaml:"tls-min-vers"`
URLPrefix string `yaml:"url-prefix"`
Referrers []string `yaml:"referrers"`
AccessKey string `yaml:"accessKey"`
AccessKey string `yaml:"access-key"`
}
)

View File

@ -159,32 +159,30 @@ func AddCorsWildcardHeaders(serve http.HandlerFunc) http.HandlerFunc {
func AddAccessKey(serve http.HandlerFunc, accessKey string) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
// Get key or md5sum from this access.
keys, key_ok := r.URL.Query()["key"]
keys, keyOk := r.URL.Query()["key"]
var code string
if !key_ok || len(keys[0]) < 1 {
if !keyOk || len(keys[0]) < 1 {
// In case a code is provided
codes, code_ok := r.URL.Query()["code"]
if !code_ok || len(codes[0]) < 1 {
codes, codeOk := r.URL.Query()["code"]
if !codeOk || len(codes[0]) < 1 {
http.NotFound(w, r)
return
}
code = codes[0]
code = strings.ToUpper(codes[0])
} else {
// In case a key is provided, convert to code.
data := []byte(r.URL.Path + keys[0])
hash := md5.Sum(data)
code = fmt.Sprintf("%x", hash)
code = fmt.Sprintf("%X", hash)
}
code = strings.ToUpper(code)
// Compute the correct md5sum of this access.
local_data := []byte(r.URL.Path + accessKey)
hash := md5.Sum(local_data)
local_code := fmt.Sprintf("%x", hash)
local_code = strings.ToUpper(local_code)
localData := []byte(r.URL.Path + accessKey)
hash := md5.Sum(localData)
localCode := fmt.Sprintf("%X", hash)
// Compare the two.
if code != local_code {
if code != localCode {
http.NotFound(w, r)
return
}