diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2015-11-05 10:56:04 +0200 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2015-11-05 10:56:04 +0200 |
commit | a7fdc68be0141085ef1fd9109cfcb0fd78bcb28b (patch) | |
tree | 9b7246faf1690ba8ae82e1039ae3979448aee47d /peripconn.go | |
parent | Properly encode cookie without name (diff) | |
download | fasthttp-a7fdc68be0141085ef1fd9109cfcb0fd78bcb28b.tar.gz fasthttp-a7fdc68be0141085ef1fd9109cfcb0fd78bcb28b.tar.bz2 fasthttp-a7fdc68be0141085ef1fd9109cfcb0fd78bcb28b.zip |
Enforce MaxConnsPerIP limit to connections served via Server.ServeConn()
Diffstat (limited to 'peripconn.go')
-rw-r--r-- | peripconn.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/peripconn.go b/peripconn.go index 2568477..cf8e986 100644 --- a/peripconn.go +++ b/peripconn.go @@ -51,12 +51,16 @@ func (c *perIPConn) Close() error { } func getUint32IP(c net.Conn) uint32 { + return ip2uint32(getConnIP4(c)) +} + +func getConnIP4(c net.Conn) net.IP { addr := c.RemoteAddr() ipAddr, ok := addr.(*net.TCPAddr) if !ok { - return 0 + return net.IPv4zero } - return ip2uint32(ipAddr.IP.To4()) + return ipAddr.IP.To4() } func ip2uint32(ip net.IP) uint32 { |