mirror of
https://github.com/opnsense/src.git
synced 2026-04-02 16:05:17 -04:00
ftp(1) from vendor/tnftp always tried the following for
every TCP connection:
1. Get the current buffer length of SO_SNDBUF and SO_RCVBUF
by getsockopt(2).
2. Invoke setsockopt(2) to set them to the same values
after checking if they are in a range between 8 KiB to 8 MiB.
This behavior broke dynamic buffer sizing enabled by
default (net.inet.tcp.{recv,send}buf_auto sysctls) and
led to a very poor transfer rate. The fetch(1) utility
does not have this problem.
This change prevents SO_SNDBUF and SO_RCVBUF from configuring
when the buffer auto-sizing is enabled unless the buffer sizes are
explicitly specified.
PR: 240827
Spotted by: Yuichiro NAITO
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D23732
|
||
|---|---|---|
| .. | ||
| cmds.c | ||
| cmdtab.c | ||
| complete.c | ||
| domacro.c | ||
| extern.h | ||
| fetch.c | ||
| ftp.1 | ||
| ftp.c | ||
| ftp_var.h | ||
| main.c | ||
| Makefile.am | ||
| Makefile.in | ||
| progressbar.c | ||
| progressbar.h | ||
| ruserpass.c | ||
| util.c | ||
| version.h | ||