Skip to content

Commit 76f149a

Browse files
vgramermjuraga
authored andcommitted
MINOR: bind: add tcp-md5sig parameter
Signed-off-by: Vincent Gramer <[email protected]>
1 parent db38f9c commit 76f149a

19 files changed

+67
-7
lines changed

config-parser/params/bind-options.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,7 @@ var bindOptionFactoryMethods = map[string]func() BindOption{ //nolint:gochecknog
304304
"sigalgs": func() BindOption { return &BindOptionValue{Name: "sigalgs"} },
305305
"ssl-max-ver": func() BindOption { return &BindOptionValue{Name: "ssl-max-ver"} },
306306
"ssl-min-ver": func() BindOption { return &BindOptionValue{Name: "ssl-min-ver"} },
307+
"tcp-md5sig": func() BindOption { return &BindOptionValue{Name: "tcp-md5sig"} },
307308
"tcp-ut": func() BindOption { return &BindOptionValue{Name: "tcp-ut"} },
308309
"thread": func() BindOption { return &BindOptionValue{Name: "thread"} },
309310
"tls-ticket-keys": func() BindOption { return &BindOptionValue{Name: "tls-ticket-keys"} },

config-parser/tests/bind_generated_test.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/tests/configs/haproxy_generated.cfg.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/tests/default-bind_generated_test.go

Lines changed: 5 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/tests/integration/frontend_data_test.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/tests/integration/frontend_test.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/tests/integration/peers_data_test.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/tests/integration/peers_test.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config-parser/types/types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,8 @@ type ACL struct{}
269269
//test:fail:bind :443 user
270270
//test:fail:bind :443 user mode 600
271271
//test:fail:bind :443 user mode 600 accept-proxy
272+
//test:ok:bind :443 tcp-md5sig secretpass
273+
//test:fail:bind :443 tcp-md5sig
272274
type Bind struct {
273275
Path string // can be address:port or socket path
274276
Params []params.BindOption
@@ -1572,6 +1574,8 @@ type OptionHTTPRestrictReqHdrNames struct {
15721574
//test:ok:default-bind user root mode 600 accept-proxy
15731575
//test:ok:default-bind v4v6 ssl crt /etc/haproxy/site.pem alpn h2,http/1.1
15741576
//test:ok:default-bind tls-ticket-keys /tmp/tls_ticket_keys
1577+
//test:ok:default-bind tcp-md5sig secretpass
1578+
//test:fail:default-bind tcp-md5sig
15751579
type DefaultBind struct {
15761580
Params []params.BindOption
15771581
Comment string

configuration/bind.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,8 @@ func parseBindParams(bindOptions []params.BindOption) models.BindParams { //noli
305305
b.Name = v.Value
306306
case "tcp-ut":
307307
b.TCPUserTimeout = misc.ParseTimeout(v.Value)
308+
case "tcp-md5sig":
309+
b.TCPMd5sig = v.Value
308310
case "crt":
309311
b.SslCertificate = v.Value
310312
case "ca-file":
@@ -473,6 +475,9 @@ func serializeBindParams(b models.BindParams, path string, opt *options.Configur
473475
if b.TCPUserTimeout != nil {
474476
options = append(options, &params.BindOptionValue{Name: "tcp-ut", Value: strconv.FormatInt(*b.TCPUserTimeout, 10)})
475477
}
478+
if b.TCPMd5sig != "" {
479+
options = append(options, &params.BindOptionValue{Name: "tcp-md5sig", Value: b.TCPMd5sig})
480+
}
476481
if b.Ssl {
477482
options = append(options, &params.BindOptionWord{Name: "ssl"})
478483
}

0 commit comments

Comments
 (0)