From 70dfc1f5186f8376a666283de13ce78274b67b75 Mon Sep 17 00:00:00 2001
From: Matt Joiner <anacrolix@gmail.com>
Date: Sat, 16 Jun 2018 16:37:13 +1000
Subject: [PATCH] Allow disabling accept limiting and modify some constants
---
client.go | 8 +++++---
config.go | 2 ++
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/client.go b/client.go
index 8811063a..ce92a35b 100644
--- a/client.go
+++ b/client.go
@@ -1270,7 +1270,7 @@ func (cl *Client) acceptLimitClearer() {
select {
case <-cl.closed.LockedChan(&cl.mu):
return
- case <-time.After(15 * time.Minute):
+ case <-time.After(5 * time.Minute):
cl.mu.Lock()
cl.clearAcceptLimits()
cl.mu.Unlock()
@@ -1279,6 +1279,8 @@ func (cl *Client) acceptLimitClearer() {
}
func (cl *Client) rateLimitAccept(ip net.IP) bool {
- // return true
- return cl.acceptLimiter[ipStr(maskIpForAcceptLimiting(ip).String())] >= 10
+ if cl.config.DisableAcceptRateLimiting {
+ return false
+ }
+ return cl.acceptLimiter[ipStr(maskIpForAcceptLimiting(ip).String())] >= 3
}
diff --git a/config.go b/config.go
index 25dee996..f438cbce 100644
--- a/config.go
+++ b/config.go
@@ -108,6 +108,8 @@ type ClientConfig struct {
PublicIp4 net.IP
PublicIp6 net.IP
+
+ DisableAcceptRateLimiting bool
}
func (cfg *ClientConfig) SetListenAddr(addr string) *ClientConfig {
--
2.51.0