Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Sep 2025 21:55:39 GMT
From:      Lexi Winter <ivy@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 614c8750ce11 - main - Remove ftpd(8)
Message-ID:  <202509292155.58TLtdI9052857@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by ivy:

URL: https://cgit.FreeBSD.org/src/commit/?id=614c8750ce116865953916b8b5bab2467ee94187

commit 614c8750ce116865953916b8b5bab2467ee94187
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-09-29 20:26:26 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-09-29 21:53:34 +0000

    Remove ftpd(8)
    
    This was previously deprecated and is slated for removal in 15.0.
    Users who still need ftpd(8) can install the ftp/freebsd-ftpd port.
    
    Retain the ftp(d) PAM services since other FTP daemons use them.
    
    Update /etc/inetd.conf to point to /usr/local.
    
    Add ftpd to ObsoleteFiles, but do not list configuration files since
    users may want to preserve these to use with the freebsd-ftpd port.
    
    There is still some language in the manual referring to ftpd(8)
    which is relevant to the port, which has been retained but updated
    to reference the port.
    
    MFC after:      3 days
    Relnotes:       yes
    Reviewed by:    cperciva
    Differential Revision:  https://reviews.freebsd.org/D52739
---
 ObsoleteFiles.inc                             |    6 +
 UPDATING                                      |    5 +
 contrib/tnftp/src/ftp.1                       |    5 +-
 lib/libutil/login.conf.5                      |    4 +-
 libexec/Makefile                              |    4 -
 libexec/ftpd/Makefile                         |   39 -
 libexec/ftpd/Makefile.depend                  |   21 -
 libexec/ftpd/Makefile.depend.options          |    5 -
 libexec/ftpd/blacklist.c                      |   55 -
 libexec/ftpd/blacklist_client.h               |   53 -
 libexec/ftpd/config.h                         |  280 --
 libexec/ftpd/extern.h                         |  110 -
 libexec/ftpd/ftpchroot.5                      |  118 -
 libexec/ftpd/ftpcmd.y                         | 1806 -------------
 libexec/ftpd/ftpd.8                           |  589 -----
 libexec/ftpd/ftpd.c                           | 3448 -------------------------
 libexec/ftpd/ftpusers                         |   28 -
 libexec/ftpd/logwtmp.c                        |   70 -
 libexec/ftpd/pathnames.h                      |   39 -
 libexec/ftpd/popen.c                          |  193 --
 libexec/rc/rc.conf                            |    3 -
 libexec/rc/rc.d/Makefile                      |    6 -
 libexec/rc/rc.d/ftpd                          |   22 -
 release/tools/oci-image-notoolchain.conf      |    1 -
 share/examples/etc/README.examples            |    1 -
 share/man/man5/rc.conf.5                      |   24 +-
 share/man/man5/src.conf.5                     |   16 +-
 share/man/man7/hier.7                         |    8 +-
 share/man/man7/security.7                     |    1 -
 share/man/man8/intro.8                        |    2 -
 tools/build/mk/OptionalObsoleteFiles.inc      |    7 -
 tools/build/options/WITHOUT_BLACKLIST_SUPPORT |    3 +-
 tools/build/options/WITHOUT_FTP               |    4 +-
 tools/build/options/WITHOUT_PAM_SUPPORT       |    7 +-
 usr.sbin/inetd/inetd.8                        |    4 +-
 usr.sbin/inetd/inetd.conf                     |    4 +-
 usr.sbin/newsyslog/newsyslog.conf.d/Makefile  |    7 -
 usr.sbin/syslogd/Makefile                     |    6 -
 38 files changed, 32 insertions(+), 6972 deletions(-)

diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 785ab4913f8d..06aacea24c69 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -51,6 +51,12 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20250929: Remove ftpd(8)
+OLD_FILES+=etc/rc.d/ftpd
+OLD_FILES+=usr/libexec/ftpd
+OLD_FILES+=usr/share/man/man5/ftpchroot.5.gz
+OLD_FILES+=usr/share/man/man8/ftpd.8.gz
+
 # 20250917: VREF macro removed
 OLD_FILES+=usr/share/man/man9/VREF.9.gz
 
diff --git a/UPDATING b/UPDATING
index 73d3eddc2941..1f30b6b0b8f3 100644
--- a/UPDATING
+++ b/UPDATING
@@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 16.x IS SLOW:
 	world, or to merely disable the most expensive debugging functionality
 	at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20250929:
+	The deprecated ftpd(8) has been removed.  Users who still need ftpd
+	can install the ftp/freebsd-ftpd port.  pkgbase users should remove
+	the orphaned FreeBSD-ftpd package.
+
 20250923:
 	Several changes which affect pkgbase users (only):
 
diff --git a/contrib/tnftp/src/ftp.1 b/contrib/tnftp/src/ftp.1
index 34a88c23520b..e9f09ddca8cc 100644
--- a/contrib/tnftp/src/ftp.1
+++ b/contrib/tnftp/src/ftp.1
@@ -58,7 +58,7 @@
 .\"
 .\"	@(#)ftp.1	8.3 (Berkeley) 10/9/94
 .\"
-.Dd May 10, 2008
+.Dd September 25, 2025
 .Dt FTP 1
 .Os
 .Sh NAME
@@ -2325,8 +2325,7 @@ for an example of how to make this automatic.
 .Sh SEE ALSO
 .Xr getservbyname 3 ,
 .Xr editrc 5 ,
-.Xr services 5 ,
-.Xr ftpd 8
+.Xr services 5
 .Sh STANDARDS
 .Nm
 attempts to be compliant with:
diff --git a/lib/libutil/login.conf.5 b/lib/libutil/login.conf.5
index 27f37fb5fc30..942f3ecd2661 100644
--- a/lib/libutil/login.conf.5
+++ b/lib/libutil/login.conf.5
@@ -17,7 +17,7 @@
 .\" 5. Modifications may be freely made to this file providing the above
 .\"    conditions are met.
 .\"
-.Dd June 28, 2023
+.Dd September 25, 2025
 .Dt LOGIN.CONF 5
 .Os
 .Sh NAME
@@ -496,7 +496,7 @@ lists.
 .Xr pam 3 ,
 .Xr passwd 5 ,
 .Xr ttys 5 ,
-.Xr ftpd 8 ,
+.Xr ftpd 8 Pq Pa ports/ftp/freebsd-ftpd ,
 .Xr pam_passwdqc 8
 .Sh HISTORY
 The file
diff --git a/libexec/Makefile b/libexec/Makefile
index 55e586434087..7ce78321f08e 100644
--- a/libexec/Makefile
+++ b/libexec/Makefile
@@ -54,10 +54,6 @@ SUBDIR+=	fingerd
 _phttpget=	phttpget
 .endif
 
-.if ${MK_FTP} != "no"
-SUBDIR+=	ftpd
-.endif
-
 .if ${MK_MAIL} != "no"
 _comsat=	comsat
 .endif
diff --git a/libexec/ftpd/Makefile b/libexec/ftpd/Makefile
deleted file mode 100644
index a040fa57f7d7..000000000000
--- a/libexec/ftpd/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-.include <src.opts.mk>
-
-PACKAGE=	ftpd
-
-CONFS=	ftpusers
-PROG=	ftpd
-MAN=	ftpd.8 ftpchroot.5
-SRCS=	ftpd.c ftpcmd.y logwtmp.c popen.c
-
-CFLAGS+=-DSETPROCTITLE -DLOGIN_CAP -DVIRTUAL_HOSTING
-CFLAGS+=-I${.CURDIR}
-YFLAGS=
-WARNS?=	2
-WFORMAT=0
-
-LIBADD=	crypt md util
-
-.PATH:	${SRCTOP}/bin/ls
-SRCS+=	ls.c cmp.c print.c util.c
-CFLAGS+=-Dmain=ls_main -I${SRCTOP}/bin/ls
-LIBADD+=	m
-
-.if ${MK_BLACKLIST_SUPPORT} != "no"
-CFLAGS+= -DUSE_BLACKLIST -I${SRCTOP}/contrib/blocklist/include
-SRCS+= blacklist.c
-LIBADD+= blacklist
-LDFLAGS+=-L${LIBBLACKLISTDIR}
-.endif
-
-.if ${MK_INET6_SUPPORT} != "no"
-CFLAGS+=-DINET6
-.endif
-
-.if ${MK_PAM_SUPPORT} != "no"
-CFLAGS+=-DUSE_PAM
-LIBADD+=	pam
-.endif
-
-.include <bsd.prog.mk>
diff --git a/libexec/ftpd/Makefile.depend b/libexec/ftpd/Makefile.depend
deleted file mode 100644
index b6e94a3cf93c..000000000000
--- a/libexec/ftpd/Makefile.depend
+++ /dev/null
@@ -1,21 +0,0 @@
-# Autogenerated - do NOT edit!
-
-DIRDEPS = \
-	include \
-	include/arpa \
-	include/xlocale \
-	lib/${CSU_DIR} \
-	lib/libc \
-	lib/libcompiler_rt \
-	lib/libcrypt \
-	lib/libmd \
-	lib/libutil \
-	lib/msun \
-	usr.bin/yacc.host \
-
-
-.include <dirdeps.mk>
-
-.if ${DEP_RELDIR} == ${_DEP_RELDIR}
-# local dependencies - needed for -jN in clean tree
-.endif
diff --git a/libexec/ftpd/Makefile.depend.options b/libexec/ftpd/Makefile.depend.options
deleted file mode 100644
index 5f186bb031f2..000000000000
--- a/libexec/ftpd/Makefile.depend.options
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file is not autogenerated - take care!
-
-DIRDEPS_OPTIONS= BLACKLIST_SUPPORT PAM_SUPPORT
-
-.include <dirdeps-options.mk>
diff --git a/libexec/ftpd/blacklist.c b/libexec/ftpd/blacklist.c
deleted file mode 100644
index 0a45f9369074..000000000000
--- a/libexec/ftpd/blacklist.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*-
- * Copyright (c) 2016 The FreeBSD Foundation
- *
- * This software was developed by Kurt Lidl under sponsorship from the
- * FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-
-
-#include <ctype.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#include <blacklist.h>
-#include "blacklist_client.h"
-
-static struct blacklist *blstate;
-extern int use_blacklist;
-
-void
-blacklist_init(void)
-{
-
-	if (use_blacklist)
-		blstate = blacklist_open();
-}
-
-void
-blacklist_notify(int action, int fd, const char *msg)
-{
-
-	if (blstate == NULL)
-		return;
-	(void)blacklist_r(blstate, action, fd, msg);
-}
diff --git a/libexec/ftpd/blacklist_client.h b/libexec/ftpd/blacklist_client.h
deleted file mode 100644
index 0b6805dc218e..000000000000
--- a/libexec/ftpd/blacklist_client.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * Copyright (c) 2016 The FreeBSD Foundation
- *
- * This software was developed by Kurt Lidl under sponsorship from the
- * FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-
-
-#ifndef BLACKLIST_CLIENT_H
-#define BLACKLIST_CLIENT_H
-
-#ifndef BLACKLIST_API_ENUM
-enum {
-	BLACKLIST_AUTH_OK = 0,
-	BLACKLIST_AUTH_FAIL
-};
-#endif
-
-#ifdef USE_BLACKLIST
-void blacklist_init(void);
-void blacklist_notify(int, int, const char *);
-
-#define BLACKLIST_INIT() blacklist_init()
-#define BLACKLIST_NOTIFY(x, y, z) blacklist_notify(x, y, z)
-
-#else
-
-#define BLACKLIST_INIT()
-#define BLACKLIST_NOTIFY(x, y, z)
-
-#endif
-
-#endif /* BLACKLIST_CLIENT_H */
diff --git a/libexec/ftpd/config.h b/libexec/ftpd/config.h
deleted file mode 100644
index c5ca1f01e10e..000000000000
--- a/libexec/ftpd/config.h
+++ /dev/null
@@ -1,280 +0,0 @@
-
-
-/* config.h.  Generated automatically by configure.  */
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
-/* $Id: config.h.in,v 1.15 2001/04/28 07:11:46 lukem Exp $ */
-
-
-/* Define if the closedir function returns void instead of int.  */
-/* #undef CLOSEDIR_VOID */
-
-/* Define to empty if the keyword does not work.  */
-/* #undef const */
-
-/* Define if your C compiler doesn't accept -c and -o together.  */
-/* #undef NO_MINUS_C_MINUS_O */
-
-/* Define if your Fortran 77 compiler doesn't accept -c and -o together. */
-/* #undef F77_NO_MINUS_C_MINUS_O */
-
-/* Define to `long' if <sys/types.h> doesn't define.  */
-/* #undef off_t */
-
-/* Define to the type of arg1 for select(). */
-/* #undef SELECT_TYPE_ARG1 */
-
-/* Define to the type of args 2, 3 and 4 for select(). */
-/* #undef SELECT_TYPE_ARG234 */
-
-/* Define to the type of arg5 for select(). */
-/* #undef SELECT_TYPE_ARG5 */
-
-/* Define if you have the ANSI C header files.  */
-#define STDC_HEADERS 1
-
-/* Define if you can safely include both <sys/time.h> and <time.h>.  */
-#define TIME_WITH_SYS_TIME 1
-
-/* Define if the closedir function returns void instead of int.  */
-/* #undef VOID_CLOSEDIR */
-
-/* The number of bytes in a off_t.  */
-#define SIZEOF_OFF_T 0
-
-/* Define if you have the err function.  */
-#define HAVE_ERR 1
-
-/* Define if you have the fgetln function.  */
-#define HAVE_FGETLN 1
-
-/* Define if you have the flock function.  */
-#define HAVE_FLOCK 1
-
-/* Define if you have the fparseln function.  */
-#define HAVE_FPARSELN 1
-
-/* Define if you have the fts_open function.  */
-#define HAVE_FTS_OPEN 1
-
-/* Define if you have the getaddrinfo function.  */
-#define HAVE_GETADDRINFO 1
-
-/* Define if you have the getgrouplist function.  */
-#define HAVE_GETGROUPLIST 1
-
-/* Define if you have the getnameinfo function.  */
-#define HAVE_GETNAMEINFO 1
-
-/* Define if you have the getspnam function.  */
-/* #undef HAVE_GETSPNAM */
-
-/* Define if you have the getusershell function.  */
-#define HAVE_GETUSERSHELL 1
-
-/* Define if you have the inet_net_pton function.  */
-#define HAVE_INET_NET_PTON 1
-
-/* Define if you have the inet_ntop function.  */
-#define HAVE_INET_NTOP 1
-
-/* Define if you have the inet_pton function.  */
-#define HAVE_INET_PTON 1
-
-/* Define if you have the lockf function.  */
-#define HAVE_LOCKF 1
-
-/* Define if you have the mkstemp function.  */
-#define HAVE_MKSTEMP 1
-
-/* Define if you have the setlogin function.  */
-#define HAVE_SETLOGIN 1
-
-/* Define if you have the setproctitle function.  */
-#define HAVE_SETPROCTITLE 1
-
-/* Define if you have the sl_init function.  */
-#define HAVE_SL_INIT 1
-
-/* Define if you have the snprintf function.  */
-#define HAVE_SNPRINTF 1
-
-/* Define if you have the strdup function.  */
-#define HAVE_STRDUP 1
-
-/* Define if you have the strerror function.  */
-#define HAVE_STRERROR 1
-
-/* Define if you have the strlcat function.  */
-#define HAVE_STRLCAT 1
-
-/* Define if you have the strlcpy function.  */
-#define HAVE_STRLCPY 1
-
-/* Define if you have the strmode function.  */
-#define HAVE_STRMODE 1
-
-/* Define if you have the strsep function.  */
-#define HAVE_STRSEP 1
-
-/* Define if you have the strtoll function.  */
-#define HAVE_STRTOLL 1
-
-/* Define if you have the user_from_uid function.  */
-#define HAVE_USER_FROM_UID 1
-
-/* Define if you have the usleep function.  */
-#define HAVE_USLEEP 1
-
-/* Define if you have the vfork function.  */
-#define HAVE_VFORK 1
-
-/* Define if you have the vsyslog function.  */
-#define HAVE_VSYSLOG 1
-
-/* Define if you have the <arpa/nameser.h> header file.  */
-#define HAVE_ARPA_NAMESER_H 1
-
-/* Define if you have the <dirent.h> header file.  */
-#define HAVE_DIRENT_H 1
-
-/* Define if you have the <err.h> header file.  */
-#define HAVE_ERR_H 1
-
-/* Define if you have the <fts.h> header file.  */
-#define HAVE_FTS_H 1
-
-/* Define if you have the <libutil.h> header file.  */
-#define HAVE_LIBUTIL_H 1
-
-/* Define if you have the <ndir.h> header file.  */
-/* #undef HAVE_NDIR_H */
-
-/* Define if you have the <paths.h> header file.  */
-#define HAVE_PATHS_H 1
-
-/* Define if you have the <sys/dir.h> header file.  */
-#define HAVE_SYS_DIR_H 1
-
-/* Define if you have the <sys/ndir.h> header file.  */
-/* #undef HAVE_SYS_NDIR_H */
-
-/* Define if you have the <sys/sysmacros.h> header file.  */
-/* #undef HAVE_SYS_SYSMACROS_H */
-
-/* Define if you have the <util.h> header file.  */
-/* #undef HAVE_UTIL_H */
-
-/* Define if you have the crypt library (-lcrypt).  */
-#define HAVE_LIBCRYPT 1
-
-/* Define if you have the nsl library (-lnsl).  */
-/* #undef HAVE_LIBNSL */
-
-/* Define if you have the skey library (-lskey).  */
-/* #undef HAVE_LIBSKEY */
-
-/* Define if you have the socket library (-lsocket).  */
-/* #undef HAVE_LIBSOCKET */
-
-/* Define if you have the util library (-lutil).  */
-#define HAVE_LIBUTIL 1
-
-/* Define if your compiler supports `long long' */
-#define HAVE_LONG_LONG 1
-
-/* Define if *printf() uses %qd to print `long long' (otherwise uses %lld) */
-#define HAVE_PRINTF_QD 1
-
-/* Define if in_port_t exists */
-#define HAVE_IN_PORT_T 1
-
-/* Define if struct sockaddr.sa_len exists (implies sockaddr_in.sin_len, etc) */
-#define HAVE_SOCKADDR_SA_LEN 1
-
-/* Define if socklen_t exists */
-#define HAVE_SOCKLEN_T 1
-
-/* Define if AF_INET6 exists in <sys/socket.h> */
-#define HAVE_AF_INET6 1
-
-/* Define if `struct sockaddr_in6' exists in <netinet/in.h> */
-#define HAVE_SOCKADDR_IN6 1
-
-/* Define if `struct addrinfo' exists in <netdb.h> */
-#define HAVE_ADDRINFO 1
-
-/*
- * Define if <netdb.h> contains AI_NUMERICHOST et al.
- * Systems which only implement RFC2133 will need this.
- */
-#define HAVE_RFC2553_NETDB 1
-
-/* Define if `struct direct' has a d_namlen element */
-#define HAVE_D_NAMLEN 1
-
-/* Define if struct passwd.pw_expire exists. */
-#define HAVE_PW_EXPIRE 1
-
-/* Define if GLOB_BRACE, gl_path and gl_match exist in <glob.h> */
-#define HAVE_WORKING_GLOB 1
-
-/* Define if crypt() is declared in <unistd.h> */
-#define HAVE_CRYPT_D 1
-
-/* Define if fclose() is declared in <stdio.h> */
-#define HAVE_FCLOSE_D 1
-
-/* Define if optarg is declared in <stdlib.h> or <unistd.h> */
-#define HAVE_OPTARG_D 1
-
-/* Define if optind is declared in <stdlib.h> or <unistd.h> */
-#define HAVE_OPTIND_D 1
-
-/* Define if optreset exists */
-#define HAVE_OPTRESET 1
-
-/* Define if pclose() is declared in <stdio.h> */
-#define HAVE_PCLOSE_D 1
-
-/* Define if getusershell() is declared in <unistd.h> */
-#define HAVE_GETUSERSHELL_D 1
-
-/* Define if `long long' is supported and sizeof(off_t) >= 8 */
-#define HAVE_QUAD_SUPPORT 1
-
-/* Define if not using in-built /bin/ls code */
-/* #undef NO_INTERNAL_LS */
-
-/* Define if using S/Key */
-/* #undef SKEY */
-
-/*
- * Define this if compiling with SOCKS (the firewall traversal library).
- * Also, you must define connect, getsockname, bind, accept, listen, and
- * select to their R-versions.
- */
-/* #undef	SOCKS */
-/* #undef	SOCKS4 */
-/* #undef	SOCKS5 */
-/* #undef	connect */
-/* #undef	getsockname */
-/* #undef	bind */
-/* #undef	accept */
-/* #undef	listen */
-/* #undef	select */
-/* #undef	dup */
-/* #undef	dup2 */
-/* #undef	fclose */
-/* #undef	gethostbyname */
-/* #undef	getpeername */
-/* #undef	read */
-/* #undef	recv */
-/* #undef	recvfrom */
-/* #undef	rresvport */
-/* #undef	send */
-/* #undef	sendto */
-/* #undef	shutdown */
-/* #undef	write */
-
-/* Define if you have the <arpa/ftp.h> header file.  */
-#define HAVE_FTP_NAMES 1
diff --git a/libexec/ftpd/extern.h b/libexec/ftpd/extern.h
deleted file mode 100644
index 047e8573dd09..000000000000
--- a/libexec/ftpd/extern.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 1992, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-
-void	blkfree(char **);
-char  **copyblk(char **);
-void	cwd(char *);
-void	delete(char *);
-void	dologout(int);
-void	fatalerror(char *);
-void    ftpd_logwtmp(char *, char *, struct sockaddr *addr);
-int	ftpd_pclose(FILE *);
-FILE   *ftpd_popen(char *, char *);
-int	get_line(char *, int, FILE *);
-void	lreply(int, const char *, ...) __printflike(2, 3);
-void	makedir(char *);
-void	nack(char *);
-void	pass(char *);
-void	passive(void);
-void	long_passive(char *, int);
-void	perror_reply(int, char *);
-void	pwd(void);
-void	removedir(char *);
-void	renamecmd(char *, char *);
-char   *renamefrom(char *);
-void	reply(int, const char *, ...) __printflike(2, 3);
-void	retrieve(char *, char *);
-void	send_file_list(char *);
-void	statcmd(void);
-void	statfilecmd(char *);
-void	store(char *, char *, int);
-void	upper(char *);
-void	user(char *);
-void	yyerror(char *);
-int	yyparse(void);
-int	ls_main(int, char **);
-
-extern	int assumeutf8;
-extern	char cbuf[];
-extern	union sockunion data_dest;
-extern	int epsvall;
-extern	int form;
-extern	int ftpdebug;
-extern	int guest;
-extern	union sockunion his_addr;
-extern	char *homedir;
-extern	int hostinfo;
-extern	char *hostname;
-extern	int maxtimeout;
-extern	int logged_in;
-extern	int logging;
-extern	int noepsv;
-extern	int noguestretr;
-extern	int noretr;
-extern	int paranoid;
-extern	struct passwd *pw;
-extern	int pdata;
-extern	char proctitle[];
-extern	int readonly;
-extern	off_t restart_point;
-extern	int timeout;
-extern  char tmpline[];
-extern	int type;
-extern	char *typenames[]; /* defined in <arpa/ftp.h> included from ftpd.c */
-extern	int usedefault;
-
-struct sockaddr_in;
-struct sockaddr_in6;
-union sockunion {
-	struct sockinet {
-		u_char	si_len;
-		u_char	si_family;
-		u_short	si_port;
-	} su_si;
-	struct	sockaddr_in  su_sin;
-	struct	sockaddr_in6 su_sin6;
-};
-#define	su_len		su_si.si_len
-#define	su_family	su_si.si_family
-#define	su_port		su_si.si_port
diff --git a/libexec/ftpd/ftpchroot.5 b/libexec/ftpd/ftpchroot.5
deleted file mode 100644
index cb2f15f719ad..000000000000
--- a/libexec/ftpd/ftpchroot.5
+++ /dev/null
@@ -1,118 +0,0 @@
-.\" Copyright (c) 2003 FreeBSD Project
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd January 26, 2003
-.Dt FTPCHROOT 5
-.Os
-.Sh NAME
-.Nm ftpchroot
-.Nd "list users and groups subject to FTP access restrictions"
-.Sh DESCRIPTION
-The file
-.Nm
-is read by
-.Xr ftpd 8
-at the beginning of an FTP session, after having authenticated the user.
-Each line in
-.Nm
-corresponds to a user or group.
-If a line in
-.Nm
-matches the current user or a group he is a member of,
-access restrictions will be applied to this
-session by changing its root directory with
-.Xr chroot 2
-to that specified on the line or to the user's login directory.
-.Pp
-The order of records in
-.Nm
-is important because the first match will be used.
-Fields on each line are separated by tabs or spaces.
-.Pp
-The first field specifies a user or group name.
-If it is prefixed by an
-.Dq at
-sign,
-.Ql @ ,
-it specifies a group name;
-the line will match each user who is a member of this group.
-As a special case, a single
-.Ql @
-in this field will match any user.
-A username is specified otherwise.
-.Pp
-The optional second field describes the directory for the user
-or each member of the group to be locked up in using
-.Xr chroot 2 .
-Be it omitted, the user's login directory will be used.
-If it is not an absolute pathname, then it will be relative
-to the user's login directory.
-If it contains the
-.Pa /./
-separator,
-.Xr ftpd 8
-will treat its left-hand side as the name of the directory to do
-.Xr chroot 2
-to, and its right-hand side to change the current directory to afterwards.
-.Sh FILES
-.Bl -tag -width ".Pa /etc/ftpchroot" -compact
-.It Pa /etc/ftpchroot
-.El
-.Sh EXAMPLES
-These lines in
-.Nm
-will lock up the user
-.Dq Li webuser
-and each member of the group
-.Dq Li hostee
-in their respective login directories:
-.Bd -literal -offset indent
-webuser
-@hostee
-.Ed
-.Pp
-And this line will tell
-.Xr ftpd 8
-to lock up the user
-.Dq Li joe
-in
-.Pa /var/spool/ftp
-and then to change the current directory to
-.Pa /joe ,
-which is relative to the session's new root:
-.Pp
-.Dl "joe	/var/spool/ftp/./joe"
-.Pp
-And finally the following line will lock up every user connecting
-through FTP in his respective
-.Pa ~/public_html ,
-thus lowering possible impact on the system
-from intrinsic insecurity of FTP:
-.Pp
-.Dl "@	public_html"
-.Sh SEE ALSO
-.Xr chroot 2 ,
-.Xr group 5 ,
-.Xr passwd 5 ,
-.Xr ftpd 8
diff --git a/libexec/ftpd/ftpcmd.y b/libexec/ftpd/ftpcmd.y
deleted file mode 100644
index c090130d8137..000000000000
--- a/libexec/ftpd/ftpcmd.y
+++ /dev/null
@@ -1,1806 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 1985, 1988, 1993, 1994
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * Grammar for FTP commands.
- * See RFC 959.
- */
-
-%{
-
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-
-#include <netinet/in.h>
-#include <arpa/ftp.h>
-
-#include <ctype.h>
-#include <errno.h>
-#include <glob.h>
-#include <libutil.h>
-#include <limits.h>
-#include <md5.h>
-#include <netdb.h>
-#include <pwd.h>
-#include <signal.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <syslog.h>
-#include <time.h>
-#include <unistd.h>
-
-#include "extern.h"
-#include "pathnames.h"
-
-#define	yylex	ftpcmd_yylex
-
-off_t	restart_point;
-
-static	int cmd_type;
-static	int cmd_form;
-static	int cmd_bytesz;
-static	int state;
-char	cbuf[512];
-char	*fromname = NULL;
-
-%}
-
-%union {
-	struct {
-		off_t	o;
-		int	i;
-	} u;
-	char   *s;
-}
-
-%token
-	A	B	C	E	F	I
*** 6490 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202509292155.58TLtdI9052857>