Return a better error message is unix socket path is too long.
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
This commit is contained in:
parent
606be14859
commit
3c3a676490
@ -162,6 +162,9 @@ func serve(server *ttrpc.Server, path string) error {
|
|||||||
l, err = net.FileListener(os.NewFile(3, "socket"))
|
l, err = net.FileListener(os.NewFile(3, "socket"))
|
||||||
path = "[inherited from parent]"
|
path = "[inherited from parent]"
|
||||||
} else {
|
} else {
|
||||||
|
if len(path) > 106 {
|
||||||
|
return errors.Errorf("%q: unix socket path too long (> 106)", path)
|
||||||
|
}
|
||||||
l, err = net.Listen("unix", "\x00"+path)
|
l, err = net.Listen("unix", "\x00"+path)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -145,7 +145,7 @@ func newCommand(binary, daemonAddress string, debug bool, config shim.Config, so
|
|||||||
|
|
||||||
func newSocket(address string) (*net.UnixListener, error) {
|
func newSocket(address string) (*net.UnixListener, error) {
|
||||||
if len(address) > 106 {
|
if len(address) > 106 {
|
||||||
return nil, errors.Errorf("%q: unix socket path too long (limit 106)", address)
|
return nil, errors.Errorf("%q: unix socket path too long (> 106)", address)
|
||||||
}
|
}
|
||||||
l, err := net.Listen("unix", "\x00"+address)
|
l, err := net.Listen("unix", "\x00"+address)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -23,11 +23,16 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CreateUnixSocket creates a unix socket and returns the listener
|
// CreateUnixSocket creates a unix socket and returns the listener
|
||||||
func CreateUnixSocket(path string) (net.Listener, error) {
|
func CreateUnixSocket(path string) (net.Listener, error) {
|
||||||
|
// BSDs have a 104 limit
|
||||||
|
if len(path) > 104 {
|
||||||
|
return nil, errors.Errorf("%q: unix socket path too long (> 106)", path)
|
||||||
|
}
|
||||||
if err := os.MkdirAll(filepath.Dir(path), 0660); err != nil {
|
if err := os.MkdirAll(filepath.Dir(path), 0660); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user