diff --git a/server/server.go b/server/server.go index 7026dfb9..1ffb85cb 100644 --- a/server/server.go +++ b/server/server.go @@ -174,7 +174,7 @@ func (s *Server) Run() error { listenStr += fmt.Sprintf(" %s[https]", s.config.ListenHTTPS) } if s.config.ListenUnix != "" { - listenStr += fmt.Sprintf(" %s[unix]", s.config.ListenUnix) + listenStr += fmt.Sprintf(" %s[unix/%04o]", s.config.ListenUnix, s.config.ListenUnixMode) } if s.config.SMTPServerListen != "" { listenStr += fmt.Sprintf(" %s[smtp]", s.config.SMTPServerListen) @@ -207,6 +207,11 @@ func (s *Server) Run() error { errChan <- err return } + if err := os.Chmod(s.config.ListenUnix, s.config.ListenUnixMode); err != nil { + s.unixListener.Close() + errChan <- err + return + } s.mu.Unlock() httpServer := &http.Server{Handler: mux} errChan <- httpServer.Serve(s.unixListener)