From db2ea1fbc5ccc13f9bbc5a38abf4c55390265fdb Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 8 Mar 2026 02:31:17 +0800 Subject: cmd/receivepack9418: Lint --- cmd/receivepack9418/conn.go | 6 ++++++ cmd/receivepack9418/request.go | 1 + cmd/receivepack9418/run.go | 5 +++++ 3 files changed, 12 insertions(+) (limited to 'cmd/receivepack9418') diff --git a/cmd/receivepack9418/conn.go b/cmd/receivepack9418/conn.go index 31062193..c3a17dec 100644 --- a/cmd/receivepack9418/conn.go +++ b/cmd/receivepack9418/conn.go @@ -21,14 +21,18 @@ func (srv *server) handleConn(conn net.Conn) { if err != nil { writeErrPkt(writer, fmt.Sprintf("invalid initial request: %v", err)) _ = writer.Flush() + log.Printf("receivepack9418: %s: invalid initial request: %v", conn.RemoteAddr(), err) + return } if req.Command != "git-receive-pack" { writeErrPkt(writer, fmt.Sprintf("unsupported command %q", req.Command)) _ = writer.Flush() + log.Printf("receivepack9418: %s: unsupported command %q", conn.RemoteAddr(), req.Command) + return } @@ -45,6 +49,7 @@ func (srv *server) handleConn(conn net.Conn) { err = receivepack.ReceivePack(context.Background(), writer, reader, opts) if err != nil { _ = writer.Flush() + log.Printf( "receivepack9418: %s: receive-pack failed (path=%q host=%q extras=%v): %v", conn.RemoteAddr(), @@ -60,6 +65,7 @@ func (srv *server) handleConn(conn net.Conn) { err = writer.Flush() if err != nil { log.Printf("receivepack9418: %s: flush failed: %v", conn.RemoteAddr(), err) + return } } diff --git a/cmd/receivepack9418/request.go b/cmd/receivepack9418/request.go index 5e392926..57b55e30 100644 --- a/cmd/receivepack9418/request.go +++ b/cmd/receivepack9418/request.go @@ -21,6 +21,7 @@ func parseGitProtoRequestPayload(payload []byte) (gitProtoRequest, error) { } commandPath := string(parts[0]) + command, pathname, ok := strings.Cut(commandPath, " ") if !ok || command == "" || pathname == "" { return gitProtoRequest{}, fmt.Errorf("malformed command/path segment %q", commandPath) diff --git a/cmd/receivepack9418/run.go b/cmd/receivepack9418/run.go index 3c806e80..d31da8a2 100644 --- a/cmd/receivepack9418/run.go +++ b/cmd/receivepack9418/run.go @@ -15,18 +15,21 @@ func run(listenAddr, repoPath string) error { if err != nil { return fmt.Errorf("open repo root: %w", err) } + defer func() { _ = repoRoot.Close() }() repo, err := repository.Open(repoRoot) if err != nil { return fmt.Errorf("open repository: %w", err) } + defer func() { _ = repo.Close() }() objectsRoot, err := repoRoot.OpenRoot("objects") if err != nil { return fmt.Errorf("open objects root: %w", err) } + defer func() { _ = objectsRoot.Close() }() srv := &server{ @@ -38,6 +41,7 @@ func run(listenAddr, repoPath string) error { if err != nil { return fmt.Errorf("listen %q: %w", listenAddr, err) } + defer func() { _ = ln.Close() }() log.Printf("receivepack9418: listening on %s", listenAddr) @@ -53,6 +57,7 @@ func run(listenAddr, repoPath string) error { var nerr net.Error if errors.As(err, &nerr) && nerr.Temporary() { log.Printf("receivepack9418: temporary accept error: %v", err) + continue } -- cgit v1.3.1-10-gc9f91