|
|
|
@ -631,12 +631,18 @@ func (c *REALITYConfig) Build() (proto.Message, error) {
|
|
|
|
|
if config.Fingerprint == "hellogolang" {
|
|
|
|
|
return nil, newError(`invalid "fingerprint": `, config.Fingerprint)
|
|
|
|
|
}
|
|
|
|
|
if len(c.ServerNames) != 0 {
|
|
|
|
|
return nil, newError(`non-empty "serverNames", please use "serverName" instead`)
|
|
|
|
|
}
|
|
|
|
|
if c.PublicKey == "" {
|
|
|
|
|
return nil, newError(`empty "publicKey"`)
|
|
|
|
|
}
|
|
|
|
|
if config.PublicKey, err = base64.RawURLEncoding.DecodeString(c.PublicKey); err != nil || len(config.PublicKey) != 32 {
|
|
|
|
|
return nil, newError(`invalid "publicKey": `, c.PublicKey)
|
|
|
|
|
}
|
|
|
|
|
if len(c.ShortIds) != 0 {
|
|
|
|
|
return nil, newError(`non-empty "shortIds", please use "shortId" instead`)
|
|
|
|
|
}
|
|
|
|
|
config.ShortId = make([]byte, 8)
|
|
|
|
|
if _, err = hex.Decode(config.ShortId, []byte(c.ShortId)); err != nil {
|
|
|
|
|
return nil, newError(`invalid "shortId": `, c.ShortId)
|
|
|
|
|