diff --git a/daemon/logger/syslog/syslog.go b/daemon/logger/syslog/syslog.go index 99e03278ce..a61417c0cb 100644 --- a/daemon/logger/syslog/syslog.go +++ b/daemon/logger/syslog/syslog.go @@ -152,8 +152,8 @@ func parseAddress(address string) (string, string, error) { return "", "", err } - // unix socket validation - if url.Scheme == "unix" { + // unix and unixgram socket validation + if url.Scheme == "unix" || url.Scheme == "unixgram" { if _, err := os.Stat(url.Path); err != nil { return "", "", err } diff --git a/docs/admin/logging/overview.md b/docs/admin/logging/overview.md index 8a7cd12ffb..d00b4d633a 100644 --- a/docs/admin/logging/overview.md +++ b/docs/admin/logging/overview.md @@ -74,6 +74,7 @@ The following logging options are supported for the `syslog` logging driver: --log-opt syslog-address=[tcp|udp|tcp+tls]://host:port --log-opt syslog-address=unix://path + --log-opt syslog-address=unixgram://path --log-opt syslog-facility=daemon --log-opt syslog-tls-ca-cert=/etc/ca-certificates/custom/ca.pem --log-opt syslog-tls-cert=/etc/ca-certificates/custom/cert.pem diff --git a/pkg/urlutil/urlutil.go b/pkg/urlutil/urlutil.go index 1135a4c6ce..44152873b1 100644 --- a/pkg/urlutil/urlutil.go +++ b/pkg/urlutil/urlutil.go @@ -11,7 +11,7 @@ var ( validPrefixes = map[string][]string{ "url": {"http://", "https://"}, "git": {"git://", "github.com/", "git@"}, - "transport": {"tcp://", "tcp+tls://", "udp://", "unix://"}, + "transport": {"tcp://", "tcp+tls://", "udp://", "unix://", "unixgram://"}, } urlPathWithFragmentSuffix = regexp.MustCompile(".git(?:#.+)?$") ) diff --git a/pkg/urlutil/urlutil_test.go b/pkg/urlutil/urlutil_test.go index 86d48cfe23..75eb464fe5 100644 --- a/pkg/urlutil/urlutil_test.go +++ b/pkg/urlutil/urlutil_test.go @@ -23,6 +23,7 @@ var ( "tcp+tls://example.com", "udp://example.com", "unix:///example", + "unixgram:///example", } )