126 lines
3.9 KiB
Plaintext
126 lines
3.9 KiB
Plaintext
FSP SUITE TO DO LIST BY RADIM KOLAR
|
|
/* maintained by hsn -at- netmag * cz */
|
|
|
|
Radim Kolar's personal wishlist from 1997
|
|
*-high priority-*
|
|
- show loosers online (finfo command) and server statz
|
|
* l o w *
|
|
- password change command
|
|
|
|
TESTSUITE NEEDED:
|
|
Write a simple FSP protocol testing tool
|
|
Write a test suite using testing tool
|
|
test for remote buffer overflows
|
|
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.
|
|
symlink support must be reworked before final release.
|
|
|
|
PROTOCOL-RELATED BUGS:
|
|
none
|
|
|
|
PORTING
|
|
Sven's Slowaris 8 compile problem
|
|
Sven's AIX compile problem
|
|
not builds on freebsd 4 and FreeBSD 5 - non intel platforms?
|
|
|
|
NEEDS IMPROVMENT:
|
|
|
|
Client LIBRARY
|
|
:high:
|
|
we should retune retry algoritm for better support lines with higher
|
|
packed loss. On common internet lines current one works okay.
|
|
add more detailed stats from retry alg.
|
|
:low:
|
|
fver and others add support new syntax fsp://host:port/file
|
|
add sem locking method, possible?
|
|
flscmd should not to do stat before directory listing.
|
|
directory listing should not need to get 0 sized block. Needs total code
|
|
rewrite.
|
|
better support for persistent keys - do not send cc_bye ? this should
|
|
be probably configurable
|
|
|
|
:long-term goals:
|
|
:better to write a new code instead of fixing 10 yo crap.
|
|
=convert to multi threaded=
|
|
make setup from env a separate function
|
|
do not use global variables
|
|
|
|
CLIENTS
|
|
:high:
|
|
fpro without directory name do not works
|
|
normalize return error codes of all clients
|
|
write new clients for new commands - fpasswd finfo
|
|
:low:
|
|
add support for more sane fsplist file format (as used by warez
|
|
ppl) to fhostcmd
|
|
it looks like
|
|
#FSP Sites list
|
|
genie.lut.ac.uk 21 genie / # small UK site
|
|
|
|
clients do not freeing memory allocated from glob()
|
|
|
|
FUTURE FEATURES FOR SERVER:
|
|
:high: required for 2.8.2 final
|
|
can be run multiple times on the same port, how to check?
|
|
drop reuse flag from socket bind?
|
|
Currently looks fine with flag on bsd. Fails on lin-suck.
|
|
|
|
report number of clients connected, size of hostable in new command
|
|
CC_INFO command
|
|
special defence against rapid/double fire clients (burst command in fspclient)
|
|
Native Supports for symbolic links (needed for mirroring Debian)
|
|
new LSTAT COMMAND
|
|
write FSP_CHANGE_PASSWORD command
|
|
|
|
:midle:may not be in 2.8.2
|
|
improve RENAME FSP command
|
|
* cross directory renames are unsuported for now
|
|
* server can send error reply even to denied per directory clients
|
|
- minor security flaw
|
|
|
|
:low:this will sure go after 2.8.2:
|
|
hashed passwords. Do we really needs them?
|
|
add switch for directory vs global ACL overide
|
|
hard code acl into server configuration, do not use .FSP_ filez.
|
|
support for user directory namespace ~hsn / public_html, check links to outside!
|
|
use ntons a podobne funkce v iprange.c
|
|
ipv6 socket support
|
|
privileged Hosts, excluded from Byte transfer Limit (hard to do)
|
|
|
|
new toy
|
|
FSP Proxy repeater - look at old code.
|
|
|
|
PERFORMANCE:
|
|
host hashtable shrinking sometimes
|
|
stat cache pro FSP_STAT a ostatni staty
|
|
chage O(N) fifo cache to some more sane lru hashtable code.
|
|
background time() alarm() caller
|
|
Current performance 1925648B/s
|
|
|
|
MAN:
|
|
finish sgml FAQ
|
|
separate manpage for 7 fsp (protocol definition) == write FSP RFC
|
|
|
|
libraries and support for FSP protocol
|
|
======================================
|
|
|
|
DONE: FSP library for Java
|
|
DONE: FSP over HTTP
|
|
FSP plugin for Netscape/MSIE.
|
|
Not possible to write protocol plugins with Netscape 3 SDK
|
|
we have fsproxy now.
|
|
WIP: new small,light fsplib for C.
|
|
FSP backend for APT
|
|
Transfer HTTP over fsp transport
|
|
FSP support to lftp,wget,curl,gftp
|
|
AVFS plugin http://sourceforge.net/projects/avf
|
|
|
|
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
|
|
FreeBSD: in 5.X always enabled, in 4.X not supported.
|