diff --git a/assets b/assets index 00d3552..2bf915a 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit 00d3552a762a87df53687f069e0b5856a5cff39d +Subproject commit 2bf915a33d58fc78c9c13ffc64685219c28a4732 diff --git a/main.go b/main.go index beb875c..d309b8f 100644 --- a/main.go +++ b/main.go @@ -118,8 +118,21 @@ func RunUnix(server *http.Server) error { if err != nil { return err } + defer listener.Close() defer os.Remove(conf.UnixConfig.Listen) + if conf.UnixConfig.Perm > 0 { + err = os.Chmod(conf.UnixConfig.Listen, os.FileMode(conf.UnixConfig.Perm)) + if err != nil { + util.Log().Warning( + "Failed to set permission to %q for socket file %q: %s", + conf.UnixConfig.Perm, + conf.UnixConfig.Listen, + err, + ) + } + } + return server.Serve(listener) } diff --git a/pkg/conf/conf.go b/pkg/conf/conf.go index c1aae7d..78963e3 100644 --- a/pkg/conf/conf.go +++ b/pkg/conf/conf.go @@ -38,6 +38,7 @@ type ssl struct { type unix struct { Listen string ProxyHeader string `validate:"required_with=Listen"` + Perm uint32 } // slave 作为slave存储端配置