History log of /freebsd-current/contrib/tnftp/src/cmds.c
Revision Date Author Comments
# 43092b7d 27-Feb-2020 Hiroki Sato <hrs@FreeBSD.org>

Fix poor performance of ftp(1) due to small SO_SNDBUF and SO_RCVBUF.

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


# d54cfbd1 28-Jan-2018 Pedro F. Giffuni <pfg@FreeBSD.org>

ftp(1): Use closefrom() instead of individual close()s.

Use closefrom(3) instead of manually closing all file descriptors
between 3 and 19.

Obtained from: OpenBSD (CVS 1.80)


# f982db4a 19-Jun-2011 Gavin Atkinson <gavin@FreeBSD.org>

Copy lukemftp to its new home, tnftp. I'm doing this in stages so as to
not confuse the CVS exporter.