mirror of
https://git.sr.ht/~adnano/go-gemini
synced 2024-11-10 04:41:38 +01:00
Fix locking up of KnownHostsFile and CertificateDir
This commit is contained in:
parent
2d4989c002
commit
d85abb61db
5
cert.go
5
cert.go
@ -82,8 +82,6 @@ func (c *CertificateDir) Lookup(scope string) (tls.Certificate, bool) {
|
||||
// localhost.crt (certificate) and localhost.key (private key).
|
||||
// New certificates will be written to this directory.
|
||||
func (c *CertificateDir) Load(path string) error {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
matches, err := filepath.Glob(filepath.Join(path, "*.crt"))
|
||||
if err != nil {
|
||||
return err
|
||||
@ -99,8 +97,7 @@ func (c *CertificateDir) Load(path string) error {
|
||||
scope = strings.ReplaceAll(scope, ":", "/")
|
||||
c.Add(scope, cert)
|
||||
}
|
||||
c.dir = true
|
||||
c.path = path
|
||||
c.SetDir(path)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
12
tofu.go
12
tofu.go
@ -90,20 +90,12 @@ func (k *KnownHostsFile) writeKnownHost(w io.Writer, hostname string, f Fingerpr
|
||||
// It creates the file if it does not exist.
|
||||
// New known hosts will be appended to the file.
|
||||
func (k *KnownHostsFile) Load(path string) error {
|
||||
k.mu.Lock()
|
||||
defer k.mu.Unlock()
|
||||
f, err := os.OpenFile(path, os.O_CREATE|os.O_RDONLY, 0644)
|
||||
f, err := os.OpenFile(path, os.O_CREATE|os.O_RDWR, 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
k.Parse(f)
|
||||
f.Close()
|
||||
// Open the file for append-only use
|
||||
f, err = os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
k.out = f
|
||||
k.SetOutput(f)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user