safesocket: make some effort to create parent directory of sock

This commit is contained in:
Brad Fitzpatrick 2020-03-03 11:47:21 -08:00
parent 383d86df5f
commit b3d9eab1fe

View File

@ -10,6 +10,7 @@ import (
"fmt" "fmt"
"net" "net"
"os" "os"
"path/filepath"
) )
// TODO(apenwarr): handle magic cookie auth // TODO(apenwarr): handle magic cookie auth
@ -39,6 +40,7 @@ func listen(path string, port uint16) (ln net.Listener, _ uint16, err error) {
return nil, 0, fmt.Errorf("%v: address already in use", path) return nil, 0, fmt.Errorf("%v: address already in use", path)
} }
_ = os.Remove(path) _ = os.Remove(path)
os.MkdirAll(filepath.Dir(path), 0755) // best effort
pipe, err := net.Listen("unix", path) pipe, err := net.Listen("unix", path)
if err != nil { if err != nil {
return nil, 0, err return nil, 0, err