|
|
@@ -165,7 +165,7 @@ func (c *WebSocketConfig) Build() (proto.Message, error) {
|
|
|
}
|
|
|
// Priority (client): host > serverName > address
|
|
|
for k, v := range c.Headers {
|
|
|
- if strings.ToLower(k) == "host"{
|
|
|
+ if strings.ToLower(k) == "host" {
|
|
|
errors.PrintDeprecatedFeatureWarning(`"host" in "headers"`, `independent "host"`)
|
|
|
if c.Host == "" {
|
|
|
c.Host = v
|
|
|
@@ -438,7 +438,7 @@ func (c *TLSConfig) Build() (proto.Message, error) {
|
|
|
config.MaxVersion = c.MaxVersion
|
|
|
config.CipherSuites = c.CipherSuites
|
|
|
config.Fingerprint = strings.ToLower(c.Fingerprint)
|
|
|
- if config.Fingerprint != "" && tls.GetFingerprint(config.Fingerprint) == nil {
|
|
|
+ if config.Fingerprint != "unsafe" && tls.GetFingerprint(config.Fingerprint) == nil {
|
|
|
return nil, errors.New(`unknown fingerprint: `, config.Fingerprint)
|
|
|
}
|
|
|
config.RejectUnknownSni = c.RejectUnknownSNI
|
|
|
@@ -584,15 +584,13 @@ func (c *REALITYConfig) Build() (proto.Message, error) {
|
|
|
config.ServerNames = c.ServerNames
|
|
|
config.MaxTimeDiff = c.MaxTimeDiff
|
|
|
} else {
|
|
|
- if c.Fingerprint == "" {
|
|
|
- return nil, errors.New(`empty "fingerprint"`)
|
|
|
+ config.Fingerprint = strings.ToLower(c.Fingerprint)
|
|
|
+ if config.Fingerprint == "unsafe" || config.Fingerprint == "hellogolang" {
|
|
|
+ return nil, errors.New(`invalid "fingerprint": `, config.Fingerprint)
|
|
|
}
|
|
|
- if config.Fingerprint = strings.ToLower(c.Fingerprint); tls.GetFingerprint(config.Fingerprint) == nil {
|
|
|
+ if tls.GetFingerprint(config.Fingerprint) == nil {
|
|
|
return nil, errors.New(`unknown "fingerprint": `, config.Fingerprint)
|
|
|
}
|
|
|
- if config.Fingerprint == "hellogolang" {
|
|
|
- return nil, errors.New(`invalid "fingerprint": `, config.Fingerprint)
|
|
|
- }
|
|
|
if len(c.ServerNames) != 0 {
|
|
|
return nil, errors.New(`non-empty "serverNames", please use "serverName" instead`)
|
|
|
}
|