Oberon ||
Compiler & Tools ||
Library ||
Module Index ||
Search Engine
Ulm's Oberon System:
adis-ftpsession
NAME
adis-ftpsession - run FTP session
SYNOPSIS
adis-ftpsession
[-c]
[-m
umask]
[-t
timeout]
[-u|-U]
root-directory
DESCRIPTION
adis-ftpsession
runs a pipelining FTP session that requires no further authorization
on the bidirectional network connection passed via file descriptor 0.
Access is provided to
root-directory
and its sub directories.
Following options are supported:
- -c
- suppress the latency reducing technique that opens IP addresses provided
by PORT commands immediately after seeing them. Instead, wait
until a command is issued that utilizes a data connection. Note that
adis-ftpsession falls automatically into this mode on the first
failure of an early connect.
- -m umask
-
set the umask of the FTP server to umask which is to
be given in octal. This is useful to override a too restrictive
default in case of FTP logins that access directories shared by
a group.
- -t timeout
-
sets the timeout to timeout seconds. A timeout of 0 switches off
the timer. By default, there is a time limit of 600 seconds of
inactivity after which a session will be hung up by adis-ftpsession.
- -u
- enable non-destructive uploads, i.e. files and directories may be
created as long existing files and directories are not harmed.
Rename operations are not permitted.
- -U
- provide unrestricted write access.
adis-ftpsession
may be called directly by a port listener (tcpserver,
for example) to provide anonymous FTP service or indirectly
under the application of adis-ftplogin (to read
in the credentials) and any checkpassword plug-in
(adis-ftplogin, for example).
The set of FTP commands implemented by
FTPSessions, FTPDataStreams, and
FTPUnixFileSystems is provided.
Note that USER, PASS, and ACCT
are always responded with a code of 230,
indicating that access is already granted.
adis-ftpsession
supports pipelining (see FTPEngine) according to
http://cr.yp.to/ftp/pipelining.html.
DIAGNOSTICS
adis-ftpsession
creates a pipeline to /var/qmail/bin/splogger to log
all processed commands together with the return codes to
syslog (auth.info).
FILES
There are no configuration files.
SECURITY CONSIDERATIONS
adis-ftplogin
should never be run under root privileges.
Instead normal user privileges are best for user configured
FTP logins (see adis-ftplogin), and, in case
of anonymous FTP servers, a special user ID that does not own
any files should be chosen.
The security considerations of FTPUnixFileSystems and
FTPDataStreams apply.
EXAMPLE
To set up an anonymous FTP service on a non-privileged port
(9030 in this example) is
pretty easy using tcpserver and adis-ftpsession.
The only tricky part is to create a FTP greeting in a shell
variable that ends in CR LF:
hi="`echo '220 Hi!\r'`
"
tcpserver -B "$hi" 0 9030 adis-ftpsession ~/pub/ftp
SEE ALSO
- adis-ftplogin
-
checkpassword plug-in that enables
user configurable FTP logins
- adis-ftpup
-
part of the FTP session that reads user name and password,
if required.
- FTPDataStreams
-
implements the FTP commands that are related to data connections
- FTPEngine
-
pipelining FTP server engine
- FTPUnixFileSystems
-
provides access to the UNIX file system
Edited by: borchert, last change: 2004/09/22, revision: 1.3, converted to HTML: 2004/09/22
Oberon ||
Compiler & Tools ||
Library ||
Module Index ||
Search Engine