From 97904e0529ceaa7efeedb9d23baf0ce79fa5ded8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9E=D0=BB=D0=B5=D0=B3=20=D0=91=D0=BE=D1=80=D0=BE=D0=B4?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Tue, 17 Mar 2026 10:23:01 +0200 Subject: [PATCH] added /v2 auth info --- app/handler/version.go | 19 +++++++------- app/imageoper/manexist.go | 52 +++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 35 deletions(-) diff --git a/app/handler/version.go b/app/handler/version.go index 2cbe220..76062cf 100644 --- a/app/handler/version.go +++ b/app/handler/version.go @@ -10,7 +10,7 @@ package handler import ( - //"net/http" + "net/http" "mstore/app/imageoper" "mstore/app/router" @@ -21,14 +21,15 @@ func (hand *Handler) GetVersion(rctx *router.Context) { params := &imageoper.GetVersionParams{} //hand.DumpHeaders("GetVersion", rctx) - /* - authorization := rctx.GetHeader("Authorization") - if authorization == "" { - rctx.SetHeader("WWW-Authenticate", `Basic realm="mstore"`) - rctx.SetStatus(http.StatusUnauthorized) - return - } - */ + + authorization := rctx.GetHeader("Authorization") + if authorization == "" { + rctx.SetHeader("WWW-Authenticate", `Basic realm="mstore"`) + //rctx.SetStatus(http.StatusUnauthorized) + rctx.SetStatus(http.StatusOK) + return + } + ctx := rctx.GetContext() _, code, err := hand.imop.GetVersion(ctx, params) if err != nil { diff --git a/app/imageoper/manexist.go b/app/imageoper/manexist.go index bfa934d..934462a 100644 --- a/app/imageoper/manexist.go +++ b/app/imageoper/manexist.go @@ -63,32 +63,32 @@ func (oper *Operator) ManifestExists(ctx context.Context, params *ManifestExists res.Exists = exist } else { /* - // Create index of manifests - exists, manDescrs, err := oper.mdb.GetManifestsByReference(ctx, params.Name, params.Reference) - if err != nil { - return res, http.StatusInternalServerError, err - } - if !exists { - return res, http.StatusNotFound, err - } - if len(manDescrs) == 1 { - manDescr := manDescrs[0] - res.DockerContentDigest = manDescr.Digest - size := int64(len(manDescr.Payload)) - res.ContentLength = strconv.FormatInt(size, 10) - res.ContentType = manDescr.ContentType - } else { - _, indexdata, err := indexFromManigestDescrs(manDescrs) - if err != nil { - return res, http.StatusInternalServerError, err - } - digobj := ocidigest.FromBytes(indexdata) - res.DockerContentDigest = digobj.String() - size := int64(len(indexdata)) - res.ContentLength = strconv.FormatInt(size, 10) - res.ContentType = oiiMediaType - res.Exists = true - } + // Create index of manifests + exists, manDescrs, err := oper.mdb.GetManifestsByReference(ctx, params.Name, params.Reference) + if err != nil { + return res, http.StatusInternalServerError, err + } + if !exists { + return res, http.StatusNotFound, err + } + if len(manDescrs) == 1 { + manDescr := manDescrs[0] + res.DockerContentDigest = manDescr.Digest + size := int64(len(manDescr.Payload)) + res.ContentLength = strconv.FormatInt(size, 10) + res.ContentType = manDescr.ContentType + } else { + _, indexdata, err := indexFromManigestDescrs(manDescrs) + if err != nil { + return res, http.StatusInternalServerError, err + } + digobj := ocidigest.FromBytes(indexdata) + res.DockerContentDigest = digobj.String() + size := int64(len(indexdata)) + res.ContentLength = strconv.FormatInt(size, 10) + res.ContentType = oiiMediaType + res.Exists = true + } */ exists, manDescr, err := oper.mdb.GetManifestByReference(ctx, params.Name, params.Reference) if err != nil {