diff --git a/modules/caddytls/matchers.go b/modules/caddytls/matchers.go index b308bd0f..bda4ec2a 100644 --- a/modules/caddytls/matchers.go +++ b/modules/caddytls/matchers.go @@ -6,46 +6,14 @@ import ( "bitbucket.org/lightcodelabs/caddy2" ) -type ( - // MatchServerName matches based on SNI. - MatchServerName []string - - // TODO: these others should be enterprise-only, probably - - // MatchProtocol matches based on protocol. - MatchProtocol []string // TODO: Protocol or version? - - // MatchClientCert matches based on client certificate / client auth? - MatchClientCert struct{} // TODO: client certificate options - - // MatchRemote matches based on the remote address of the connection. - MatchRemote []string - - // MatchStarlark matches based on a Starlark script. - MatchStarlark string -) +// MatchServerName matches based on SNI. +type MatchServerName []string func init() { caddy2.RegisterModule(caddy2.Module{ Name: "tls.handshake_match.host", New: func() (interface{}, error) { return MatchServerName{}, nil }, }) - caddy2.RegisterModule(caddy2.Module{ - Name: "tls.handshake_match.protocol", - New: func() (interface{}, error) { return MatchProtocol{}, nil }, - }) - caddy2.RegisterModule(caddy2.Module{ - Name: "tls.handshake_match.client_cert", - New: func() (interface{}, error) { return MatchClientCert{}, nil }, - }) - caddy2.RegisterModule(caddy2.Module{ - Name: "tls.handshake_match.remote", - New: func() (interface{}, error) { return MatchRemote{}, nil }, - }) - caddy2.RegisterModule(caddy2.Module{ - Name: "tls.handshake_match.starlark", - New: func() (interface{}, error) { return new(MatchStarlark), nil }, - }) } // Match matches hello based on SNI. @@ -59,35 +27,5 @@ func (m MatchServerName) Match(hello *tls.ClientHelloInfo) bool { return false } -// Match matches hello based on protocol version. -func (m MatchProtocol) Match(hello *tls.ClientHelloInfo) bool { - // TODO: not implemented - return false -} - -// Match matches hello based on client certificate. -func (m MatchClientCert) Match(hello *tls.ClientHelloInfo) bool { - // TODO: not implemented - return false -} - -// Match matches hello based on remote address. -func (m MatchRemote) Match(hello *tls.ClientHelloInfo) bool { - // TODO: not implemented - return false -} - -// Match matches hello based on a Starlark script. -func (m MatchStarlark) Match(hello *tls.ClientHelloInfo) bool { - // TODO: not implemented - return false -} - -// Interface guards -var ( - _ ConnectionMatcher = MatchServerName{} - _ ConnectionMatcher = MatchProtocol{} - _ ConnectionMatcher = MatchClientCert{} - _ ConnectionMatcher = MatchRemote{} - _ ConnectionMatcher = new(MatchStarlark) -) +// Interface guard +var _ ConnectionMatcher = MatchServerName{}