Hotfix: fix shadowsocks config parsing, refix #548

This commit is contained in:
Quentin McGaw (desktop)
2021-07-29 13:50:40 +00:00
parent 0bcc6ed597
commit 83c4ad2e59

View File

@@ -73,29 +73,37 @@ func (settings *ShadowSocks) read(r reader) (err error) {
func (settings *ShadowSocks) getAddress(env params.Env) (
warning string, err error) {
address, addrWarning, err := env.ListeningAddress("SHADOWSOCKS_LISTENING_ADDRESS")
address, err := env.Get("SHADOWSOCKS_LISTENING_ADDRESS")
if err != nil {
return addrWarning, fmt.Errorf("environment variable SHADOWSOCKS_LISTENING_ADDRESS: %w", err)
return "", fmt.Errorf("environment variable SHADOWSOCKS_LISTENING_ADDRESS: %w", err)
}
if address != "" {
address, warning, err := env.ListeningAddress("SHADOWSOCKS_LISTENING_ADDRESS")
if err != nil {
return "", fmt.Errorf("environment variable SHADOWSOCKS_LISTENING_ADDRESS: %w", err)
}
settings.Address = address
return addrWarning, nil
return warning, nil
}
// Retro-compatibility
const retroWarning = "You are using the old environment variable " +
"SHADOWSOCKS_PORT, please consider using " +
"SHADOWSOCKS_LISTENING_ADDRESS instead"
port, _, err := env.ListeningPort("SHADOWSOCKS_PORT")
portStr, err := env.Get("SHADOWSOCKS_PORT")
if err != nil {
return retroWarning, fmt.Errorf("environment variable SHADOWSOCKS_PORT: %w", err)
} else if port > 0 {
} else if portStr != "" {
port, _, err := env.ListeningPort("SHADOWSOCKS_PORT")
if err != nil {
return retroWarning, fmt.Errorf("environment variable SHADOWSOCKS_PORT: %w", err)
}
settings.Address = ":" + fmt.Sprint(port)
return retroWarning, nil
}
// Default value
settings.Address = ":8388"
return addrWarning, nil
return "", nil
}