support server name override

This commit is contained in:
Darien Raymond 2016-12-11 23:58:37 +01:00
parent eee23e6718
commit a11d2ce9d6
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
4 changed files with 30 additions and 17 deletions

View File

@ -146,8 +146,9 @@ type TLSCertConfig struct {
KeyFile string `json:"keyFile"`
}
type TLSConfig struct {
Insecure bool `json:"allowInsecure"`
Certs []*TLSCertConfig `json:"certificates"`
Insecure bool `json:"allowInsecure"`
Certs []*TLSCertConfig `json:"certificates"`
ServerName string `json:"serverName"`
}
func (v *TLSConfig) Build() (*loader.TypedSettings, error) {
@ -168,6 +169,9 @@ func (v *TLSConfig) Build() (*loader.TypedSettings, error) {
}
}
config.AllowInsecure = v.Insecure
if len(v.ServerName) > 0 {
config.ServerName = v.ServerName
}
return loader.NewTypedSettings(config), nil
}

View File

@ -34,6 +34,9 @@ func (v *Config) GetTLSConfig() *tls.Config {
config.InsecureSkipVerify = v.AllowInsecure
config.Certificates = v.BuildCertificates()
config.BuildNameToCertificate()
if len(v.ServerName) > 0 {
config.ServerName = v.ServerName
}
return config
}

View File

@ -46,6 +46,8 @@ type Config struct {
AllowInsecure bool `protobuf:"varint,1,opt,name=allow_insecure,json=allowInsecure" json:"allow_insecure,omitempty"`
// List of certificates to be served on server.
Certificate []*Certificate `protobuf:"bytes,2,rep,name=certificate" json:"certificate,omitempty"`
// Override server name.
ServerName string `protobuf:"bytes,3,opt,name=server_name,json=serverName" json:"server_name,omitempty"`
}
func (m *Config) Reset() { *m = Config{} }
@ -68,19 +70,20 @@ func init() {
func init() { proto.RegisterFile("v2ray.com/core/transport/internet/tls/config.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 218 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x50, 0xb1, 0x4a, 0x03, 0x41,
0x10, 0xe5, 0x72, 0x10, 0x64, 0x57, 0x45, 0xb6, 0x4a, 0x79, 0x06, 0x02, 0xa9, 0x66, 0xe1, 0xac,
0x2c, 0x4d, 0x2a, 0xb1, 0x09, 0x57, 0xda, 0xc8, 0xba, 0x4c, 0x64, 0x61, 0xb3, 0x13, 0x66, 0x47,
0x25, 0xa5, 0x7f, 0x2e, 0xd9, 0x78, 0x72, 0x57, 0x5d, 0x37, 0xf3, 0xe6, 0xcd, 0x7b, 0x8f, 0xa7,
0xda, 0xaf, 0x96, 0xdd, 0x09, 0x3c, 0x1d, 0xac, 0x27, 0x46, 0x2b, 0xec, 0x52, 0x3e, 0x12, 0x8b,
0x0d, 0x49, 0x90, 0x13, 0x8a, 0x95, 0x98, 0xad, 0xa7, 0xb4, 0x0f, 0x1f, 0x70, 0x64, 0x12, 0x32,
0xf7, 0xfd, 0x0f, 0x23, 0xfc, 0xf3, 0xa1, 0xe7, 0x83, 0xc4, 0xbc, 0x7c, 0x52, 0x7a, 0x8b, 0x2c,
0x61, 0x1f, 0xbc, 0x13, 0x34, 0xcd, 0x68, 0x5d, 0x54, 0x4d, 0xb5, 0xbe, 0xee, 0x46, 0x8c, 0x3b,
0x55, 0xbf, 0xe0, 0x69, 0x31, 0x2b, 0x97, 0xf3, 0xb8, 0xfc, 0xa9, 0xd4, 0x7c, 0x5b, 0x6c, 0xcd,
0x4a, 0xdd, 0xba, 0x18, 0xe9, 0xfb, 0x2d, 0xa4, 0x8c, 0xfe, 0x93, 0x2f, 0x0a, 0x57, 0xdd, 0x4d,
0x41, 0x9f, 0xff, 0x40, 0xb3, 0x53, 0xda, 0x0f, 0x5c, 0x66, 0x4d, 0xbd, 0xd6, 0x2d, 0xc0, 0x64,
0x5a, 0x18, 0x04, 0xe9, 0x86, 0x12, 0x9b, 0x47, 0xb5, 0xf2, 0x74, 0x98, 0x56, 0xd8, 0xe8, 0x4b,
0xd2, 0xdd, 0xb9, 0x9f, 0xd7, 0x5a, 0x62, 0x7e, 0x9f, 0x97, 0xae, 0x1e, 0x7e, 0x03, 0x00, 0x00,
0xff, 0xff, 0x5d, 0x97, 0x5b, 0x86, 0x61, 0x01, 0x00, 0x00,
// 240 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x50, 0xc1, 0x4a, 0x03, 0x31,
0x10, 0x65, 0xbb, 0x50, 0x74, 0xa2, 0x22, 0x39, 0xed, 0xcd, 0xb5, 0x50, 0xd8, 0x53, 0x02, 0xeb,
0xc9, 0xa3, 0xed, 0x49, 0x04, 0x29, 0x7b, 0xf4, 0x52, 0x62, 0x98, 0x4a, 0x20, 0x9b, 0x94, 0xc9,
0x58, 0xe9, 0xef, 0xf8, 0xa5, 0xd2, 0xac, 0x2d, 0xdb, 0x53, 0x6f, 0xc9, 0x9b, 0x37, 0xef, 0xbd,
0x79, 0xd0, 0xee, 0x5a, 0x32, 0x7b, 0x65, 0x63, 0xaf, 0x6d, 0x24, 0xd4, 0x4c, 0x26, 0xa4, 0x6d,
0x24, 0xd6, 0x2e, 0x30, 0x52, 0x40, 0xd6, 0xec, 0x93, 0xb6, 0x31, 0x6c, 0xdc, 0x97, 0xda, 0x52,
0xe4, 0x28, 0x1f, 0x8f, 0x3b, 0x84, 0xea, 0xc4, 0x57, 0x47, 0xbe, 0x62, 0x9f, 0x66, 0x2f, 0x20,
0x96, 0x48, 0xec, 0x36, 0xce, 0x1a, 0x46, 0x59, 0x9f, 0x7d, 0xab, 0xa2, 0x2e, 0x9a, 0x9b, 0xee,
0x8c, 0x71, 0x0f, 0xe5, 0x1b, 0xee, 0xab, 0x49, 0x9e, 0x1c, 0x9e, 0xb3, 0xdf, 0x02, 0xa6, 0xcb,
0x6c, 0x2b, 0xe7, 0x70, 0x67, 0xbc, 0x8f, 0x3f, 0x6b, 0x17, 0x12, 0xda, 0x6f, 0x1a, 0x14, 0xae,
0xba, 0xdb, 0x8c, 0xbe, 0xfe, 0x83, 0x72, 0x05, 0xc2, 0x8e, 0x5c, 0x26, 0x75, 0xd9, 0x88, 0x56,
0xa9, 0x8b, 0x69, 0xd5, 0x28, 0x48, 0x37, 0x96, 0x90, 0x0f, 0x20, 0x12, 0xd2, 0x0e, 0x69, 0x1d,
0x4c, 0x8f, 0x55, 0x59, 0x17, 0xcd, 0x75, 0x07, 0x03, 0xf4, 0x6e, 0x7a, 0x5c, 0x3c, 0xc3, 0xdc,
0xc6, 0xfe, 0xb2, 0xc5, 0x42, 0x0c, 0xa7, 0xac, 0x0e, 0x05, 0x7e, 0x94, 0xec, 0xd3, 0xe7, 0x34,
0x97, 0xf9, 0xf4, 0x17, 0x00, 0x00, 0xff, 0xff, 0x42, 0x2a, 0x28, 0x66, 0x82, 0x01, 0x00, 0x00,
}

View File

@ -19,4 +19,7 @@ message Config {
// List of certificates to be served on server.
repeated Certificate certificate = 2;
// Override server name.
string server_name = 3;
}