History log of /freebsd-current/libexec/ftpd/ftpd.8
Revision Date Author Comments
# e2097150 21-May-2024 Allan Jude <allanjude@FreeBSD.org>

ftpd: stop using -g flag for /bin/ls

In 3bfbb521 the behaviour of ls was changed such that -g was no longer
a noop for compatibility with BSD 4.3, but instead changed the output
of long mode to exclude the owner of the file and display only the
group.

Update how FTPd invokes ls to restore the previous behaviour

Reported-by: Andrew Fengler <andrew.fengler@scaleengine.com>
Reviewed-by: jrtc27, des, imp
MFC after: 3 days
Sponsored-by: ScaleEngine Inc.
Fixes: 3bfbb521fef5 ("ls: Improve POSIX compatibility for -g and -n.")


# 43581d7b 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

libexec: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# 01d82151 13-Sep-2023 Ed Maste <emaste@FreeBSD.org>

ftpd: correct deprecation notice markup

Also bump .Dd for the original change.

Reported by: karels
Fixes: 98b98ec1bc7e ("ftpd: add deprecation notice")
Sponsored by: The FreeBSD Foundation


# 98b98ec1 09-Sep-2023 Ed Maste <emaste@FreeBSD.org>

ftpd: add deprecation notice

Approved by: gordon
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D26447


# b2c76c41 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line nroff pattern

Remove /^\.\\"\s*\$FreeBSD\$$\n/


# 0aa27001 01-Oct-2022 Dag-Erling Smørgrav <des@FreeBSD.org>

Put OPIE to rest.

Differential Revision: https://reviews.freebsd.org/D36592


# bad2f716 28-Jun-2022 Mateusz Piotrowski <0mp@FreeBSD.org>

ftp: Use /var/spool/ftp as ftp's home consistently

The home directory of the ftp user is /var/spool/ftp according to
hier(7). Update the manual page of ftpd(8) to reflect that.

MFC after: 2 weeks


# e07d11b6 01-Nov-2016 Kurt Lidl <lidl@FreeBSD.org>

Revisit blacklistd support in ftpd

Enhance blacklistd support to not log anything by default,
unless blacklistd support is enabled on the command line.
Document new flag in man page, cleanup patches to be less
intrusive in code.

Reported by: Rick Adams
Reviewed by: cem, emaste
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8374


# 5efaea4c 17-Feb-2014 Christian Brueffer <brueffer@FreeBSD.org>

Remove the 3rd clause ("advertising clause") of the BSD license as
permitted by the University of Berkeley on July 22, 1999.

Reviewed by: imp
MFC after: 1 week


# eae8be70 14-Sep-2012 Eitan Adler <eadler@FreeBSD.org>

Bump date missed in r202756

PR: docs/171624
Submitted by: bdrewery
Approved by: gabor
MFC after: 3 days


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 0d9deed5 07-Oct-2010 Ulrich Spörlein <uqs@FreeBSD.org>

mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 0806dd92 21-Jan-2010 Ed Schouten <ed@FreeBSD.org>

Remove stale references to utmp(5) and its corresponding filenames.

I removed utmp and its manpage, but not other manpages referring to it.


# 9b7076d1 30-Jan-2009 Maxim Konovalov <maxim@FreeBSD.org>

o Fix typo: indentical -> identical.

PR: docs/131149
Submitted by: Patrick Oonk
MFC after: 1 week


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# dcac077f 20-Apr-2007 Tom Rhodes <trhodes@FreeBSD.org>

Remove references to S/Key and list OPIE.


# 1fd42e91 19-Apr-2007 Yaroslav Tykhiy <ytykhiy@gmail.com>

Reword the description of the UTF8 option (-8) so I can swear
to myself that I understand it.

Bump document date.


# 2ea42282 18-Apr-2007 Yaroslav Tykhiy <ytykhiy@gmail.com>

Add support for RFC 2389 (FEAT) and RFC 2640 (UTF8) to ftpd(8).

The support for RFC 2640 (UTF8) is optional and rudimentary.
The server just advertises its capability to handle UTF-8 file
names and relies on its own 8-bit cleanness, as well as on
the backward compatibility of UTF-8 with ASCII. So uploaded
files will have UTF-8 names, but the initial server contents
should be prepared in UTF-8 by hand, no on-the-fly conversion
of file names will be done.

PR: bin/111714
Submitted by: Zhang Weiwu <see email in the PR>
MFC after: 1 week


# f1daaa3e 29-Jan-2006 Yaroslav Tykhiy <ytykhiy@gmail.com>

Touch .Dd because the last commit was content-related.


# 125b9635 20-Jan-2006 Yaroslav Tykhiy <ytykhiy@gmail.com>

Use pidfile(3) provided by libutil to manage the deamon's pid file.

By default, create a pid file at the standard location, /var/run/ftpd.pid,
in accord with the expected behavior of a stock system daemon.

MFC after: 5 days


# a3ac07a5 18-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Sort sections.


# c481aa05 02-Jul-2004 Ruslan Ermilov <ru@FreeBSD.org>

Mechanically kill hard sentence breaks.


# 53ee59fe 16-May-2004 Ruslan Ermilov <ru@FreeBSD.org>

There's no such beast like AF_INET4, even when powered by whiskey.


# 206fe568 14-Sep-2003 Hajimu UMEMOTO <ume@FreeBSD.org>

Don't depend on IPv4-mapped IPv6 address to bind to both IPv4
and IPv6.

Wrote at: Hakone.
Powered by: Warner Losh's scotch whisky.
Requested by: nork


# a707b683 31-Aug-2003 Ceri Davies <ceri@FreeBSD.org>

Add a note that the -u option can be overridden by settings in login.conf(5).

PR: docs/56017
Submitted by: Josef El-Rayes <j.el-rayes@daemon.li>


# 42161502 07-Jun-2003 Philippe Charnier <charnier@FreeBSD.org>

Add section number to .Xr


# c00ee5e5 16-May-2003 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: Properly markup the previous revision.

Approved by: re (blanket)


# d28af255 25-Mar-2003 Mike Silbersack <silby@FreeBSD.org>

Update the description of the -u option to mention that IP_PORTRANGE_HIGH
and _DEFAULT are the same for 5.x.

Committed under threat of action from: The mdoc police


# ace5be68 24-Feb-2003 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: Scheduled sweep.


# c152df28 29-Jan-2003 Yaroslav Tykhiy <ytykhiy@gmail.com>

Add a new option to ftpd(8), "-h", to disable printing any
host-specific information in FTP server messages (so paranoid
admins can sleep at night :-)

PR: bin/16705
MFC after: 1 week


# ce9287fc 29-Jan-2003 Yaroslav Tykhiy <ytykhiy@gmail.com>

Give the code around chroot(2)/chdir(2) a major overhaul by
separating its part around chroot(2) from that around initial
chdir(2). This makes the below changes really easy.

Move seteuid(to user's uid) to before calling chdir(2). There are
two goals to achieve by that. First, NFS mounted home directories
with restrictive permissions become accessible (local superuser
can't access them if not mapped to uid 0 on the remote side
explicitly.) Second, all the permissions to the home directory
pathname components become effective; previously a user could be
carried to any local directory despite its permissions since the
chdir(2) was done with euid 0. This reduces possible impact from
FTP server misconfiguration, e.g., assigning a wrong home directory
to a user.

Implement the "/./" feature. Now a guest or user subject to chrooting
may have "/./" in his login directory, which separates his chroot
directory from his home directory inside the chrooted environment.
This works for ftpchroot(5) as well.

PR: bin/17843 bin/23944


# 8657b576 26-Jan-2003 Yaroslav Tykhiy <ytykhiy@gmail.com>

Extend the format of /etc/ftpchroot so an alternative chroot
directory can be specified for a user or a group.

Add the manpage ftpchroot(5) since the file's format has grown
complex enough.

PR: bin/45327
Portions submitted by: Hideki SAKAMOTO <sakamoto@hlla.is.tsukuba.ac.jp>
MFC after: 1 week


# 63591ba5 23-Jan-2003 Yaroslav Tykhiy <ytykhiy@gmail.com>

- Add a new option, ``-P port'', to specify the port for ftpd(8)
to listen at in daemon mode.
- Use the port by 1 less than the control port as the default
data port instead of always using hard-coded port 20.

Submitted by: roam
MFC after: 1 week


# 57bd0fc6 26-Dec-2002 Jens Schweikhardt <schweikh@FreeBSD.org>

english(4) police.


# d939fc70 25-Nov-2002 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police:

Properly sort options, spell "file system" correctly, expand contraction.

Catch up to the src/etc/syslog.conf,v 1.23 change: ftpd(8) session logs
are now by default get logged to /var/log/xferlog.

Approved by: re


# 5d7e0128 23-Aug-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Add option '-W': don't log FTP sessions to wtmp.

Submitted by: maxim
MFC after: 1 week


# a117c345 08-Aug-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Rework storing files thoroughly. This includes:

o Remove the race between stat(2) & fopen(3) when creating
a unique file.

o Improve bound checking when generating a unique name from
a given pathname.

o Ignore REST marker on APPE. No RFC specifies this case,
but the idea of resuming APPE's implies this.

o By default, deny upload resumes and appends by anonymous users.
Previously these commands were translated to STOU silently,
which led to broken files on server without any notification
to the user.

o Add an option, -m, to allow anonymous users to modify
existing files (e.g., to resume uploads) if filesystem
permissions permit.

Portions obrainded from: OpenBSD
MFC after: 3 weeks


# 255a7037 05-Aug-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Reflect in the ftpd(8) manpage the fact that ASCII SIZE
requests against large files will be denied.

MFC after: 10 days


# 93bd9dc5 26-Jul-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Make the `-v' option a synonym for `-d'
(as it was intended initially)
and document it in the manpage.

MFC after: 2 weeks


# 38ed70b1 26-Jul-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Document the -u (set umask) option
(which has been there at least since 4.4BSD-Lite!)

MFC after: 2 weeks


# 0e063efe 26-Jul-2002 Yaroslav Tykhiy <ytykhiy@gmail.com>

Sort command-line options according to the mostly used style:
alphabetical order, lower and upper case of the same letter
stick together, lower case first.

MFC after: 2 weeks


# 3f162cb8 06-Jul-2002 Philippe Charnier <charnier@FreeBSD.org>

The .Nm utility


# d186bb12 30-Jun-2002 Matthew N. Dodd <mdodd@FreeBSD.org>

Implement a flag to disable directory creation for anonymous users.

PR: misc/38987
Submitted by: Peter da Silva <peter@abbnm.com>
MFC after: 1 week


# a8838c53 30-Sep-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: markup nits.


# 9ba6d8e4 24-Sep-2001 Mike Heffner <mikeh@FreeBSD.org>

Improve the description on how to construct ~ftp/pub. Specifically,
don't instruct users to set the directory mode 777.

PR: 30690
Obtained from: NetBSD (with modification)
MFC after: 2 weeks


# 48143587 04-Sep-2001 Sheldon Hearn <sheldonh@FreeBSD.org>

Do the best we can with respect to fixing command-line option disorder
in the SYNOPSIS and DESCRIPTION.

Note that -l remains an ugly exception, to which no known rules apply,
since the specification of a single option multiple times isn't normal
standards-compliant CLI behaviour.

While here, mark AF_INET* and LOG_* defined values up with Dv.


# 1cc9f0bb 02-Sep-2001 Sheldon Hearn <sheldonh@FreeBSD.org>

Extend the functionality offered by the -o option into a new option
-O, which limits the impact of the write-only restriction to guest
users.

*) The existing manual page's SYNOPSIS and option listing in the
DESCRIPTION are already horribly disordered. No attempt has been
made to fix this.

*) The existing source's getopt() optstring and option handling switch
are already horribly disordered. No attempt has been made to fix
this.

Discussed with: nik, -audit


# 62513e76 28-Aug-2001 Nik Clayton <nik@FreeBSD.org>

Add a new option, '-o', for "Write-only". Disables the RETR command,
preventing anyone from downloading files. In conjunction with -A, and some
appropriate file permissions, this lets you create an anonymous FTP drop
box for people to upload files to.

The more obvious "-w" flag is already taken by NetBSD's ftpd. "-o" was
available as an option letter in all three BSDs.


# 7ebcc426 15-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Remove whitespace at EOL.


# 0efe23d6 10-Jul-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed HISTORY info from the .Os call.


# eb083802 18-Apr-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: normalize .Nd.


# 6a01974b 16-Apr-2001 Ruslan Ermilov <ru@FreeBSD.org>

Document that SITE extensions are disabled for anonymous logins.

Obtained from: logdaemon package by Wietse Venema


# 53ba84a6 15-Apr-2001 Poul-Henning Kamp <phk@FreeBSD.org>

Add the "SITE MD5 filename" facility.

This allows you to determine if the file on the other side is the same
as the one you have without transferring the entire file to compare.

Needless to say, if the server end lies to you this check doesn't work,
but on the other hand, if it lies to you about the files checksum,
what can you trust from it ?


# 19a05e11 18-Dec-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed hard sentence breaks, run through spell-checker.


# 3276496d 17-Dec-2000 Dmitry Sivachenko <demon@FreeBSD.org>

Fix typo.

PR: 23591
Submitted by: mavetju@chello.nl


# a4b77a2a 16-Dec-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Add option -E to disable EPSV which throws certain stateful firewalls
into confusion.

Add option -r to make ftpd support only read-only operations.

Submitted by: Flemming (F3) Jacobsen <fj@batmule.dk>
Reviewed by: phk


# 76081989 20-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the new features of the Nm macro.


# a611641f 11-Jul-2000 Ben Smithurst <ben@FreeBSD.org>

Explain that the -S option only logs file downloads, not all transfers.

PR: 16934
Submitted by: Kurt Zeilenga <kurt@OpenLDAP.org>


# 05c1f99b 16-Feb-2000 Peter Wemm <peter@FreeBSD.org>

Doc fix: remove references to ~ftp/bin/ls as we have FTPD_INTERNAL_LS
unconditionally active already.

Noticed by: obrien


# 4dd8b5ab 27-Jan-2000 Yoshinobu Inoue <shin@FreeBSD.org>

another tcp apps IPv6 updates.(should be make world safe)
ftp, telnet, ftpd, faithd
also telnet related sync with crypto, secure, kerberosIV

Obtained from: KAME project


# 7f3dea24 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 17130647 25-Aug-1999 Peter Wemm <peter@FreeBSD.org>

unifdef -DINTERNAL_LS - it's too useful to be off by default. If anyone
really dislikes this, we could add a switch to disable it at runtime and
check in popen.c.


# a206edcd 28-Jun-1999 Mike Pritchard <mpp@FreeBSD.org>

Update the SYNOPSIS to reflect that the -l option can be specified
more than once.

Pointed-out-by: sheldonh


# e57c110b 04-May-1999 Guy Helmer <ghelmer@FreeBSD.org>

Add missing -A option to SYNOPSIS.

PR: docs/10771


# 0e510aed 12-Jan-1999 Satoshi Asami <asami@FreeBSD.org>

Oops, I missed a few more /etc/nologin references yesterday. It appears
my check of the tree was incomplete. Sorry guys.

Reported by: Ben Smithurst <ben@scientia.demon.co.uk>


# c711c51d 02-Dec-1998 Bill Fumerola <billf@FreeBSD.org>

Update to correctly reflect the default values of
net.inet.ip.portrange.hifirst and net.inet.ip.portrange.hilast

PR: docs/6745
Submitted by: Masachika Ishizuka <ishizuka@ish.org>


# 29a199db 29-Sep-1998 Alexander Langer <alex@FreeBSD.org>

Added double quotes around CHMOD description to prevent garbled output.

PR: 8094
Submitted by: Christoph Weber-Fahr <wefa@callcenter.systemhaus.net>


# d59b62e3 09-Jul-1998 Joseph Koshy <jkoshy@FreeBSD.org>

Document the use of lines beginning with a '#' as comment lines.

PR: 5676


# f97d7807 18-Feb-1998 David E. O'Brien <obrien@FreeBSD.org>

MFS.


# 59c780cd 03-Dec-1997 Steve Price <steve@FreeBSD.org>

FTP_INTERNAL_LS -> FTPD_INTERNAL_LS

Pointed out by: Jaye Mathisen <mrcpu@cdsnet.net>


# e02897fa 21-Nov-1997 Philippe Charnier <charnier@FreeBSD.org>

Cosmetics in man page. Exit(-1) -> exit(1).


# 9c607750 02-Aug-1997 Bruce Evans <bde@FreeBSD.org>

Import Lite2's src/libexec, except for makekey (which was spammed
by a repository copy from 1.1.5 and patched back to Lite1) and
rbootd/bootdir/SYSHPBSD (which is binary). All changed files have
already left the vendor branch.


# ea4e54b9 28-Apr-1997 David Nugent <davidn@FreeBSD.org>

Adds anon ftp virtual host capability to ftpd, using /etc/ftphosts for
definition of a system's virtual hosts.


# 31fea7b8 27-Apr-1997 David Nugent <davidn@FreeBSD.org>

YAMF2.2: Allow @group entries in /etc/ftpusers & /etc/ftpchroot to deny
and allow chroot access to entire groups.


# 334ab9fd 25-Apr-1997 David Nugent <davidn@FreeBSD.org>

Document internal ls, how to compile it in and what it changes wrt
anon ftp and chrooted users.


# b071c689 22-Apr-1997 David Nugent <davidn@FreeBSD.org>

Add basic login.conf (sans authentication) support.


# 42946c82 24-Mar-1997 Mike Pritchard <mpp@FreeBSD.org>

Remove some incorrect text on how passwords are validated.
Closes PR# 3050.

Submitted by: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru>


# 9e522f7a 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


# f3396fdc 11-Jan-1997 Mike Pritchard <mpp@FreeBSD.org>

Document the fact that the administrator may have
to change syslog's config file in order for all of
ftpd's log messages to be displayed by syslogd.

Closes PR# 1559.


# 5a392aec 29-Nov-1996 Torsten Blum <torstenb@FreeBSD.org>

add flag to allow only anonymous ftp logins

Reviewed by: pst


# 148531ef 22-Sep-1996 Wolfram Schneider <wosch@FreeBSD.org>

add forgotten $Id$


# 105a3c98 09-Aug-1996 Julian Elischer <julian@FreeBSD.org>

Reviewed by: various
Submitted by: archie@whistle.com

allow ftpd to bind to a single address/interface
this allows easy split services.


# a5a4544e 04-Aug-1996 Paul Traina <pst@FreeBSD.org>

Convert STATS and PARANOID to run-time options.
Document the new -R (relax paranoia) option.

From NetBSD/Lite2: code and man page cleanups, Kerberos IV hooks
(relax, we're still exportable), and /etc/ftpchroot feature for
semi-anonymous accounts


# cf09a206 11-Apr-1996 David Greenman <dg@FreeBSD.org>

Implemented a "-D" option that causes ftpd to detach and become a daemon -
accepting connections on the FTP port and forking children processes to
handling them. This is lower overhead than spawning ftpd from inetd and
can be a significant win on busy FTP servers. Be sure to disable ftpd in
inetd.conf if you decide to use this option.
These changes are based on similar changes I made to wu-ftpd and have
been in use on wcarchive for several months.


# 4c450ad7 05-Aug-1995 Paul Traina <pst@FreeBSD.org>

Use data ports in the range 40000..44999 by default to enhance FTP usability
in a firewall environment. Original idea by Mark Tracy (?).

Reviewed by: wollman
Submitted by: pst


# 7253b58b 15-Apr-1995 Gary Palmer <gpalmer@FreeBSD.org>

Fix two more references to /etc/motd that I overlooked. PR #29


# 025362a7 15-Apr-1995 Gary Palmer <gpalmer@FreeBSD.org>

Close PR #29. The file should be /etc/ftpmotd, not /etc/motd.


# 3eb568f2 26-Feb-1995 Guido van Rooij <guido@FreeBSD.org>

Add some functionality to ftpd so it logs all anonymous file
transfers. It only does this when -S is set.
Reviewed by:
Submitted by:
Obtained from: logdaemon package


# ea022d16 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite Libexec Sources