feat: add UDPIdleTimeout to server config

This commit is contained in:
Toby 2023-07-27 14:30:35 -07:00
parent fb7e6ed915
commit fd4d095dcd
3 changed files with 19 additions and 10 deletions

View File

@ -39,6 +39,7 @@ type serverConfig struct {
QUIC serverConfigQUIC `mapstructure:"quic"` QUIC serverConfigQUIC `mapstructure:"quic"`
Bandwidth serverConfigBandwidth `mapstructure:"bandwidth"` Bandwidth serverConfigBandwidth `mapstructure:"bandwidth"`
DisableUDP bool `mapstructure:"disableUDP"` DisableUDP bool `mapstructure:"disableUDP"`
UDPIdleTimeout time.Duration `mapstructure:"udpIdleTimeout"`
Auth serverConfigAuth `mapstructure:"auth"` Auth serverConfigAuth `mapstructure:"auth"`
Masquerade serverConfigMasquerade `mapstructure:"masquerade"` Masquerade serverConfigMasquerade `mapstructure:"masquerade"`
} }
@ -235,6 +236,11 @@ func (c *serverConfig) fillDisableUDP(hyConfig *server.Config) error {
return nil return nil
} }
func (c *serverConfig) fillUDPIdleTimeout(hyConfig *server.Config) error {
hyConfig.UDPIdleTimeout = c.UDPIdleTimeout
return nil
}
func (c *serverConfig) fillAuthenticator(hyConfig *server.Config) error { func (c *serverConfig) fillAuthenticator(hyConfig *server.Config) error {
if c.Auth.Type == "" { if c.Auth.Type == "" {
return configError{Field: "auth.type", Err: errors.New("empty auth type")} return configError{Field: "auth.type", Err: errors.New("empty auth type")}
@ -304,6 +310,7 @@ func (c *serverConfig) Config() (*server.Config, error) {
c.fillQUICConfig, c.fillQUICConfig,
c.fillBandwidthConfig, c.fillBandwidthConfig,
c.fillDisableUDP, c.fillDisableUDP,
c.fillUDPIdleTimeout,
c.fillAuthenticator, c.fillAuthenticator,
c.fillEventLogger, c.fillEventLogger,
c.fillMasqHandler, c.fillMasqHandler,

View File

@ -56,6 +56,7 @@ func TestServerConfig(t *testing.T) {
Down: "100 mbps", Down: "100 mbps",
}, },
DisableUDP: true, DisableUDP: true,
UDPIdleTimeout: 120 * time.Second,
Auth: serverConfigAuth{ Auth: serverConfigAuth{
Type: "password", Type: "password",
Password: "goofy_ahh_password", Password: "goofy_ahh_password",

View File

@ -35,6 +35,7 @@ bandwidth:
down: 100 mbps down: 100 mbps
disableUDP: true disableUDP: true
udpIdleTimeout: 120s
auth: auth:
type: password type: password