4
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2025-08-02 17:23:46 +00:00

Merge pull request #238 from neilalexander/afunix

Use AF_UNIX socket by default for admin API
This commit is contained in:
Arceliar
2018-12-10 17:34:36 -06:00
committed by GitHub
11 changed files with 117 additions and 17 deletions

View File

@@ -343,7 +343,19 @@ func (a *admin) listen() {
if err == nil {
switch strings.ToLower(u.Scheme) {
case "unix":
if _, err := os.Stat(a.listenaddr[7:]); err == nil {
a.core.log.Println("WARNING:", a.listenaddr[7:], "already exists and may be in use by another process")
}
a.listener, err = net.Listen("unix", a.listenaddr[7:])
if err == nil {
switch a.listenaddr[7:8] {
case "@": // maybe abstract namespace
default:
if err := os.Chmod(a.listenaddr[7:], 0660); err != nil {
a.core.log.Println("WARNING:", a.listenaddr[:7], "may have unsafe permissions!")
}
}
}
case "tcp":
a.listener, err = net.Listen("tcp", u.Host)
default: