Signed-off-by: Alexander Morozov <lk4d4@docker.com>
| ... | ... |
@@ -107,33 +107,35 @@ func (s *syslogger) Name() string {
|
| 107 | 107 |
} |
| 108 | 108 |
|
| 109 | 109 |
func parseAddress(address string) (string, string, error) {
|
| 110 |
- if urlutil.IsTransportURL(address) {
|
|
| 111 |
- url, err := url.Parse(address) |
|
| 112 |
- if err != nil {
|
|
| 113 |
- return "", "", err |
|
| 114 |
- } |
|
| 110 |
+ if address == "" {
|
|
| 111 |
+ return "", "", nil |
|
| 112 |
+ } |
|
| 113 |
+ if !urlutil.IsTransportURL(address) {
|
|
| 114 |
+ return "", "", fmt.Errorf("syslog-address should be in form proto://address, got %v", address)
|
|
| 115 |
+ } |
|
| 116 |
+ url, err := url.Parse(address) |
|
| 117 |
+ if err != nil {
|
|
| 118 |
+ return "", "", err |
|
| 119 |
+ } |
|
| 115 | 120 |
|
| 116 |
- // unix socket validation |
|
| 117 |
- if url.Scheme == "unix" {
|
|
| 118 |
- if _, err := os.Stat(url.Path); err != nil {
|
|
| 119 |
- return "", "", err |
|
| 120 |
- } |
|
| 121 |
- return url.Scheme, url.Path, nil |
|
| 121 |
+ // unix socket validation |
|
| 122 |
+ if url.Scheme == "unix" {
|
|
| 123 |
+ if _, err := os.Stat(url.Path); err != nil {
|
|
| 124 |
+ return "", "", err |
|
| 122 | 125 |
} |
| 126 |
+ return url.Scheme, url.Path, nil |
|
| 127 |
+ } |
|
| 123 | 128 |
|
| 124 |
- // here we process tcp|udp |
|
| 125 |
- host := url.Host |
|
| 126 |
- if _, _, err := net.SplitHostPort(host); err != nil {
|
|
| 127 |
- if !strings.Contains(err.Error(), "missing port in address") {
|
|
| 128 |
- return "", "", err |
|
| 129 |
- } |
|
| 130 |
- host = host + ":514" |
|
| 129 |
+ // here we process tcp|udp |
|
| 130 |
+ host := url.Host |
|
| 131 |
+ if _, _, err := net.SplitHostPort(host); err != nil {
|
|
| 132 |
+ if !strings.Contains(err.Error(), "missing port in address") {
|
|
| 133 |
+ return "", "", err |
|
| 131 | 134 |
} |
| 132 |
- |
|
| 133 |
- return url.Scheme, host, nil |
|
| 135 |
+ host = host + ":514" |
|
| 134 | 136 |
} |
| 135 | 137 |
|
| 136 |
- return "", "", nil |
|
| 138 |
+ return url.Scheme, host, nil |
|
| 137 | 139 |
} |
| 138 | 140 |
|
| 139 | 141 |
// ValidateLogOpt looks for syslog specific log options |