Initial revision

This commit is contained in:
hsn 2003-10-15 15:11:05 +00:00
parent 5dda57ecea
commit a75d606a04
3 changed files with 297 additions and 0 deletions

97
TODO Normal file
View File

@ -0,0 +1,97 @@
FSP SUITE TO DO LIST BY RADIM KOLAR /hsn -at- cybermail * net /
LARGEFILES64 how to turn them on:
Cygwin: #define __LARGE64_FILES fopen64,ftello64,fseeko64 _off64_t
glibc 2.3: #define _LARGEFILE64_SOURCE off64_t
native: _FILE_OFFSETS_BITS = 32 / 64 then use off_t
Radim Kolar's personal wishlist 1997
show loosers online (finfo command) and server statz
rename command
password change command
TESTING NEEDED:
Write a simple FSP protocol testing tool
Write a test suite using testing tool
test if ending slashes do not confuse directory engine
test for /../ root escapes
test for remote buffer overflows
Test new command rename /when implemented/
Test if >2GB files but <4GB works correctly with and without --disable-largefile
SECURITY BUGS:
symlink to FILE can escape from FSP root directory. OLD known problem.
PROTOCOL-RELATED BUGS:
PORTING
Sven's Slowaris 8 compile problem
NEEDS IMPROVMENT:
random number generator in server is low random quality on low bits.
Client LIBRARY
local bind address FSP_LOCALIP
remove stale lock files if not needed, port code from fspclient.
:low:
fver and others add support new syntax fsp://host:port/file
add sem locking method
flscmd does stat before directory listing, why?
:better to write a new code instead fixing old crap
=convert to multi threaded=
make setup from env a separate function
do not use global variables
CLIENTS
ALL: normalize return error codes of all clients
write new clients for new commands - fsprencmd fpasswd finfo
fgetcmd deletes partially transfered file on errors?
:low:
add support for more sane fsplist file format (as used by warez
ppl) to fhostcmd
clients do not freeing memory allocated from glob()
FUTURE FEATURES FOR SERVER:
:high:
can be run multiple times on the same port, how to check?
write RENAME FSP command
bind-ip-address for server (and client via FSP_LOCAL_IP)
report number of clients connected, size of hostable in new command
CC_INFO command
special defence against rapid/double fire clients
write FSP_CHANGE_PASSWORD command
new transfer log wuftpd file format
new common log format
:midle:may not be in 2.8.2
Native Supports for symbolic links (needed for mirroring Debian)
:low:this will sure go after 2.8.2:
FSP_GET/SET OWNERS like file transfer
hashed passwords
add switch for dir vs global access priority, override table
use ntons a podobne funkce v iprange.c
pouzivat nejaky jiny typ nez unsigned long pro ip adresu
hard coded directory access rights in configuration instead of loading from FS
support for user directory namespace ~hsn / public_html, check links to outside!
privileged Hosts, excluded from Byte transfer Limit (hard to do)
FSP Proxy repeater
PERFORMANCE:
host hashtable shrinking sometimes
stat cache pro FSP_STAT a ostatni
background time() alarm() caller
MAN:
update FAQ - urgent!!
separate manpage for 7 fsp (protocol definition) == write FSP RFC
libraries and support for FSP protocol
======================================
new small,light fsplib for C.
FSP plugin do Netscape/MSIE
FSP library for Java
Transfer HTTP over fsp transport
FSP backend for APT
FSP support to lftp

126
man/fhostcmd.1 Normal file
View File

@ -0,0 +1,126 @@
.TH FHOST 1 "15 Oct 2003" FSP
.SH NAME
fhostcmd, fhost \- set environment variables
.SH SYNOPSIS
.B fhostcmd [-d delay] [-p local port] [-l local directory] [-o timeout]
[-t trace] [-w password] [-f filename] [-h number | name] [-c | -b]
[host port [directory] | abbreviation]
.LP
.B fhost [-d delay] [-p local port] [-l local directory] [-o timeout]
[-t trace] [-w password] [-f filename] [-h number | name] [-c | -b]
[host port [directory] | abbreviation]
.SH DESCRIPTION
.LP
.B fhost
uses a resources files to set all environmant variables needed to connect to a
given host via FSP. If a -f option is given, the given filename is also used
as resources file.
.B fhost
loads all available resource files. If server is defined in multiple
files, first match is returned. Load order is
.I .fsp_prof
in the current working directory and in the user's home
directory. Then a system wide default file is used.
If
.B fhost
is invoked with an abbreviation given, the resource files are searched for the
first host to match this abbreviation. The values given for this host will
be set.
.LP
If
.B fhost
is invoked with a given host and port number, this host will be used and no
searching in the resource file will be done.
.LP
Setting up the host the user can change between using the host name or the
internet address. In case only one is given and the other should be used
.B fhost
tries to find it using a built in mini-nslookup facility. The default is to use
what is given and to use the number if both are given.
.LP
Since programs cannot change environment variables of their parent shell in
a simple way, it is recommended that the user defines a shell alias or
function to make it possible.
.B csh
example:
.LP
.nf
alias fhost 'eval `fhostcmd \!*`'
.fi
.SH FSP_PROF
For more information about the resource file confer
.I fsp_prof(5).
Here's just a short example of how it works. If your resource file contains
the following
.nf
host seismo.soar.cs.cmu.edu
fsp port 30
local directory ~/sources/fsp-266.1
trace off
.fi
a call of
.B fhost
seismo in
.B csh
will produce the following output to be evaluated
.nf
unsetenv FSP_TRACE;
setenv FSP_PORT 30;
setenv FSP_LOCAL_DIR ~/sources/fsp-266.1;
setenv FSP_HOST seismo.soar.cs.cmu.edu;
setenv FSP_DIR /;
.fi
.SH ARGUMENTS
.LP
.B -d
-- set FSP_DELAY to
.I delay
.LP
.B -p
-- set FSP_LOCALPORT to
.I local port
.LP
.B -l
-- set FSP_LOCAL_DIR to
.I local directory
.LP
.B -o
-- set FSP_TIMEOUT to
.I timeout
.LP
.B -t
-- set FSP_TRACE if
.I trace
=
.I on,
unset it if
.I trace
=
.I off
.LP
.B -p
-- set FSP_PASSWORD to
.I password
.LP
.B -f
-- use
.I filename
as resource file
.LP
.B -b
-- output Bourne shell code
.LP
.B -c
-- output C shell code
.SH ENVIRONMENT
.LP
The environment variables associate this program with a FSP database and are
set (resp. unset) if needed. See fsp_env(7) for list.
.SH "SEE ALSO"
.PD
fcatcmd(1), fcdcmd(1), fgetcmd(1), fgrabcmd(1), flscmd(1), fmkdir(1),
fprocmd(1), fput(1), frmcmd(1), frmdircmd(1), fver(1), fducmd(1),
fhostcmd(1), fspd(1), fsp_prof(5), ffindcmd(1), fsp_env(7)

74
man/fsp_prof.5 Normal file
View File

@ -0,0 +1,74 @@
.TH FSP_PROF 5 "15 Oct 2003"
.SH NAME
fsp_prof \- file for fsp remote login data
.SH DESCRIPTION
The
.B \&.fsp_prof
file contains data for logging in to a
remote host over the network for file transfers by
.BR fsp
commands. This file resides in the user's current or home directory
on the machine initiating the file transfer. A system wide default file
will be also used.
If passwords are stored in this file, its permissions should be set to
disallow read access by group and others (see
.BR chmod (1)).
.LP
The following tokens
are recognized; they may be separated by
.SM SPACE
or
.SM NEWLINE
characters (except the
.I host
command which has to be on a line of its own):
.TP
.BI host | machine " name | internet-addr [ alias ...]"
Identify a remote machine name.
The auto-login process searches the
.B .fsp_prof
file for a
token that matches the alias or hostname given.
Once a match is made, the subsequent
.B .fsp_prof
tokens are processed, stopping when the
.SM EOF
is reached or another
.B host
token is encountered.
.TP
.BI "[fsp] port" " port"
Identify the remote fsp port.
.TP
.BI "local port" " port"
Identify the local port to be used by fsp.
.TP
.BI "[fsp] directory" " dir"
Set the directory in the FSP database.
.TP
.BI "local directory" " dir"
Set the local working directory.
.TP
.BI delay " delay"
Set the delay value.
.TP
.BI timeout " tim"
Set the timeout value.
.TP
.BI trace " on | off"
Enable resp. disable tracing.
.TP
.BI password " password"
Supply a password.
Note: if this token is present the
.B .fsp_prof
file shouldn't be readable by anyone besides the user. See
.BR chmod (1).
.SH FILES
.PD
.B ~/.fsp_prof
.SH "SEE ALSO"
.PD
fcatcmd(1), fcdcmd(1), fgetcmd(1), fgrabcmd(1), flscmd(1), fmkdir(1),
fprocmd(1), fput(1), frmcmd(1), frmdircmd(1), fver(1), fducmd(1),
fsethostcmd(1), fspd(1), fsp_prof(5), ffindcmd(1), fsp_env(7)