Unverified Commit eb0a5d44 authored by Patrick Devine's avatar Patrick Devine Committed by GitHub
Browse files

auth: check the permissions on the private key to see if it's readable (#12336)

parent ceac416e
...@@ -19,16 +19,28 @@ import ( ...@@ -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
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment