From 626f19a264aacd996526695c789ef64532f1494c Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Wed, 1 Apr 2020 21:07:38 -0600 Subject: [PATCH] Fix for last commit --- modules/caddytls/connpolicy.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/caddytls/connpolicy.go b/modules/caddytls/connpolicy.go index 4fd81123..30f72900 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) },