diff options
-rw-r--r-- | modules/caddytls/connpolicy.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/modules/caddytls/connpolicy.go b/modules/caddytls/connpolicy.go index 4fd8112..30f7290 100644 --- a/modules/caddytls/connpolicy.go +++ b/modules/caddytls/connpolicy.go @@ -171,7 +171,14 @@ func (p *ConnectionPolicy) buildStandardTLSConfig(ctx caddy.Context) error { // more at handshake-time, but I don't know how to practically pre-build // a certmagic config for each combination of conn policy + automation policy... cfg := *tlsApp.getConfigForName(hello.ServerName) - cfg.CertSelection = p.CertSelection + if p.CertSelection != nil { + // you would think we could just set this whether or not + // p.CertSelection is nil, but that leads to panics if + // it is, because cfg.CertSelection is an interface, + // so it will have a non-nil value even if the actual + // value underlying it is nil (sigh) + cfg.CertSelection = p.CertSelection + } cfg.DefaultServerName = p.DefaultSNI return cfg.GetCertificate(hello) }, |