diff --git a/cli/base.go b/cli/base.go index def25d8..f4b6635 100644 --- a/cli/base.go +++ b/cli/base.go @@ -40,7 +40,6 @@ func (b *base) ReadConfig(path, version string) error { func (b *base) makeNetwork(conf *config.Config, version string) (mtglib.Network, error) { tcpTimeout := conf.Network.Timeout.TCP.Value(network.DefaultTimeout) - idleTimeout := conf.Network.Timeout.Idle.Value(network.DefaultIdleTimeout) httpTimeout := conf.Network.Timeout.HTTP.Value(network.DefaultHTTPTimeout) dohIP := conf.Network.DOHIP.Value(net.ParseIP(network.DefaultDOHHostname)).String() bufferSize := conf.TCPBuffer.Value(network.DefaultBufferSize) @@ -61,14 +60,14 @@ func (b *base) makeNetwork(conf *config.Config, version string) (mtglib.Network, switch len(proxyURLs) { case 0: - return network.NewNetwork(baseDialer, userAgent, dohIP, httpTimeout, idleTimeout) + return network.NewNetwork(baseDialer, userAgent, dohIP, httpTimeout) case 1: socksDialer, err := network.NewSocks5Dialer(baseDialer, proxyURLs[0]) if err != nil { return nil, fmt.Errorf("cannot build socks5 dialer: %w", err) } - return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout, idleTimeout) + return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout) } socksDialer, err := network.NewLoadBalancedSocks5Dialer(baseDialer, proxyURLs) @@ -76,5 +75,5 @@ func (b *base) makeNetwork(conf *config.Config, version string) (mtglib.Network, return nil, fmt.Errorf("cannot build socks5 dialer: %w", err) } - return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout, idleTimeout) + return network.NewNetwork(socksDialer, userAgent, dohIP, httpTimeout) } diff --git a/ipblocklist/firehol_test.go b/ipblocklist/firehol_test.go index ad353fe..9879afd 100644 --- a/ipblocklist/firehol_test.go +++ b/ipblocklist/firehol_test.go @@ -119,7 +119,7 @@ func (suite *FireholTestSuite) TestRemoteFail() { func (suite *FireholTestSuite) TestMixed() { dialer, _ := network.NewDefaultDialer(0, 0) - ntw, _ := network.NewNetwork(dialer, "mtg", "1.1.1.1", 0, 0) + ntw, _ := network.NewNetwork(dialer, "mtg", "1.1.1.1", 0) blocklist, err := ipblocklist.NewFirehol(logger.NewNoopLogger(), ntw, 2, diff --git a/mtglib/init.go b/mtglib/init.go index e663c62..b3d53a3 100644 --- a/mtglib/init.go +++ b/mtglib/init.go @@ -5,7 +5,6 @@ import ( "errors" "net" "net/http" - "time" ) var ( @@ -26,7 +25,6 @@ type Network interface { Dial(network, address string) (net.Conn, error) DialContext(ctx context.Context, network, address string) (net.Conn, error) MakeHTTPClient(func(ctx context.Context, network, address string) (net.Conn, error)) *http.Client - IdleTimeout() time.Duration } type AntiReplayCache interface { diff --git a/network/init.go b/network/init.go index 3bab936..29c3056 100644 --- a/network/init.go +++ b/network/init.go @@ -9,7 +9,6 @@ import ( const ( DefaultTimeout = 10 * time.Second - DefaultIdleTimeout = time.Minute DefaultHTTPTimeout = 10 * time.Second DefaultBufferSize = 4096 diff --git a/network/network.go b/network/network.go index 585ff3c..9f85744 100644 --- a/network/network.go +++ b/network/network.go @@ -27,7 +27,6 @@ func (n networkHTTPTransport) RoundTrip(req *http.Request) (*http.Response, erro type network struct { dialer Dialer dns doh.Resolver - idleTimeout time.Duration httpTimeout time.Duration userAgent string } @@ -71,10 +70,6 @@ func (n *network) MakeHTTPClient(dialFunc func(ctx context.Context, return makeHTTPClient(n.userAgent, n.httpTimeout, dialFunc) } -func (n *network) IdleTimeout() time.Duration { - return n.idleTimeout -} - func (n *network) dnsResolve(protocol, address string) ([]string, error) { if net.ParseIP(address) != nil { return []string{address}, nil @@ -131,7 +126,7 @@ func (n *network) dnsResolve(protocol, address string) ([]string, error) { func NewNetwork(dialer Dialer, userAgent, dohHostname string, - httpTimeout, idleTimeout time.Duration) (mtglib.Network, error) { + httpTimeout time.Duration) (mtglib.Network, error) { switch { case httpTimeout < 0: return nil, fmt.Errorf("timeout should be positive number %s", httpTimeout) @@ -139,20 +134,12 @@ func NewNetwork(dialer Dialer, httpTimeout = DefaultHTTPTimeout } - switch { - case idleTimeout < 0: - return nil, fmt.Errorf("timeout should be positive number %s", idleTimeout) - case idleTimeout == 0: - idleTimeout = DefaultIdleTimeout - } - if net.ParseIP(dohHostname) == nil { return nil, fmt.Errorf("hostname %s should be IP address", dohHostname) } return &network{ dialer: dialer, - idleTimeout: idleTimeout, httpTimeout: httpTimeout, userAgent: userAgent, dns: doh.Resolver{ diff --git a/stats/statsd_test.go b/stats/statsd_test.go index 1babb5b..0fad63a 100644 --- a/stats/statsd_test.go +++ b/stats/statsd_test.go @@ -14,6 +14,8 @@ import ( "github.com/stretchr/testify/suite" ) +const statsdSleepTime = 3 * statsd.DefaultFlushInterval + type statsdFakeServer struct { conn *net.UDPConn buf *bytes.Buffer @@ -100,7 +102,7 @@ func (suite *StatsdTestSuite) TestEventStartFinish() { RemoteIP: net.ParseIP("10.0.0.10"), }) - time.Sleep(2 * statsd.DefaultFlushInterval) + time.Sleep(statsdSleepTime) suite.Equal("mtg.active_connections:+1|g|#ip_type:ipv4", suite.statsdServer.String()) suite.statsd.EventFinish(mtglib.EventFinish{ @@ -108,7 +110,7 @@ func (suite *StatsdTestSuite) TestEventStartFinish() { ConnID: "connID", }) - time.Sleep(2 * statsd.DefaultFlushInterval) + time.Sleep(statsdSleepTime) suite.Contains(suite.statsdServer.String(), "mtg.session_duration") } @@ -117,7 +119,7 @@ func (suite *StatsdTestSuite) TestEventConcurrencyLimited() { CreatedAt: time.Now(), }) - time.Sleep(2 * statsd.DefaultFlushInterval) + time.Sleep(statsdSleepTime) suite.Equal("mtg.concurrency_limited:1|c", suite.statsdServer.String()) } @@ -127,7 +129,7 @@ func (suite *StatsdTestSuite) TestEventIPBlocklisted() { RemoteIP: net.ParseIP("10.0.0.10"), }) - time.Sleep(2 * statsd.DefaultFlushInterval) + time.Sleep(statsdSleepTime) suite.Equal("mtg.ip_blocklisted:1|c|#ip_type:ipv4", suite.statsdServer.String()) } diff --git a/testlib/mtglib_network_mock.go b/testlib/mtglib_network_mock.go index 23fa8ba..092bd28 100644 --- a/testlib/mtglib_network_mock.go +++ b/testlib/mtglib_network_mock.go @@ -4,7 +4,6 @@ import ( "context" "net" "net/http" - "time" "github.com/stretchr/testify/mock" ) @@ -29,7 +28,3 @@ func (m *MtglibNetworkMock) MakeHTTPClient(dialFunc func(ctx context.Context, network, address string) (net.Conn, error)) *http.Client { return m.Called(dialFunc).Get(0).(*http.Client) } - -func (m *MtglibNetworkMock) IdleTimeout() time.Duration { - return m.Called().Get(0).(time.Duration) -}