@@ -21,16 +21,18 @@ func main() {
2121 rootDir , err := filepath .Abs (rootDir )
2222 check (err )
2323
24- token := os . Getenv ( "AUTH_TOKEN " )
25- if token == "" {
26- fmt .Fprintln (os .Stderr , "AUTH_TOKEN not set" )
24+ git , err := exec . LookPath ( "git " )
25+ if err != nil {
26+ fmt .Fprintln (os .Stderr , "git not found" , err )
2727 os .Exit (1 )
2828 }
2929
30+ token := os .Getenv ("AUTH_TOKEN" )
31+
3032 if skip , _ := strconv .ParseBool (os .Getenv ("SKIP_ROOT_DIR_INIT" )); ! skip {
3133 _ , err = os .Stat (filepath .Join (rootDir , "HEAD" ))
3234 if errors .Is (err , os .ErrNotExist ) {
33- err = exec .Command (" git" , "init" , "--bare" , rootDir ).Run ()
35+ err = exec .Command (git , "init" , "--bare" , rootDir ).Run ()
3436 }
3537 check (err )
3638 }
@@ -40,19 +42,17 @@ func main() {
4042 port = "8080"
4143 }
4244
43- git , err := exec .LookPath ("git" )
44- if err != nil {
45- fmt .Fprintln (os .Stderr , "git not found" , err )
46- os .Exit (1 )
47- }
48-
49- cgiErr := loggerWriter {log .New (os .Stderr , "git-http-backend: " , 0 )}
45+ cgiErr := loggerWriter {log .New (os .Stderr , "git-http-backend: " , log .LstdFlags | log .Lmicroseconds )}
5046 handler := http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
51- user , reqToken , _ := r .BasicAuth ()
52- if reqToken != token {
53- w .Header ().Set ("WWW-Authenticate" , `Basic realm="Restricted"` )
54- http .Error (w , "Unauthorized" , http .StatusUnauthorized )
55- return
47+ user := "git"
48+ if token != "" {
49+ var reqToken string
50+ user , reqToken , _ = r .BasicAuth ()
51+ if reqToken != token {
52+ w .Header ().Set ("WWW-Authenticate" , `Basic realm="Restricted"` )
53+ http .Error (w , "Unauthorized" , http .StatusUnauthorized )
54+ return
55+ }
5656 }
5757
5858 (& cgi.Handler {
@@ -63,6 +63,7 @@ func main() {
6363 Env : []string {
6464 "GIT_PROJECT_ROOT=" + rootDir ,
6565 "GIT_HTTP_EXPORT_ALL=yes" ,
66+ "GIT_HTTP_MAX_REQUEST_BUFFER=256M" ,
6667 "REMOTE_USER=" + user ,
6768 },
6869 Logger : cgiErr .Logger ,
0 commit comments