mirror of
https://github.com/SagerNet/sing-tun.git
synced 2025-04-02 19:37:40 +03:00
Fix wrong parameter in ICMPv4Checksum
This commit is contained in:
parent
8cc5351bb3
commit
c8c2984261
1 changed files with 1 additions and 1 deletions
|
@ -586,7 +586,7 @@ func (s *System) processIPv4ICMP(ipHdr header.IPv4, icmpHdr header.ICMPv4) error
|
||||||
sourceAddress := ipHdr.SourceAddr()
|
sourceAddress := ipHdr.SourceAddr()
|
||||||
ipHdr.SetSourceAddr(ipHdr.DestinationAddr())
|
ipHdr.SetSourceAddr(ipHdr.DestinationAddr())
|
||||||
ipHdr.SetDestinationAddr(sourceAddress)
|
ipHdr.SetDestinationAddr(sourceAddress)
|
||||||
icmpHdr.SetChecksum(header.ICMPv4Checksum(icmpHdr, checksum.Checksum(icmpHdr.Payload(), 0)))
|
icmpHdr.SetChecksum(header.ICMPv4Checksum(icmpHdr[:header.ICMPv4MinimumSize], checksum.Checksum(icmpHdr.Payload(), 0)))
|
||||||
ipHdr.SetChecksum(0)
|
ipHdr.SetChecksum(0)
|
||||||
ipHdr.SetChecksum(^ipHdr.CalculateChecksum())
|
ipHdr.SetChecksum(^ipHdr.CalculateChecksum())
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue