* add back support for `-h hostname'; it still may be useful to override
the name advertised to the client, even if ftpd can determine it from the ip address that ftpd is bound to. requested by mrg. * remove -4/-6; they were effectively no-ops since itojun's change in 1.75. * crank version
This commit is contained in:
parent
33f8460f90
commit
7543b77a8e
@ -1,4 +1,4 @@
|
||||
.\" $NetBSD: ftpd.8,v 1.47 1999/12/18 06:33:54 lukem Exp $
|
||||
.\" $NetBSD: ftpd.8,v 1.48 1999/12/19 00:09:31 lukem Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 1997-1999 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
@ -67,7 +67,7 @@
|
||||
.\"
|
||||
.\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94
|
||||
.\"
|
||||
.Dd December 18, 1999
|
||||
.Dd December 19, 1999
|
||||
.Dt FTPD 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -80,6 +80,7 @@ Internet File Transfer Protocol server
|
||||
.Op Fl a Ar anondir
|
||||
.Op Fl c Ar confdir
|
||||
.Op Fl C Ar user
|
||||
.Op Fl h Ar hostname
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is the Internet File Transfer Protocol server process.
|
||||
@ -117,6 +118,22 @@ This can be useful for testing configurations.
|
||||
.It Fl d
|
||||
Debugging information is written to the syslog using
|
||||
.Dv LOG_FTP .
|
||||
.It Fl h Ar hostname
|
||||
Explicitly set the hostname to advertise as.
|
||||
Defaults to the hostname associated with the IP address that
|
||||
.NM
|
||||
is listening on.
|
||||
This ability (with or without
|
||||
.Fl h ) ,
|
||||
in conjunction with
|
||||
.Fl c Ar confdir ,
|
||||
is useful when configuring
|
||||
.Sq virtual
|
||||
.Tn FTP
|
||||
servers, each listening on separate addresses as separate names.
|
||||
Refer to
|
||||
.Xr inetd.conf 5
|
||||
for more information on starting services to listen on specific IP addresses.
|
||||
.It Fl l
|
||||
Each successful and failed
|
||||
.Tn FTP
|
||||
@ -475,21 +492,6 @@ to allow logging-in via
|
||||
into the accounts, which must have
|
||||
.Pa /sbin/ftplogin
|
||||
as login shell.
|
||||
.Sh Multiple virtual FTP servers
|
||||
If
|
||||
.Nm
|
||||
is started on a specific IP address (with a separate IP name to the
|
||||
system's hostname), then that separate name will be returned to the
|
||||
client as the hostname that the client is connecting to.
|
||||
This feature, in conjunction with
|
||||
.Fl c Ar confdir ,
|
||||
is useful when configuring
|
||||
.Sq virtual
|
||||
.Tn FTP
|
||||
servers, each listening on separate addresses as separate names.
|
||||
Refer to
|
||||
.Xr inetd.conf 5
|
||||
for more information on starting services to listen on specific IP addresses.
|
||||
.Sh FILES
|
||||
.Bl -tag -width /etc/ftpwelcome -compact
|
||||
.It Pa /etc/ftpchroot
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ftpd.c,v 1.79 1999/12/18 06:33:54 lukem Exp $ */
|
||||
/* $NetBSD: ftpd.c,v 1.80 1999/12/19 00:09:31 lukem Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997-1999 The NetBSD Foundation, Inc.
|
||||
@ -109,7 +109,7 @@ __COPYRIGHT(
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)ftpd.c 8.5 (Berkeley) 4/28/95";
|
||||
#else
|
||||
__RCSID("$NetBSD: ftpd.c,v 1.79 1999/12/18 06:33:54 lukem Exp $");
|
||||
__RCSID("$NetBSD: ftpd.c,v 1.80 1999/12/19 00:09:31 lukem Exp $");
|
||||
#endif
|
||||
#endif /* not lint */
|
||||
|
||||
@ -191,7 +191,6 @@ int mode;
|
||||
int doutmp = 0; /* update utmp file */
|
||||
int usedefault = 1; /* for data transfers */
|
||||
int pdata = -1; /* for passive mode */
|
||||
int family = AF_INET;
|
||||
int mapped = 0; /* IPv4 connection on AF_INET6 socket */
|
||||
sig_atomic_t transflag;
|
||||
off_t file_size;
|
||||
@ -278,8 +277,9 @@ main(argc, argv)
|
||||
logging = 0;
|
||||
sflag = 0;
|
||||
(void)strcpy(confdir, _DEFAULT_CONFDIR);
|
||||
hostname[0] = '\0';
|
||||
|
||||
while ((ch = getopt(argc, argv, "a:c:C:dlst:T:u:Uv46")) != -1) {
|
||||
while ((ch = getopt(argc, argv, "a:c:C:dh:lst:T:u:Uv")) != -1) {
|
||||
switch (ch) {
|
||||
case 'a':
|
||||
anondir = optarg;
|
||||
@ -298,6 +298,10 @@ main(argc, argv)
|
||||
debug = 1;
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
strlcpy(hostname, optarg, sizeof(hostname));
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
logging++; /* > 1 == extra logging */
|
||||
break;
|
||||
@ -317,14 +321,6 @@ main(argc, argv)
|
||||
doutmp = 1;
|
||||
break;
|
||||
|
||||
case '4':
|
||||
family = AF_INET;
|
||||
break;
|
||||
|
||||
case '6':
|
||||
family = AF_INET6;
|
||||
break;
|
||||
|
||||
default:
|
||||
if (optopt == 'a' || optopt == 'C')
|
||||
exit(1);
|
||||
@ -401,10 +397,13 @@ main(argc, argv)
|
||||
#endif
|
||||
data_source.su_port = htons(ntohs(ctrl_addr.su_port) - 1);
|
||||
|
||||
if (getnameinfo((struct sockaddr *)&ctrl_addr, ctrl_addr.su_len,
|
||||
hostname, sizeof(hostname), NULL, 0, 0) != 0)
|
||||
(void)gethostname(hostname, sizeof(hostname));
|
||||
hostname[sizeof(hostname) - 1] = '\0';
|
||||
/* if the hostname hasn't been given, attempt to determine it */
|
||||
if (hostname[0] == '\0') {
|
||||
if (getnameinfo((struct sockaddr *)&ctrl_addr, ctrl_addr.su_len,
|
||||
hostname, sizeof(hostname), NULL, 0, 0) != 0)
|
||||
(void)gethostname(hostname, sizeof(hostname));
|
||||
hostname[sizeof(hostname) - 1] = '\0';
|
||||
}
|
||||
|
||||
/* set this here so klogin can use it... */
|
||||
(void)snprintf(ttyline, sizeof(ttyline), "ftp%d", getpid());
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: version.h,v 1.1 1999/12/18 05:51:35 lukem Exp $ */
|
||||
/* $NetBSD: version.h,v 1.2 1999/12/19 00:09:31 lukem Exp $ */
|
||||
/*-
|
||||
* Copyright (c) 1999 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
@ -36,5 +36,5 @@
|
||||
*/
|
||||
|
||||
#ifndef FTPD_VERSION
|
||||
#define FTPD_VERSION "Version: NetBSD-ftpd/19991218"
|
||||
#define FTPD_VERSION "Version: NetBSD-ftpd/19991219"
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user