mirror of
https://github.com/caddyserver/caddy.git
synced 2025-01-14 14:56:27 +03:00
httpcaddyfile: Only append TLS conn policy if it's non-empty (#3319)
This can lead to nicer, smaller JSON output for Caddyfiles like this: a { tls internal } b { tls foo@bar.com } i.e. where the tls directive only configures automation policies, and is merely meant to enable TLS on a server block (if it wasn't implied). This helps keeps implicit config implicit. Needs a little more testing to ensure it doesn't break anything important.
This commit is contained in:
parent
184e8e9f71
commit
2f59467ac3
2 changed files with 17 additions and 1 deletions
|
@ -416,7 +416,10 @@ func (st *ServerType) serversFromPairings(
|
||||||
hasCatchAllTLSConnPolicy = true
|
hasCatchAllTLSConnPolicy = true
|
||||||
}
|
}
|
||||||
|
|
||||||
srv.TLSConnPolicies = append(srv.TLSConnPolicies, cp)
|
// only append this policy if it actually changes something
|
||||||
|
if !cp.SettingsEmpty() {
|
||||||
|
srv.TLSConnPolicies = append(srv.TLSConnPolicies, cp)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -264,6 +264,19 @@ func (p *ConnectionPolicy) buildStandardTLSConfig(ctx caddy.Context) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SettingsEmpty returns true if p's settings (fields
|
||||||
|
// except the matchers) are all empty/unset.
|
||||||
|
func (p ConnectionPolicy) SettingsEmpty() bool {
|
||||||
|
return p.CertSelection == nil &&
|
||||||
|
p.CipherSuites == nil &&
|
||||||
|
p.Curves == nil &&
|
||||||
|
p.ALPN == nil &&
|
||||||
|
p.ProtocolMin == "" &&
|
||||||
|
p.ProtocolMax == "" &&
|
||||||
|
p.ClientAuthentication == nil &&
|
||||||
|
p.DefaultSNI == ""
|
||||||
|
}
|
||||||
|
|
||||||
// ClientAuthentication configures TLS client auth.
|
// ClientAuthentication configures TLS client auth.
|
||||||
type ClientAuthentication struct {
|
type ClientAuthentication struct {
|
||||||
// A list of base64 DER-encoded CA certificates
|
// A list of base64 DER-encoded CA certificates
|
||||||
|
|
Loading…
Reference in a new issue