Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
orangecat
ollama
Commits
99289286
"vscode:/vscode.git/clone" did not exist on "4f7d016d3ecbd9c030c7ac5ea395b05b1a625a30"
Unverified
Commit
99289286
authored
Jul 20, 2023
by
Michael Yang
Committed by
GitHub
Jul 20, 2023
Browse files
Merge pull request #145 from jmorganca/verify-digest
verify blob digest
parents
dde88029
bf198c39
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
0 deletions
+27
-0
server/images.go
server/images.go
+27
-0
No files found.
server/images.go
View file @
99289286
...
...
@@ -615,6 +615,13 @@ func PullModel(name, username, password string, fn func(api.ProgressResponse)) e
}
}
fn
(
api
.
ProgressResponse
{
Status
:
"verifying sha256 digest"
})
for
_
,
layer
:=
range
layers
{
if
err
:=
verifyBlob
(
layer
.
Digest
);
err
!=
nil
{
return
err
}
}
fn
(
api
.
ProgressResponse
{
Status
:
"writing manifest"
})
manifestJSON
,
err
:=
json
.
Marshal
(
manifest
)
...
...
@@ -909,3 +916,23 @@ func makeRequest(method, url string, headers map[string]string, body io.Reader,
return
resp
,
nil
}
func
verifyBlob
(
digest
string
)
error
{
fp
,
err
:=
GetBlobsPath
(
digest
)
if
err
!=
nil
{
return
err
}
f
,
err
:=
os
.
Open
(
fp
)
if
err
!=
nil
{
return
err
}
defer
f
.
Close
()
fileDigest
,
_
:=
GetSHA256Digest
(
f
)
if
digest
!=
fileDigest
{
return
fmt
.
Errorf
(
"digest mismatch: want %s, got %s"
,
digest
,
fileDigest
)
}
return
nil
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment