aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-08 02:31:17 +0800
committerGravatar Runxi Yu2026-03-08 02:31:17 +0800
commitdb2ea1fbc5ccc13f9bbc5a38abf4c55390265fdb (patch)
treef30c52a71f19ea505c884dfcf79681ef2563b29b
parentinternal/compress: Remove InputConsumed/Progress (diff)
signatureNo signature
cmd/receivepack9418: Lint
-rw-r--r--cmd/receivepack9418/conn.go6
-rw-r--r--cmd/receivepack9418/request.go1
-rw-r--r--cmd/receivepack9418/run.go5
3 files changed, 12 insertions, 0 deletions
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
}