mirror of
https://github.com/likelovewant/ollama-for-amd.git
synced 2025-12-21 22:33:56 +00:00
auth: check the permissions on the private key to see if it's readable (#12336)
This commit is contained in:
18
auth/auth.go
18
auth/auth.go
@@ -19,16 +19,28 @@ import (
|
|||||||
const defaultPrivateKey = "id_ed25519"
|
const defaultPrivateKey = "id_ed25519"
|
||||||
|
|
||||||
func keyPath() (string, error) {
|
func keyPath() (string, error) {
|
||||||
fileExists := func(fp string) bool {
|
fileIsReadable := func(fp string) bool {
|
||||||
info, err := os.Stat(fp)
|
info, err := os.Stat(fp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return !info.IsDir()
|
|
||||||
|
// Check that it's a regular file, not a directory or other file type
|
||||||
|
if !info.Mode().IsRegular() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Try to open it to check readability
|
||||||
|
file, err := os.Open(fp)
|
||||||
|
if err != nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
file.Close()
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
systemPath := filepath.Join("/usr/share/ollama/.ollama", defaultPrivateKey)
|
systemPath := filepath.Join("/usr/share/ollama/.ollama", defaultPrivateKey)
|
||||||
if fileExists(systemPath) {
|
if fileIsReadable(systemPath) {
|
||||||
return systemPath, nil
|
return systemPath, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user