Commit b3783161 authored by Guilherme Rezende's avatar Guilherme Rezende

replace c.ArgErr with c.Err in tls when is the case

parent a94c7dd7
...@@ -64,19 +64,20 @@ func TLS(c *Controller) (middleware.Middleware, error) { ...@@ -64,19 +64,20 @@ func TLS(c *Controller) (middleware.Middleware, error) {
} }
value, ok := supportedProtocols[strings.ToLower(args[0])] value, ok := supportedProtocols[strings.ToLower(args[0])]
if !ok { if !ok {
return nil, c.ArgErr() return nil, c.Errf("Wrong protocol name or protocol not supported '%s'", c.Val())
} }
c.TLS.ProtocolMinVersion = value c.TLS.ProtocolMinVersion = value
value, ok = supportedProtocols[strings.ToLower(args[1])] value, ok = supportedProtocols[strings.ToLower(args[1])]
if !ok { if !ok {
return nil, c.ArgErr() return nil, c.Errf("Wrong protocol name or protocol not supported '%s'", c.Val())
} }
c.TLS.ProtocolMaxVersion = value c.TLS.ProtocolMaxVersion = value
case "ciphers": case "ciphers":
for c.NextArg() { for c.NextArg() {
value, ok := supportedCiphers[strings.ToUpper(c.Val())] value, ok := supportedCiphers[strings.ToUpper(c.Val())]
if !ok { if !ok {
return nil, c.ArgErr() return nil, c.Errf("Wrong cipher name or cipher not supported '%s'", c.Val())
} }
c.TLS.Ciphers = append(c.TLS.Ciphers, value) c.TLS.Ciphers = append(c.TLS.Ciphers, value)
} }
...@@ -84,9 +85,13 @@ func TLS(c *Controller) (middleware.Middleware, error) { ...@@ -84,9 +85,13 @@ func TLS(c *Controller) (middleware.Middleware, error) {
if !c.NextArg() { if !c.NextArg() {
return nil, c.ArgErr() return nil, c.ArgErr()
} }
c.TLS.CacheSize, _ = strconv.Atoi(c.Val()) size, err := strconv.Atoi(c.Val())
if err != nil {
return nil, c.Errf("Cache parameter should be an number '%s': %v", c.Val(), err)
}
c.TLS.CacheSize = size
default: default:
return nil, c.ArgErr() return nil, c.Errf("Unknown keyword '%s'")
} }
} }
} }
......
...@@ -76,3 +76,34 @@ func TestTLSParseWithOptionalParams(t *testing.T) { ...@@ -76,3 +76,34 @@ func TestTLSParseWithOptionalParams(t *testing.T) {
t.Errorf("Expected CacheSize 128, got %v", c.TLS.CacheSize) t.Errorf("Expected CacheSize 128, got %v", c.TLS.CacheSize)
} }
} }
func TestTLSParseWithWrongOptionalParams(t *testing.T) {
params := `tls cert.crt cert.key {
cache a
}`
c := newTestController(params)
_, err := TLS(c)
if err == nil {
t.Errorf("Expected errors, but no error returned")
}
// Test protocols wrong params
params = `tls cert.crt cert.key {
protocols ssl tls
}`
c = newTestController(params)
_, err = TLS(c)
if err == nil {
t.Errorf("Expected errors, but no error returned")
}
// Test ciphers wrong params
params = `tls cert.crt cert.key {
ciphers not-valid-cipher
}`
c = newTestController(params)
_, err = TLS(c)
if err == nil {
t.Errorf("Expected errors, but no error returned")
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment