diff --git a/server/handlers/default.go b/server/handlers/default.go index 6e79646114..0e2aefd9a5 100644 --- a/server/handlers/default.go +++ b/server/handlers/default.go @@ -63,7 +63,7 @@ func AddHandler(ctx utils.Context, w http.ResponseWriter, r *http.Request) *erro Err: err, } } - _ = tufRepo.Init(true) + _ = tufRepo.Init(false) err = tufRepo.AddTarget(vars["tag"], json.RawMessage{}) if err != nil { return &errors.HTTPError{ @@ -116,7 +116,7 @@ func RemoveHandler(ctx utils.Context, w http.ResponseWriter, r *http.Request) *e Err: err, } } - _ = tufRepo.Init(true) + _ = tufRepo.Init(false) tufRepo.RemoveTarget(vars["tag"]) err = tufRepo.Sign("targets.json") if err != nil { diff --git a/server/server.go b/server/server.go index fb08530002..dd5e7d2334 100644 --- a/server/server.go +++ b/server/server.go @@ -84,10 +84,10 @@ func Run(ctx context.Context, conf *config.Configuration) error { r := mux.NewRouter() // TODO (endophage): use correct regexes for image and tag names - r.Methods("PUT").Path("/{imageName}/init").Handler(hand(handlers.GenKeysHandler, utils.SSCreate)) - r.Methods("GET").Path("/{imageName}/{tufFile}").Handler(hand(handlers.GetHandler, utils.SSNoAuth)) - r.Methods("DELETE").Path("/{imageName}:{tag}").Handler(hand(handlers.RemoveHandler, utils.SSDelete)) - r.Methods("POST").Path("/{imageName}:{tag}").Handler(hand(handlers.AddHandler, utils.SSUpdate)) + r.Methods("PUT").Path("/{imageName:.*}/init").Handler(hand(handlers.GenKeysHandler, utils.SSCreate)) + r.Methods("GET").Path("/{imageName:.*}/{tufFile:(root.json|targets.json|timestamp.json|snapshot.json)}").Handler(hand(handlers.GetHandler, utils.SSNoAuth)) + r.Methods("DELETE").Path("/{imageName:.*}/{tag:[a-zA-Z0-9]+}").Handler(hand(handlers.RemoveHandler, utils.SSDelete)) + r.Methods("POST").Path("/{imageName:.*}/{tag:[a-zA-Z0-9]+}").Handler(hand(handlers.AddHandler, utils.SSUpdate)) log.Println("server") server := http.Server{