Improve: unmarshal inbound (#2864)

This commit is contained in:
yaling888 2023-08-07 13:18:25 +08:00 committed by GitHub
parent 54b86eec71
commit e1025391d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 13 deletions

View File

@ -50,26 +50,24 @@ func (i *Inbound) UnmarshalYAML(unmarshal func(any) error) error {
}
*i = Inbound(inner)
return nil
}
} else {
inner, err := parseInbound(tp)
if err != nil {
return err
}
*i = Inbound(*inner)
}
if !supportInboundTypes[i.Type] {
return fmt.Errorf("not support inbound type: %s", i.Type)
}
_, portStr, err := net.SplitHostPort(i.BindAddress)
if err != nil {
return fmt.Errorf("bind address parse error. addr:%s, err:%v", i.BindAddress, err)
return fmt.Errorf("bind address parse error. addr: %s, err: %w", i.BindAddress, err)
}
port, err := strconv.Atoi(portStr)
if err != nil {
return fmt.Errorf("port not a number. addr:%s", i.BindAddress)
}
if port == 0 {
port, err := strconv.ParseUint(portStr, 10, 16)
if err != nil || port == 0 {
return fmt.Errorf("invalid bind port. addr: %s", i.BindAddress)
}
return nil