emk2203
Guru
- Joined
- Nov 11, 2012
- Messages
- 573
Some trackers don't work with Transmission anymore because the firewalls of the trackers mistakenly assume a SYN flood attack.
This also affects the FreeNAS versions.
There is a workaround for Linux:
which doesn't work on FreeNAS since the underlying FreeBSD doesn't support the net.ipv4.tcp_adv_win_scale conf option in the sysctl.conf file.
There is a patch for FreeBSD:
but it is quite annoying to install a patched version instead of the original version via plugin.
Is there a translation of the Linux sysctl.conf addition with net.ipv4.tcp_adv_win_scale to something that works with FreeNAS?
This also affects the FreeNAS versions.
There is a workaround for Linux:
Code:
echo 'net.ipv4.tcp_adv_win_scale = 4' | sudo tee -a /etc/sysctl.conf; sudo sysctl -psysctl -p
which doesn't work on FreeNAS since the underlying FreeBSD doesn't support the net.ipv4.tcp_adv_win_scale conf option in the sysctl.conf file.
There is a patch for FreeBSD:
Code:
diff --git a/libtransmission/web.c b/libtransmission/web.c index 744f5766a..aaef5b9e1 100644 --- a/libtransmission/web.c +++ b/libtransmission/web.c @@ -140,8 +140,8 @@ static int sockoptfunction(void* vtask, curl_socket_t fd, curlsocktype purpose U /* announce and scrape requests have tiny payloads. */ if (isScrape || isAnnounce) { - int const sndbuf = isScrape ? 4096 : 1024; - int const rcvbuf = isScrape ? 4096 : 3072; + int const sndbuf = 8192; + int const rcvbuf = 8192; setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (void const*)&sndbuf, sizeof(sndbuf)); setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (void const*)&rcvbuf, sizeof(rcvbuf)); }
but it is quite annoying to install a patched version instead of the original version via plugin.
Is there a translation of the Linux sysctl.conf addition with net.ipv4.tcp_adv_win_scale to something that works with FreeNAS?