{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":133725375,"defaultBranch":"master","name":"wireguard-go","ownerLogin":"WireGuard","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-05-16T21:33:26.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13991055?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1682101083.0","currentOid":""},"activityList":{"items":[{"before":"542e565baa776ed4c5c55b73ef9aa38d33d55197","after":"12269c2761734b15625017d8565745096325392f","ref":"refs/heads/master","pushedAt":"2023-12-11T15:40:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"device: fix possible deadlock in close method\n\nThere is a possible deadlock in `device.Close()` when you try to close\nthe device very soon after its start. The problem is that two different\nmethods acquire the same locks in different order:\n\n1. device.Close()\n - device.ipcMutex.Lock()\n - device.state.Lock()\n\n2. device.changeState(deviceState)\n - device.state.Lock()\n - device.ipcMutex.Lock()\n\nReproducer:\n\n func TestDevice_deadlock(t *testing.T) {\n \td := randDevice(t)\n \td.Close()\n }\n\nProblem:\n\n $ go clean -testcache && go test -race -timeout 3s -run TestDevice_deadlock ./device | grep -A 10 sync.runtime_SemacquireMutex\n sync.runtime_SemacquireMutex(0xc000117d20?, 0x94?, 0x0?)\n /usr/local/opt/go/libexec/src/runtime/sema.go:77 +0x25\n sync.(*Mutex).lockSlow(0xc000130518)\n /usr/local/opt/go/libexec/src/sync/mutex.go:171 +0x213\n sync.(*Mutex).Lock(0xc000130518)\n /usr/local/opt/go/libexec/src/sync/mutex.go:90 +0x55\n golang.zx2c4.com/wireguard/device.(*Device).Close(0xc000130500)\n /Users/martin.basovnik/git/basovnik/wireguard-go/device/device.go:373 +0xb6\n golang.zx2c4.com/wireguard/device.TestDevice_deadlock(0x0?)\n /Users/martin.basovnik/git/basovnik/wireguard-go/device/device_test.go:480 +0x2c\n testing.tRunner(0xc00014c000, 0x131d7b0)\n --\n sync.runtime_SemacquireMutex(0xc000130564?, 0x60?, 0xc000130548?)\n /usr/local/opt/go/libexec/src/runtime/sema.go:77 +0x25\n sync.(*Mutex).lockSlow(0xc000130750)\n /usr/local/opt/go/libexec/src/sync/mutex.go:171 +0x213\n sync.(*Mutex).Lock(0xc000130750)\n /usr/local/opt/go/libexec/src/sync/mutex.go:90 +0x55\n sync.(*RWMutex).Lock(0xc000130750)\n /usr/local/opt/go/libexec/src/sync/rwmutex.go:147 +0x45\n golang.zx2c4.com/wireguard/device.(*Device).upLocked(0xc000130500)\n /Users/martin.basovnik/git/basovnik/wireguard-go/device/device.go:179 +0x72\n golang.zx2c4.com/wireguard/device.(*Device).changeState(0xc000130500, 0x1)\n\nSigned-off-by: Martin Basovnik \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"device: fix possible deadlock in close method"}},{"before":"d0bc03c707974a84a672716c718f99fab49e7eb8","after":"542e565baa776ed4c5c55b73ef9aa38d33d55197","ref":"refs/heads/master","pushedAt":"2023-12-11T15:37:16.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"device: do atomic 64-bit add outside of vector loop\n\nOnly bother updating the rxBytes counter once we've processed a whole\nvector, since additions are atomic.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"device: do atomic 64-bit add outside of vector loop"}},{"before":"1cf89f5339b549236f38ce5fbc40f7bf993d9626","after":"d0bc03c707974a84a672716c718f99fab49e7eb8","ref":"refs/heads/master","pushedAt":"2023-12-11T15:27:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: implement UDP GSO/GRO for Linux\n\nImplement UDP GSO and GRO for the Linux tun.Device, which is made\npossible by virtio extensions in the kernel's TUN driver starting in\nv6.2.\n\nsecnetperf, a QUIC benchmark utility from microsoft/msquic@8e1eb1a, is\nused to demonstrate the effect of this commit between two Linux\ncomputers with i5-12400 CPUs. There is roughly ~13us of round trip\nlatency between them. secnetperf was invoked with the following command\nline options:\n-stats:1 -exec:maxtput -test:tput -download:10000 -timed:1 -encrypt:0\n\nThe first result is from commit 2e0774f without UDP GSO/GRO on the TUN.\n\n[conn][0x55739a144980] STATS: EcnCapable=0 RTT=3973 us\nSendTotalPackets=55859 SendSuspectedLostPackets=61\nSendSpuriousLostPackets=59 SendCongestionCount=27\nSendEcnCongestionCount=0 RecvTotalPackets=2779122\nRecvReorderedPackets=0 RecvDroppedPackets=0\nRecvDuplicatePackets=0 RecvDecryptionFailures=0\nResult: 3654977571 bytes @ 2922821 kbps (10003.972 ms).\n\nThe second result is with UDP GSO/GRO on the TUN.\n\n[conn][0x56493dfd09a0] STATS: EcnCapable=0 RTT=1216 us\nSendTotalPackets=165033 SendSuspectedLostPackets=64\nSendSpuriousLostPackets=61 SendCongestionCount=53\nSendEcnCongestionCount=0 RecvTotalPackets=11845268\nRecvReorderedPackets=25267 RecvDroppedPackets=0\nRecvDuplicatePackets=0 RecvDecryptionFailures=0\nResult: 15574671184 bytes @ 12458214 kbps (10001.222 ms).\n\nSigned-off-by: Jordan Whited \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"tun: implement UDP GSO/GRO for Linux"}},{"before":"2e0774f246fb4fc1bd5cb44584d033038c89174e","after":"1cf89f5339b549236f38ce5fbc40f7bf993d9626","ref":"refs/heads/master","pushedAt":"2023-12-11T15:21:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: fix Device.Read() buf length assumption on Windows\n\nThe length of a packet read from the underlying TUN device may exceed\nthe length of a supplied buffer when MTU exceeds device.MaxMessageSize.\n\nReviewed-by: Brad Fitzpatrick \nSigned-off-by: Jordan Whited \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"tun: fix Device.Read() buf length assumption on Windows"}},{"before":"b3df23dcd40ba4568572f338f9fd16b87053fc29","after":"2e0774f246fb4fc1bd5cb44584d033038c89174e","ref":"refs/heads/master","pushedAt":"2023-10-22T00:12:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"device: ratchet up max segment size on android\n\nGRO requires big allocations to be efficient. This isn't great, as there\nmight be Android memory usage issues. So we should revisit this commit.\nBut at least it gets things working again.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"device: ratchet up max segment size on android"}},{"before":"f502ec3fad116d11109529bcf283e464f4822c18","after":"b3df23dcd40ba4568572f338f9fd16b87053fc29","ref":"refs/heads/master","pushedAt":"2023-10-21T17:34:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: set unused OOB to zero length\n\nOtherwise in the event that we're using GSO without sticky sockets, we\npass garbage OOB buffers to sendmmsg, making a EINVAL, when GSO doesn't\nset its header.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: set unused OOB to zero length"}},{"before":"5d37bd24e14e3fff6c1ce61e299480beb3d68c00","after":"f502ec3fad116d11109529bcf283e464f4822c18","ref":"refs/heads/master","pushedAt":"2023-10-21T17:14:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: fix cmsg data padding calculation for gso\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: fix cmsg data padding calculation for gso"}},{"before":"24ea13351eb7a06c3760f2eae18a484ce009fcf9","after":"5d37bd24e14e3fff6c1ce61e299480beb3d68c00","ref":"refs/heads/master","pushedAt":"2023-10-21T16:46:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: separate gso and sticky control\n\nAndroid wants GSO but not sticky.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: separate gso and sticky control"}},{"before":"177caa7e4419d1b95bbf0423f6be6230c7101504","after":"24ea13351eb7a06c3760f2eae18a484ce009fcf9","ref":"refs/heads/master","pushedAt":"2023-10-18T19:15:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: harmonize GOOS checks between \"linux\" and \"android\"\n\nOtherwise GRO gets enabled on Android, but the conn doesn't use it,\nresulting in bundled packets being discarded.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: harmonize GOOS checks between \"linux\" and \"android\""}},{"before":"42ec952eadc297efadc70b9911d5a59bcd2db4a6","after":"177caa7e4419d1b95bbf0423f6be6230c7101504","ref":"refs/heads/master","pushedAt":"2023-10-18T19:03:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: simplify supportsUDPOffload\n\nThis allows a kernel to support UDP_GRO while not supporting\nUDP_SEGMENT.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: simplify supportsUDPOffload"}},{"before":"b3c635d0ebcf125fde379d339f60b6d0896ffd70","after":"42ec952eadc297efadc70b9911d5a59bcd2db4a6","ref":"refs/heads/master","pushedAt":"2023-10-10T13:37:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"go.mod,tun/netstack: bump gvisor\n\nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"go.mod,tun/netstack: bump gvisor"}},{"before":"d16ddac6766dc6ecff75b72f39f489b470c6cff4","after":"b3c635d0ebcf125fde379d339f60b6d0896ffd70","ref":"refs/heads/master","pushedAt":"2023-10-10T13:13:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: fix crash when ForceMTU is called after close\n\nClose closes the events channel, resulting in a panic from send on\nclosed channel.\n\nReported-By: Brad Fitzpatrick \nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"tun: fix crash when ForceMTU is called after close"}},{"before":"1ec454f253c068f74ba7a7aea34546c9819493c0","after":"d16ddac6766dc6ecff75b72f39f489b470c6cff4","ref":"refs/heads/master","pushedAt":"2023-10-10T13:11:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"go.mod,tun/netstack: bump gvisor\n\nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"go.mod,tun/netstack: bump gvisor"}},{"before":"469159ecf7d108dc1d44f8789dedbb463b7bd3a6","after":"1ec454f253c068f74ba7a7aea34546c9819493c0","ref":"refs/heads/master","pushedAt":"2023-10-10T13:08:51.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"device: move Queue{In,Out}boundElement Mutex to container type\n\nQueue{In,Out}boundElement locking can contribute to significant\noverhead via sync.Mutex.lockSlow() in some environments. These types\nare passed throughout the device package as elements in a slice, so\nmove the per-element Mutex to a container around the slice.\n\nReviewed-by: Maisem Ali \nSigned-off-by: Jordan Whited \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"device: move Queue{In,Out}boundElement Mutex to container type"}},{"before":"6e755e132ac18b44625baae0b7ea7ced572d7ff5","after":"469159ecf7d108dc1d44f8789dedbb463b7bd3a6","ref":"refs/heads/master","pushedAt":"2023-07-04T13:57:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"netstack: fix typo\n\nSigned-off-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"netstack: fix typo"}},{"before":"1f25eac395d68dcb22c77d0717903e9991de1300","after":"6e755e132ac18b44625baae0b7ea7ced572d7ff5","ref":"refs/heads/master","pushedAt":"2023-07-04T13:54:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"all: adjust build tags for wasip1/wasm\n\nSigned-off-by: Brad Fitzpatrick \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"all: adjust build tags for wasip1/wasm"}},{"before":"25eb973e00d2a5d69456c4156daafb8db56e7e0a","after":"1f25eac395d68dcb22c77d0717903e9991de1300","ref":"refs/heads/master","pushedAt":"2023-06-27T16:03:16.213Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: windows: add missing return statement in DstToString AF_INET\n\nSigned-off-by: SpringHack \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: windows: add missing return statement in DstToString AF_INET"}},{"before":"aacf607627d421f33e3dbbb6decbc56f62de74d5","after":"25eb973e00d2a5d69456c4156daafb8db56e7e0a","ref":"refs/heads/master","pushedAt":"2023-06-27T15:48:36.585Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: store IP_PKTINFO cmsg in StdNetendpoint src\n\nReplace the src storage inside StdNetEndpoint with a copy of the raw\ncontrol message buffer, to reduce allocation and perform less work on a\nper-packet basis.\n\nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: store IP_PKTINFO cmsg in StdNetendpoint src"}},{"before":"b7cd547315bed421a648d0a0f1ee5a0fc1b1151e","after":"aacf607627d421f33e3dbbb6decbc56f62de74d5","ref":"refs/heads/master","pushedAt":"2023-06-27T15:47:28.204Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: store IP_PKTINFO cmsg in StdNetendpoint src\n\nReplace the src storage inside StdNetEndpoint with a copy of the raw\ncontrol message buffer, to reduce allocation and perform less work on a\nper-packet basis.\n\nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: store IP_PKTINFO cmsg in StdNetendpoint src"}},{"before":"42cdecace9a4294049069eec6350d04dbdb141ad","after":"b7cd547315bed421a648d0a0f1ee5a0fc1b1151e","ref":"refs/heads/master","pushedAt":"2023-06-27T15:43:45.839Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"device: wait for and lock ipc operations during close\n\nIf an IPC operation is in flight while close starts, it is possible for\nboth processes to deadlock. Prevent this by taking the IPC lock at the\nstart of close and for the duration.\n\nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"device: wait for and lock ipc operations during close"}},{"before":"052af4a8072bbbd3bfe7edf46fe3c1b350f71f08","after":"42cdecace9a4294049069eec6350d04dbdb141ad","ref":"refs/heads/master","pushedAt":"2023-06-27T15:43:41.746Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"device: wait for and lock ipc operations during close\n\nIf an IPC operation is in flight while close starts, it is possible for\nboth processes to deadlock. Prevent this by taking the IPC lock at the\nstart of close and for the duration.\n\nFixes tailscale/tailscale#8059\n\nSigned-off-by: James Tucker \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"device: wait for and lock ipc operations during close"}},{"before":"052af4a8072bbbd3bfe7edf46fe3c1b350f71f08","after":"ac2fe4ce92277023ff98d165484fb929590f4c86","ref":"refs/heads/jw/for-jason","pushedAt":"2023-04-21T18:20:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: fix WinRingEndpoint.DstToString() for AF_INET endpoints\n\nSigned-off-by: Jordan Whited ","shortMessageHtmlLink":"conn: fix WinRingEndpoint.DstToString() for AF_INET endpoints"}},{"before":null,"after":"052af4a8072bbbd3bfe7edf46fe3c1b350f71f08","ref":"refs/heads/jw/for-jason","pushedAt":"2023-04-21T18:18:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: use correct IP header comparisons in tcpGRO() and tcpPacketsCanCoalesce()\n\ntcpGRO() was using an incorrect IPv4 more fragments bit mask.\n\ntcpPacketsCanCoalesce() was not distinguishing tcp6 from tcp4, and TTL\nvalues were not compared. TTL values should be equal at the IP layer,\notherwise the packets should not coalesce. This tracks with the kernel.\n\nReviewed-by: Denton Gentry \nSigned-off-by: Jordan Whited \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"tun: use correct IP header comparisons in tcpGRO() and tcpPacketsCanC…"}},{"before":"3e2cf98c233f1dc930d0301b6d9e0938a565045c","after":null,"ref":"refs/heads/jw/for-jason","pushedAt":"2023-03-25T22:14:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"}},{"before":"6f895be10d741d138ec240d3c53acf3afde44b6c","after":"052af4a8072bbbd3bfe7edf46fe3c1b350f71f08","ref":"refs/heads/master","pushedAt":"2023-03-25T22:14:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: use correct IP header comparisons in tcpGRO() and tcpPacketsCanCoalesce()\n\ntcpGRO() was using an incorrect IPv4 more fragments bit mask.\n\ntcpPacketsCanCoalesce() was not distinguishing tcp6 from tcp4, and TTL\nvalues were not compared. TTL values should be equal at the IP layer,\notherwise the packets should not coalesce. This tracks with the kernel.\n\nReviewed-by: Denton Gentry \nSigned-off-by: Jordan Whited \nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"tun: use correct IP header comparisons in tcpGRO() and tcpPacketsCanC…"}},{"before":"5bb780653c49387430ca856e9c7ede227c02d309","after":"3e2cf98c233f1dc930d0301b6d9e0938a565045c","ref":"refs/heads/jw/for-jason","pushedAt":"2023-03-25T14:41:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: tcpGRO() and tcpPacketsCanCoalesce() IP header comparison fixes\n\ntcpGRO() was using an incorrect IPv4 more fragments bit mask.\n\ntcpPacketsCanCoalesce() was not distinguishing tcp6 from tcp4, and TTL\nvalues were not compared. TTL values should be equal at the IP layer,\notherwise the packets should not coalesce. This tracks with the kernel.\n\nReviewed-by: Denton Gentry \nSigned-off-by: Jordan Whited ","shortMessageHtmlLink":"tun: tcpGRO() and tcpPacketsCanCoalesce() IP header comparison fixes"}},{"before":null,"after":"5bb780653c49387430ca856e9c7ede227c02d309","ref":"refs/heads/jw/for-jason","pushedAt":"2023-03-25T00:27:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"tun: disqualify tcp4 packets w/IP options from coalescing\n\nIP options were not being compared prior to coalescing. They are not\ncommonly used. Disqualification due to nonzero options is in line with\nthe kernel.\n\nReviewed-by: Denton Gentry \nSigned-off-by: Jordan Whited ","shortMessageHtmlLink":"tun: disqualify tcp4 packets w/IP options from coalescing"}},{"before":"d3cb5bda6e3d4a27bc713e136fe7a30df741bb7d","after":"6f895be10d741d138ec240d3c53acf3afde44b6c","ref":"refs/heads/master","pushedAt":"2023-03-24T16:05:22.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: move booleans to bottom of StdNetBind struct\n\nThis results in a more compact structure.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: move booleans to bottom of StdNetBind struct"}},{"before":"3519a50c40ad1930efee126506cafd98bff7593d","after":"d3cb5bda6e3d4a27bc713e136fe7a30df741bb7d","ref":"refs/heads/master","pushedAt":"2023-03-24T15:25:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: move booleans to bottom of StdNetBind struct\n\nThis results in a more compact structure.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: move booleans to bottom of StdNetBind struct"}},{"before":"6a07b2a355f93fb28d37d03ae5f2c0019cdb9943","after":"3519a50c40ad1930efee126506cafd98bff7593d","ref":"refs/heads/master","pushedAt":"2023-03-24T15:21:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zx2c4-bot","name":"Bot for git.zx2c4.com","path":"/zx2c4-bot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26463517?s=80&v=4"},"commit":{"message":"conn: move booleans to bottom of struct\n\nThis results in a more compact structure.\n\nSigned-off-by: Jason A. Donenfeld ","shortMessageHtmlLink":"conn: move booleans to bottom of struct"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADx2jw-QA","startCursor":null,"endCursor":null}},"title":"Activity · WireGuard/wireguard-go"}