Sfoglia il codice sorgente

Merge pull request #958 from phsmit/fix_mirror_access

Make sure that a mirror can't be written to by http or ssh
无闻 10 anni fa
parent
commit
58e28e5d9d
2 ha cambiato i file con 10 aggiunte e 0 eliminazioni
  1. 5 0
      cmd/serve.go
  2. 5 0
      routers/repo/http.go

+ 5 - 0
cmd/serve.go

@@ -164,6 +164,11 @@ func runServ(c *cli.Context) {
 			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)
 		}
+
+		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:
 		if !repo.IsPrivate {
 			break

+ 5 - 0
routers/repo/http.go

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