From 3e47a7505e6b7a268dcd635576718f05ee1c3fc9 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 10 Apr 2022 15:08:25 +0200 Subject: [PATCH] daemon/logger/fluentd: remove udp, tcp+tls, unixgram, add tls scheme unix and unixgram were added in cb176c848e0731f77fa48b4e1a90ae74d1f2deae, but at the time, the driver only supported "tcp" and "unix": https://github.com/moby/moby/blob/cb176c848e0731f77fa48b4e1a90ae74d1f2deae/vendor/src/github.com/fluent/fluent-logger-golang/fluent/fluent.go#L243-L261 support for tls was added in github.com/fluent/fluent-logger-golang v1.8.0, which was vendored in e24d61b7efac787ff3d5176d994608937a057522. the list of currently supported schemes by the driver is: tcp, tls and unix: https://github.com/moby/moby/blob/5179299b98a37ac2ba6eb8aefe8bf211f33f7dcc/vendor/github.com/fluent/fluent-logger-golang/fluent/fluent.go#L435-L463 Signed-off-by: Sebastiaan van Stijn --- daemon/logger/fluentd/fluentd.go | 4 ++-- daemon/logger/fluentd/fluentd_test.go | 30 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/daemon/logger/fluentd/fluentd.go b/daemon/logger/fluentd/fluentd.go index 56038dcc8c..b99c46e107 100644 --- a/daemon/logger/fluentd/fluentd.go +++ b/daemon/logger/fluentd/fluentd.go @@ -285,12 +285,12 @@ func parseAddress(address string) (*location, error) { } switch addr.Scheme { - case "unix", "unixgram": + case "unix": if strings.TrimLeft(addr.Path, "/") == "" { return nil, errors.New("path is empty") } return &location{protocol: addr.Scheme, path: addr.Path}, nil - case "tcp", "tcp+tls", "udp": + case "tcp", "tls": // continue processing below default: return nil, errors.Errorf("unsupported scheme: '%s'", addr.Scheme) diff --git a/daemon/logger/fluentd/fluentd_test.go b/daemon/logger/fluentd/fluentd_test.go index 9963c6951c..8fd27b89dc 100644 --- a/daemon/logger/fluentd/fluentd_test.go +++ b/daemon/logger/fluentd/fluentd_test.go @@ -95,6 +95,24 @@ func TestValidateLogOptAddress(t *testing.T) { host: "example.com", }, }, + { + addr: "tls://", + paths: paths, + expected: location{ + protocol: "tls", + host: defaultHost, + port: defaultPort, + }, + }, + { + addr: "tls://example.com", + ports: validPorts, + paths: paths, + expected: location{ + protocol: "tls", + host: "example.com", + }, + }, { addr: "://", expectedErr: "missing protocol scheme", @@ -103,6 +121,18 @@ func TestValidateLogOptAddress(t *testing.T) { addr: "something://", expectedErr: "unsupported scheme: 'something'", }, + { + addr: "udp://", + expectedErr: "unsupported scheme: 'udp'", + }, + { + addr: "unixgram://", + expectedErr: "unsupported scheme: 'unixgram'", + }, + { + addr: "tcp+tls://", + expectedErr: "unsupported scheme: 'tcp+tls'", + }, { addr: "corrupted:c", expectedErr: "invalid port",