|
@@ -59,18 +59,7 @@ func newClientModel(config *Configuration, ctl mvc.Controller) *ClientModel {
|
|
|
protoMap["tcp"] = proto.NewTcp()
|
|
|
protocols := []proto.Protocol{protoMap["http"], protoMap["tcp"]}
|
|
|
|
|
|
- // configure TLS
|
|
|
- var tlsConfig *tls.Config
|
|
|
- if config.TrustHostRootCerts {
|
|
|
- tlsConfig = &tls.Config{}
|
|
|
- } else {
|
|
|
- var err error
|
|
|
- if tlsConfig, err = LoadTLSConfig(rootCrtPaths); err != nil {
|
|
|
- panic(err)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return &ClientModel{
|
|
|
+ m := &ClientModel{
|
|
|
Logger: log.NewPrefixLogger("client"),
|
|
|
|
|
|
// server address
|
|
@@ -103,15 +92,29 @@ func newClientModel(config *Configuration, ctl mvc.Controller) *ClientModel {
|
|
|
// controller
|
|
|
ctl: ctl,
|
|
|
|
|
|
- // tls configuration
|
|
|
- tlsConfig: tlsConfig,
|
|
|
-
|
|
|
// tunnel configuration
|
|
|
tunnelConfig: config.Tunnels,
|
|
|
|
|
|
// config path
|
|
|
configPath: config.Path,
|
|
|
}
|
|
|
+
|
|
|
+ // configure TLS
|
|
|
+ if config.TrustHostRootCerts {
|
|
|
+ m.Info("Trusting host's root certificates")
|
|
|
+ m.tlsConfig = &tls.Config{}
|
|
|
+ } else {
|
|
|
+ m.Info("Trusting root CAs: %v", rootCrtPaths)
|
|
|
+ var err error
|
|
|
+ if m.tlsConfig, err = LoadTLSConfig(rootCrtPaths); err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // configure TLS SNI
|
|
|
+ m.tlsConfig.ServerName = serverName(m.serverAddr)
|
|
|
+
|
|
|
+ return m
|
|
|
}
|
|
|
|
|
|
// mvc.State interface
|