Make sure that a mirror can't be written to by http or ssh

tokarchuk/v1.17
Peter Smit 10 years ago
parent cd6a2b78a7
commit f9454cc32c
  1. 5
      cmd/serve.go
  2. 5
      routers/repo/http.go

@ -164,6 +164,11 @@ func runServ(c *cli.Context) {
println("You have no right to write this repository") println("You have no right to write this repository")
log.GitLogger.Fatal(2, "User %s has no right to write repository %s", user.Name, repoPath) log.GitLogger.Fatal(2, "User %s has no right to write repository %s", user.Name, repoPath)
} }
if repo.IsMirror {
println("You can't write to a mirror repository")
log.GitLogger.Fatal(2, "User %s tried to write to a mirror repository %s", user.Name, repoPath)
}
case isRead: case isRead:
if !repo.IsPrivate { if !repo.IsPrivate {
break break

@ -158,6 +158,11 @@ func Http(ctx *middleware.Context) {
return return
} }
} }
if !isPull && repo.IsMirror {
ctx.Handle(401, "can't push to mirror", nil)
return
}
} }
} }

Loading…
Cancel
Save