Audit changes
This commit is contained in:
@@ -12,15 +12,7 @@ import (
|
||||
)
|
||||
|
||||
func Receiver(selfVPNIP netip.Addr, ch chan<- Packet) {
|
||||
limiters := make([]*ratelimiter.Limiter, 256)
|
||||
for i := range limiters {
|
||||
limiters[i] = ratelimiter.New(ratelimiter.Config{
|
||||
BurstLimit: 1,
|
||||
FillPeriod: broadcastInterval / 2,
|
||||
MaxWaitCount: 0,
|
||||
})
|
||||
}
|
||||
|
||||
limiters := map[netip.Addr]*ratelimiter.Limiter{}
|
||||
for {
|
||||
if err := receiver(selfVPNIP, limiters, ch); err != nil {
|
||||
log.Printf("[MCReader] %v", err)
|
||||
@@ -29,7 +21,7 @@ func Receiver(selfVPNIP netip.Addr, ch chan<- Packet) {
|
||||
}
|
||||
}
|
||||
|
||||
func receiver(selfVPNIP netip.Addr, limiters []*ratelimiter.Limiter, ch chan<- Packet) error {
|
||||
func receiver(selfVPNIP netip.Addr, limiters map[netip.Addr]*ratelimiter.Limiter, ch chan<- Packet) error {
|
||||
selfIP := selfVPNIP.As4()[3]
|
||||
|
||||
addr := multicastAddr(selfVPNIP)
|
||||
@@ -69,7 +61,18 @@ func receiver(selfVPNIP netip.Addr, limiters []*ratelimiter.Limiter, ch chan<- P
|
||||
continue
|
||||
}
|
||||
|
||||
if err := limiters[packet.PeerIP].Limit(); err != nil {
|
||||
srcAddr := src.Addr().Unmap()
|
||||
lim, ok := limiters[srcAddr]
|
||||
if !ok {
|
||||
lim = ratelimiter.New(ratelimiter.Config{
|
||||
BurstLimit: 1,
|
||||
FillPeriod: broadcastInterval / 2,
|
||||
MaxWaitCount: 0,
|
||||
})
|
||||
limiters[srcAddr] = lim
|
||||
}
|
||||
|
||||
if err := lim.Limit(); err != nil {
|
||||
log.Printf("Rate limited packet from peer IP %d.", packet.PeerIP)
|
||||
continue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user