From c82887d3aa3332cf4d7a7dda22f51b160be306b3 Mon Sep 17 00:00:00 2001 From: Aleksey Dmitrevskiy Date: Wed, 17 Apr 2019 12:02:56 +0300 Subject: [PATCH] * app, dnsforward: add MinVersion for TLS configs --- app.go | 1 + dnsforward/dnsforward.go | 5 ++++- dnsforward/dnsforward_test.go | 8 ++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app.go b/app.go index a31d126c..0ba9a765 100644 --- a/app.go +++ b/app.go @@ -197,6 +197,7 @@ func run(args options) { Addr: address, TLSConfig: &tls.Config{ Certificates: []tls.Certificate{cert}, + MinVersion: tls.VersionTLS12, }, } diff --git a/dnsforward/dnsforward.go b/dnsforward/dnsforward.go index 6404a995..224f4b28 100644 --- a/dnsforward/dnsforward.go +++ b/dnsforward/dnsforward.go @@ -175,7 +175,10 @@ func (s *Server) startInternal(config *ServerConfig) error { if err != nil { return errorx.Decorate(err, "Failed to parse TLS keypair") } - proxyConfig.TLSConfig = &tls.Config{Certificates: []tls.Certificate{keypair}} + proxyConfig.TLSConfig = &tls.Config{ + Certificates: []tls.Certificate{keypair}, + MinVersion: tls.VersionTLS12, + } } if proxyConfig.UDPListenAddr == nil { diff --git a/dnsforward/dnsforward_test.go b/dnsforward/dnsforward_test.go index c068d0ef..b568d4e0 100644 --- a/dnsforward/dnsforward_test.go +++ b/dnsforward/dnsforward_test.go @@ -101,7 +101,11 @@ func TestDotServer(t *testing.T) { // Add our self-signed generated config to roots roots := x509.NewCertPool() roots.AppendCertsFromPEM(certPem) - tlsConfig := &tls.Config{ServerName: tlsServerName, RootCAs: roots} + tlsConfig := &tls.Config{ + ServerName: tlsServerName, + RootCAs: roots, + MinVersion: tls.VersionTLS12, + } // Create a DNS-over-TLS client connection addr := s.dnsProxy.Addr(proxy.ProtoTLS) @@ -459,7 +463,7 @@ func createServerTLSConfig(t *testing.T) (*tls.Config, []byte, []byte) { t.Fatalf("failed to create certificate: %s", err) } - return &tls.Config{Certificates: []tls.Certificate{cert}, ServerName: tlsServerName}, certPem, keyPem + return &tls.Config{Certificates: []tls.Certificate{cert}, ServerName: tlsServerName, MinVersion: tls.VersionTLS12}, certPem, keyPem } func createDataDir(t *testing.T) string {