X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/949e7250b7f575d81c2da1c74f15885b6cf1628e..982f7db5b67194ddb3b3dd1fae594784f58b35b8:/services/arv-git-httpd/auth_handler.go diff --git a/services/arv-git-httpd/auth_handler.go b/services/arv-git-httpd/auth_handler.go index b2e91decc6..6313d50d68 100644 --- a/services/arv-git-httpd/auth_handler.go +++ b/services/arv-git-httpd/auth_handler.go @@ -52,7 +52,7 @@ func (h *authHandler) ServeHTTP(wOrig http.ResponseWriter, r *http.Request) { w.WriteHeader(statusCode) w.Write([]byte(statusText)) } - log.Println(quoteStrings(r.RemoteAddr, username, password, wroteStatus, statusText, repoName, r.URL.Path)...) + log.Println(quoteStrings(r.RemoteAddr, username, password, wroteStatus, statusText, repoName, r.Method, r.URL.Path)...) }() // HTTP request username is logged, but unused. Password is an @@ -60,7 +60,7 @@ func (h *authHandler) ServeHTTP(wOrig http.ResponseWriter, r *http.Request) { username, password, ok := BasicAuth(r) if !ok || username == "" || password == "" { statusCode, statusText = http.StatusUnauthorized, "no credentials provided" - w.Header().Add("WWW-Authenticate", "basic") + w.Header().Add("WWW-Authenticate", "Basic realm=\"git\"") return } @@ -87,7 +87,7 @@ func (h *authHandler) ServeHTTP(wOrig http.ResponseWriter, r *http.Request) { arv.ApiToken = password reposFound := arvadosclient.Dict{} if err := arv.List("repositories", arvadosclient.Dict{ - "filters": [][]string{[]string{"name", "=", repoName}}, + "filters": [][]string{{"name", "=", repoName}}, }, &reposFound); err != nil { statusCode, statusText = http.StatusInternalServerError, err.Error() return @@ -135,7 +135,6 @@ func (h *authHandler) ServeHTTP(wOrig http.ResponseWriter, r *http.Request) { "/" + repoName + "/.git", } for _, dir := range tryDirs { - log.Println("Trying", theConfig.Root + dir) if fileInfo, err := os.Stat(theConfig.Root + dir); err != nil { if !os.IsNotExist(err) { statusCode, statusText = http.StatusInternalServerError, err.Error() @@ -147,6 +146,8 @@ func (h *authHandler) ServeHTTP(wOrig http.ResponseWriter, r *http.Request) { } } if rewrittenPath == "" { + log.Println("WARNING:", repoUUID, + "git directory not found in", theConfig.Root, tryDirs) // We say "content not found" to disambiguate from the // earlier "API says that repo does not exist" error. statusCode, statusText = http.StatusNotFound, "content not found"