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

This commit is contained in:
Patrick Devine 2025-09-18 14:34:34 -07:00 committed by GitHub
parent ceac416ec2
commit eb0a5d4459
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -19,16 +19,28 @@ import (
const defaultPrivateKey = "id_ed25519"
func keyPath() (string, error) {
fileExists := func(fp string) bool {
fileIsReadable := func(fp string) bool {
info, err := os.Stat(fp)
if err != nil {
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)
if fileExists(systemPath) {
if fileIsReadable(systemPath) {
return systemPath, nil
}