doc updated
This commit is contained in:
parent
f77b096122
commit
db1e1880ab
|
|
@ -1,2 +1,3 @@
|
||||||
Makefile
|
Makefile
|
||||||
Makefile.in
|
Makefile.in
|
||||||
|
fsp-faq.html
|
||||||
|
|
|
||||||
113
doc/4LAMERZ.TXT
Normal file
113
doc/4LAMERZ.TXT
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
########### ### # ########
|
||||||
|
### ## ## ### ### ##
|
||||||
|
### ## # ## ### ##
|
||||||
|
### # # ## ### ##
|
||||||
|
### # # # ### ## Why 4 U riding this phile? 4u l8m3r?
|
||||||
|
### # ### ##
|
||||||
|
### # ### ##
|
||||||
|
### # ## ### ##
|
||||||
|
### # #### ### ## You 4 at r8t platz!
|
||||||
|
####### ##### #######
|
||||||
|
### # ###### ###
|
||||||
|
### # ##### ###
|
||||||
|
### #### ###
|
||||||
|
### ## ### w e l c o m e
|
||||||
|
### ### ###
|
||||||
|
### ## ### t o
|
||||||
|
### ## ###
|
||||||
|
### ## ###
|
||||||
|
### # # ### L8mer guide to FSP
|
||||||
|
### ## ## ###
|
||||||
|
### ### # ### LQ Version
|
||||||
|
##### # ###### ##### Oct 2004
|
||||||
|
|
||||||
|
Why you need it
|
||||||
|
|
||||||
|
- stealth operation
|
||||||
|
- old proven software with 10 years history
|
||||||
|
- for EliTe only
|
||||||
|
- attack resistant
|
||||||
|
- lamerz hates it
|
||||||
|
|
||||||
|
STuFF firSt!
|
||||||
|
|
||||||
|
you neeeed to get a p-file called cygwin1.dll. lamerz at www.cygwin.com
|
||||||
|
have some. Grab a copy, man. Copy it to your winlost sistema32 dyr.
|
||||||
|
|
||||||
|
Have it? Right.
|
||||||
|
|
||||||
|
|
||||||
|
Now rock!
|
||||||
|
|
||||||
|
There is a p-file fspd.exe. This is for stuff sharing.
|
||||||
|
Running this is easy:
|
||||||
|
|
||||||
|
fspd.exe -d c:\your\stuff\to\share -p 53
|
||||||
|
|
||||||
|
this number is important. Recommended numbers for stealth
|
||||||
|
operation are: 53, 2090, 137-139, 13, 21, 80, 443
|
||||||
|
You can be catched more easily with bad number, so chooze wisely. Rememmber,
|
||||||
|
some numbers like 2221 are used only by Elite! do not try it at
|
||||||
|
home; bad thingz can hepen. you know. police will certainly
|
||||||
|
take a visit.
|
||||||
|
|
||||||
|
Get more stuff!
|
||||||
|
|
||||||
|
Of course that you want to have the latest stuff, isn't it?
|
||||||
|
You must have some addresses of other ppl. They looks like
|
||||||
|
1.2.3.4 45
|
||||||
|
|
||||||
|
There is a p-file fsp.exe. This is for getting new stuff.
|
||||||
|
run it.
|
||||||
|
fsp.exe
|
||||||
|
fsp>
|
||||||
|
now type commands.
|
||||||
|
|
||||||
|
You need to know a few:
|
||||||
|
open 1.2.3.4 45 -- connects to site
|
||||||
|
get file -- get new stuff
|
||||||
|
put file -- send your stuff
|
||||||
|
pro -- show your access level
|
||||||
|
dir -- list directory
|
||||||
|
quit -- go to sleep.
|
||||||
|
|
||||||
|
We will give you some nice starting numbers for free. There are not a high
|
||||||
|
quality, but this is lq version of this guide. we can sell you
|
||||||
|
much better guide - hq version. Try to offer something.
|
||||||
|
|
||||||
|
912.000.000.102. 2056
|
||||||
|
234.234.234.823. 55
|
||||||
|
123.578.866.346. 34567
|
||||||
|
432.333.134.23 5436
|
||||||
|
543.47.5436.5432 5432
|
||||||
|
4352.532.532.21.54 4365
|
||||||
|
4312.5637.4332.5432 4325
|
||||||
|
324.43652.6543.4321 6547
|
||||||
|
431.142.654.3112.3243 542
|
||||||
|
1.34.342.543 542
|
||||||
|
321.312.653.645 5432
|
||||||
|
9.02.1.0 6969
|
||||||
|
127.0.0.7 56
|
||||||
|
192.168.45.21 108
|
||||||
|
10.20.30.40 5060
|
||||||
|
|
||||||
|
never try to flood fsp server, this does not work, elite will lauch
|
||||||
|
at you and cut your accez down. remember, you ar elite, not a kiddie!
|
||||||
|
|
||||||
|
-----**************------*******************----------************---
|
||||||
|
|
||||||
|
for HQ version of this guide send
|
||||||
|
20 bucks to
|
||||||
|
e-gold.com account
|
||||||
|
number 550694
|
||||||
|
|
||||||
|
Features included:
|
||||||
|
list of hq quality sitez
|
||||||
|
how to setup upload facility
|
||||||
|
how to search for new sitez
|
||||||
|
special seek tool
|
||||||
|
and 3 secret bonuzez
|
||||||
|
|
||||||
|
!We Do NOT sEnDZ hQ guiDe to LAmeRZ! Prove yourself first.
|
||||||
|
|
||||||
|
------*****-----------******************--------------**************---
|
||||||
|
|
@ -1,2 +1,8 @@
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
EXTRA_DIST=faq.html PROTOCOL HISTORY fsp-faq.sgml
|
EXTRA_DIST=faq.html PROTOCOL HISTORY fsp-faq.sgml fsp-faq.html
|
||||||
|
|
||||||
|
noinst_DATA = fsp-faq.html
|
||||||
|
|
||||||
|
SUFFIXES = .html .sgml
|
||||||
|
.sgml.html:
|
||||||
|
sgmlfmt -d docbook -f html $<
|
||||||
|
|
|
||||||
22
doc/PROTOCOL
22
doc/PROTOCOL
|
|
@ -1,7 +1,7 @@
|
||||||
FILE SERVICE PROTOCOL VERSION 2
|
FILE SERVICE PROTOCOL VERSION 2
|
||||||
|
|
||||||
Document version 0.10
|
Document version 0.11
|
||||||
Last updated 18 Oct 2004
|
Last updated 24 Oct 2004
|
||||||
|
|
||||||
Also known as
|
Also known as
|
||||||
File Slurping Protocol,
|
File Slurping Protocol,
|
||||||
|
|
@ -184,13 +184,24 @@ FSP File servers MUST supports following commands:
|
||||||
file position: position in directory
|
file position: position in directory
|
||||||
data: ASCIIZ directory name
|
data: ASCIIZ directory name
|
||||||
xtra data: (not required)
|
xtra data: (not required)
|
||||||
word - size of reply's optional data block
|
word - prefered size of directory block
|
||||||
|
|
||||||
reply
|
reply
|
||||||
file position: same as in request
|
file position: same as in request
|
||||||
data: directory listing (format follows)
|
data: directory listing (format follows)
|
||||||
xtra data: not used
|
xtra data: not used
|
||||||
|
|
||||||
|
Directory listing is transfered in similar way as file transfer. Directory
|
||||||
|
listing is divided into blocks of equal size, only exception is last block
|
||||||
|
which can be shorter. Default and maximum size of directory listing block is
|
||||||
|
1024 bytes. Size of directory block can be changed by server using extra
|
||||||
|
data information sent by client.
|
||||||
|
|
||||||
|
Directory blocks can't be split accross message boundary and client
|
||||||
|
can't do seeking to any arbitary offset, which can broke dirblock
|
||||||
|
into 2 messages. In short: Every message can contain only one
|
||||||
|
unsplited directory block.
|
||||||
|
|
||||||
RDIRENT is the structure of a directory entry contained in a directory listing.
|
RDIRENT is the structure of a directory entry contained in a directory listing.
|
||||||
Each entry contains a HEADER, which has 4 bytes quantity 'time' in Unix
|
Each entry contains a HEADER, which has 4 bytes quantity 'time' in Unix
|
||||||
standard format, a 4 bytes quantity 'size', and 1 byte of 'type'. Header is
|
standard format, a 4 bytes quantity 'size', and 1 byte of 'type'. Header is
|
||||||
|
|
@ -201,8 +212,9 @@ At this point, if the next RDIRENT entry to follow will spread across 1k
|
||||||
boundary, then two possible things will happen:
|
boundary, then two possible things will happen:
|
||||||
|
|
||||||
1) if the HEADER fits between this entry and the 1k boundary,
|
1) if the HEADER fits between this entry and the 1k boundary,
|
||||||
a complete header will be filled in with a 'type' set to RDTYPE_SKIP.
|
a complete header will be filled in with a 'type' set to RDTYPE_SKIP
|
||||||
Repeat this step as neceseary until no HEADER fits.
|
and no name followed - just pad to 1k boundary. Clients which sees
|
||||||
|
RDTYPE_SKIP header skips over next data in packet.
|
||||||
2) if the HEADER does not fit, then simply pad to the 1k boundary.
|
2) if the HEADER does not fit, then simply pad to the 1k boundary.
|
||||||
|
|
||||||
This will make sure that messages carrying directory information carry only
|
This will make sure that messages carrying directory information carry only
|
||||||
|
|
|
||||||
571
doc/fsp-faq.sgml
571
doc/fsp-faq.sgml
|
|
@ -1,4 +1,4 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.2//EN" [
|
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
|
||||||
<!-- define some ENTITYs -->
|
<!-- define some ENTITYs -->
|
||||||
<!ENTITY fsp "File Service Protocol">
|
<!ENTITY fsp "File Service Protocol">
|
||||||
]>
|
]>
|
||||||
|
|
@ -10,215 +10,366 @@
|
||||||
<othername>"Hoaxter"</othername>
|
<othername>"Hoaxter"</othername>
|
||||||
<surname>Hoexter</surname>
|
<surname>Hoexter</surname>
|
||||||
</author>
|
</author>
|
||||||
|
<author>
|
||||||
|
<firstname>Radim</firstname>
|
||||||
|
<othername>"HSN"</othername>
|
||||||
|
<surname>Kolar</surname>
|
||||||
|
<affiliation>
|
||||||
|
<address><email>hsn@sendmail.cz.nospam</email></address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
|
<copyright>
|
||||||
|
<year>2003-2004</year>
|
||||||
|
<holder>Authors</holder>
|
||||||
|
</copyright>
|
||||||
<!-- I'll call it 0.1 later
|
<!-- I'll call it 0.1 later
|
||||||
<revhistory>
|
<revhistory>
|
||||||
<revision>
|
<revision>
|
||||||
<revnumber>0.1</revnumber>
|
<revnumber>0.1</revnumber>
|
||||||
<date>2003.09.10</date>
|
<date>2003.09.10</date>
|
||||||
</revision>
|
</revision>
|
||||||
</revhistory>
|
</revhistory>
|
||||||
-->
|
-->
|
||||||
<!-- starting with some general stuff -->
|
<!-- starting with some general stuff -->
|
||||||
<abstract>
|
<abstract>
|
||||||
<para>
|
<para>
|
||||||
This document is a major rewrite of the old
|
This document is a major rewrite of the old
|
||||||
<ulink url="http://fsp.sourceforge.net/doc/faq.html">FSP FAQ</ulink>.
|
<ulink url="http://fsp.sourceforge.net/doc/faq.html">FSP FAQ</ulink>.
|
||||||
I started with this FAQ from scratch cause nearly all parts of the old FAQ where outdated. This new FAQ is maintained
|
I started with this FAQ from scratch cause nearly all parts of the old FAQ where outdated. This new FAQ is maintained
|
||||||
in DocBook SGML. Send patches to the fsp-devel Mailinglist (FIXME link to id gethelpml) or directly to me
|
in DocBook SGML. Send patches to the fsp-devel Mailinglist (FIXME link to id gethelpml) or directly to me
|
||||||
<email>sven@du-gehoerst-mir.de-nospam</email>. You should be able to find the latest SGML version of this FAQ in the
|
<email>sven@du-gehoerst-mir.de-nospam</email>. You should be able to find the latest SGML version of this FAQ in the
|
||||||
<ulink url="http://sourceforge.net/cvs/?group_id=93841">fsp CVS at sf.net</ulink> or here
|
<ulink url="http://sourceforge.net/cvs/?group_id=93841">fsp CVS at sf.net</ulink> or here
|
||||||
<ulink url="http://sven.stormbind.net/fsp/fsp-doc/fsp-faq.sgml">http://sven.stormbind.net/fsp/fsp-doc/fsp-faq.sgml</ulink>
|
<ulink url="http://sven.stormbind.net/fsp/fsp-doc/fsp-faq.sgml">http://sven.stormbind.net/fsp/fsp-doc/fsp-faq.sgml</ulink>
|
||||||
(be aware the sf.net public CVS is often about a week behind the "real" CVS :( )
|
(be aware the sf.net public CVS is often about a week behind the "real" CVS :( )
|
||||||
</para>
|
</para>
|
||||||
</abstract>
|
</abstract>
|
||||||
</articleinfo>
|
</articleinfo>
|
||||||
<!-- end of the general stuff -->
|
<!-- end of the general stuff -->
|
||||||
|
|
||||||
<!-- starting with the main document -->
|
<!-- starting with the main document -->
|
||||||
|
|
||||||
<!-- starting with the introduction -->
|
<!-- starting with the introduction -->
|
||||||
<sect1 id="introduction">
|
<sect1 id="introduction">
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
|
|
||||||
<sect2 id="whatisfsp">
|
<sect2 id="whatisfsp">
|
||||||
<title>What is FSP?</title>
|
<title>What is FSP?</title>
|
||||||
<para>
|
<para>
|
||||||
FSP stands for &fsp;. In general FSP is what anonymous ftp should be, a fast and bandwith friendly
|
FSP stands for &fsp;. In general FSP is what anonymous ftp should be: a reliable and bandwidth friendly
|
||||||
way to access publicly avaible data. FSP is UDP based so it doesn't have all the protocol overhead you've with TCP
|
way to access publicly available data.
|
||||||
based transfer protocols. You can find the latest protocol definition right here
|
<para>
|
||||||
<ulink url="http://fsp.sourceforge.net/doc/PROTOCOL.txt">http://fsp.sourceforge.net/doc/PROTOCOL.txt</ulink>
|
FSP is a UDP based protocol for transferring files around. It has
|
||||||
or in the source distribution in the "doc" subdirectory.
|
many benefits over FTP, mainly for running
|
||||||
</para>
|
anonymous archives. FSP protocol is valuable in all kinds of
|
||||||
|
environments because it is one of the only TCP/IP protocols that is not
|
||||||
<para>
|
aggressive about bandwidth, while still being sufficiently fault tolerant.
|
||||||
In the past various people maintained the FSP code base. At the moment Radim Kolar <email>hsn@cybermail.net-nospam</email>
|
</para>
|
||||||
is maintaining FSP. If you like to get involved take a look at the FSP
|
</sect2>
|
||||||
<ulink url="http://fsp.sourceforge.net">Homepage</ulink> and the
|
<sect2 id="fsp-project">
|
||||||
<ulink url="http://www.sourceforge.net/projects/fsp/">FSP project page</ulink>.
|
<title>FSP Project</title>
|
||||||
|
<para>
|
||||||
|
FSP is (and always has been) open source project with MIT/X11 source
|
||||||
|
code license. See <xref linkend="licence"> for more details.
|
||||||
|
<para>
|
||||||
|
In the past various people maintained the FSP code base.
|
||||||
|
At the moment Radim Kolar
|
||||||
|
is maintaining FSP. FSP project is now hosted on
|
||||||
|
<ulink url="http://sourceforge.net">Source Forge.NET</ulink>.
|
||||||
|
<para>
|
||||||
|
If you like to get involved take a look at the FSP
|
||||||
|
<ulink url="http://fsp.sourceforge.net">Homepage</ulink> and the
|
||||||
|
<ulink url="http://www.sourceforge.net/projects/fsp/">FSP project page</ulink>.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="whatisitfor">
|
<sect2 id="whatisitfor">
|
||||||
<title>Why and for what should I use FSP?</title>
|
<title>Why and for what should I use FSP?</title>
|
||||||
<para>
|
<para>
|
||||||
The &fsp; has its strengths on slow lines and connections with a high package lose like a Wireless LAN. In general the &fsp; is
|
The &fsp; has its strengths on slow lines and connections with a high packets lose like a Wireless LAN or radio packet networks. Because FSP is simple
|
||||||
what anonymous FTP should be - a fast and bandwith friendly way for anonymous file access.
|
and lightweight, it is very well suited for use in embedded devices area.
|
||||||
|
<para>
|
||||||
|
FSP protocol is not aggressive about bandwidth and was designed
|
||||||
|
to resist against users which want to do some bandwidth-related attacks.
|
||||||
|
It can support more users, because the same available
|
||||||
|
bandwidth is divided into smaller parts.
|
||||||
|
Because FSP uses less bandwidth, FSP transfers takes about
|
||||||
|
2-3 times longer than with TCP-based protocols.
|
||||||
|
<para>
|
||||||
|
FSP protocol
|
||||||
|
chooses reliability and simplicity over raw transfer speed.
|
||||||
|
File transfer takes longer, but there are much more resistant
|
||||||
|
against network failure.
|
||||||
|
<para>
|
||||||
|
Entire connection management is moved from server to client side,
|
||||||
|
which solves problems with aborted and timed out transfer. Because
|
||||||
|
FSP is stateless protocol, it can survive even server reboot without
|
||||||
|
interruption.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 id="comparison">
|
<sect2 id="comparison">
|
||||||
<title>Comparison between fsp and other protocols</title>
|
<title>Comparison between fsp and other protocols</title>
|
||||||
<para>
|
<para>
|
||||||
We did some benchmarking so that you can see how fsp performce
|
We did some benchmarking so that you can see how fsp performance
|
||||||
compared to various other command protocols used to transfer
|
compared to various other command protocols used to transfer
|
||||||
files.
|
files.
|
||||||
</para>
|
<sect2 id="benchresults">
|
||||||
<sect3 id="comparehttp">
|
<title>Benchmark results</title>
|
||||||
<title>FSP vs. http</title>
|
<para>
|
||||||
<para>FIXME</para>
|
You should understand that FSP is slower than TCP
|
||||||
</sect3>
|
based protocols by design. TCP protocol can have more than
|
||||||
<sect3 id="compareftp">
|
one packet flying in network (usually 2-3) while FSP was designed to
|
||||||
<title>FSP vs. ftp</title>
|
make it impossible (See <xref linkend="keying">).
|
||||||
<para>FIXME</para>
|
<para>
|
||||||
</sect3>
|
All TCP protocols have on normal networks
|
||||||
<sect3 id="comparetftp">
|
(max 15% packet loss) higher transfer rate than FSP.
|
||||||
<title>FSP vs. tftp</title>
|
FSP is clean winner when it comes to overloaded sites or lines.
|
||||||
<para>FIXME</para>
|
These benchmarks were performed on 10Mbit LAN with zero traffic.
|
||||||
</sect3>
|
Transfer rate is quite slow even for 10Mb because one of testing
|
||||||
|
machines was old AMD K5/90 and both machines used cheap clone ISA NE2000 Ethernet cards.
|
||||||
|
<para>Test file was 3656535 bytes long (FreeBSD kernel image).
|
||||||
|
Test results shows, that FSP is about 2-2.5 times slower than TCP.
|
||||||
|
<programlisting>
|
||||||
|
tftp 15.2 secs 240.6 kB/s
|
||||||
|
ftp 5.18 secs 688.7 kB/s
|
||||||
|
http 5.32 secs 685.4 KB/s
|
||||||
|
sftp 8.0 secs 446.4 KB/s
|
||||||
|
fsp 12.7 secs 287.7 kB/s
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
<sect3 id="comparehttp">
|
||||||
|
<title>FSP vs. http</title>
|
||||||
|
<para>
|
||||||
|
HTTP: widely supported by servers, clients and proxies.
|
||||||
|
De-facto standard protocol for accessing information today.
|
||||||
|
<para>
|
||||||
|
FSP: Can provide directory listings, which are not supported
|
||||||
|
by standard HTTP/1.1 protocol. You need to have configured
|
||||||
|
WebDAV server-side extension for that.
|
||||||
|
</para>
|
||||||
|
</sect3>
|
||||||
|
<sect3 id="compareftp">
|
||||||
|
<title>FSP vs. ftp</title>
|
||||||
|
<para>
|
||||||
|
FTP: widely supported by servers and clients, more difficult
|
||||||
|
to proxy than HTTP, uses 2 TCP connections, can provide directory
|
||||||
|
listings in site-specific format, more heavy service than HTTP.
|
||||||
|
<para>
|
||||||
|
FSP: do not needs to make any connection, very lightweight service,
|
||||||
|
directory listings are standardized by protocol.
|
||||||
|
</sect3>
|
||||||
|
<sect3 id="comparetftp">
|
||||||
|
<title>FSP vs. tftp</title>
|
||||||
|
<para>
|
||||||
|
tftp is UDP (but TCP version also exists) used mainly
|
||||||
|
for loading boot and flash ROM images from network.
|
||||||
|
<para>
|
||||||
|
TFTP: more widely used, standardized, most network cards
|
||||||
|
can boot image via TFTP.
|
||||||
|
<para>
|
||||||
|
FSP: about 1.5-times faster because of bigger packet size,
|
||||||
|
supports directory listings,
|
||||||
|
can query file date and size,
|
||||||
|
can provide random access to file and supports opening
|
||||||
|
more than one file, supports access control, timeout
|
||||||
|
management moved to client side, stateless.
|
||||||
|
</para>
|
||||||
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
<sect2 id="whyfspd">
|
||||||
|
<title>Why should I run fspd?</title>
|
||||||
|
<para>
|
||||||
|
If you are providing anonymous archive (FTP,WWW), you should also
|
||||||
|
offer FSP access. FSP daemon is a very lightweight process, never
|
||||||
|
forks and you will never have more than one copy running around.
|
||||||
|
On todays machines, it has zero performance impact.
|
||||||
|
<para>
|
||||||
|
Running fspd allows people with overloaded or lousy lines to get
|
||||||
|
files from your archive. It also helps people during spikes periods
|
||||||
|
when archive is very busy.
|
||||||
|
<para>
|
||||||
|
There are also some people which likes slower FSP downloads, because
|
||||||
|
it saves their bandwidth for interactive tasks.
|
||||||
|
<para>
|
||||||
|
It is not true that UDP based protocols are unsecure. &fsp; provides
|
||||||
|
the same security level as anonymous FTP and is much more resistant
|
||||||
|
against denial of service attack. It is nearly impossible to overload
|
||||||
|
fsp server by flooding. On other side, TCP-based protocols are very
|
||||||
|
simple to SYN flood.
|
||||||
<sect2 id="wherecanifind">
|
<sect2 id="wherecanifind">
|
||||||
<title>Where can I download FSP?</title>
|
<title>Where can I download FSP?</title>
|
||||||
<para>
|
<para>
|
||||||
You can Download the FSP source Distribtuion from the
|
You can Download the FSP source Distribution from the
|
||||||
<ulink url="http://sourceforge.net/project/showfiles.php?group_id=93841">sf.net mirror network</ulink>
|
<ulink url="http://sourceforge.net/project/showfiles.php?group_id=93841">sf.net mirror network</ulink>
|
||||||
or from
|
or from
|
||||||
<ulink url="http://ibiblio.org/pub/linux/system/network/file-transfer/">ibblio</ulink>.
|
<ulink url="http://ibiblio.org/pub/linux/system/network/file-transfer/">ibblio</ulink>.
|
||||||
If you have the FSP tools already you can access the latest FSP release
|
If you have the FSP tools already you can access the latest FSP release
|
||||||
via fsp on hxt.homelinux.org or wrack.telelev.net both running fspd on
|
via fsp on hxt.homelinux.org or wrack.telelev.net both running fspd on
|
||||||
port 2221.
|
port 2221.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
When you're interesseted in the latest, and of course greates,
|
When you're interested in the latest, and of course greatest,
|
||||||
development done in FSP please try a CVS checkout.
|
development done in FSP please try a CVS checkout.
|
||||||
Explanation and all needed information to do this can be found
|
Explanation and all needed information to do this can be found
|
||||||
on the
|
on the
|
||||||
<ulink url="http://sourceforge.net/cvs/?group_id=93841">sf.net CVS page</ulink>.
|
<ulink url="http://sourceforge.net/cvs/?group_id=93841">sf.net CVS page</ulink>.
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="gethelp">
|
<sect2 id="gethelp">
|
||||||
<title>Where can I find help?</title>
|
<title>Where can I find help?</title>
|
||||||
<para>
|
<para>
|
||||||
First of all various people took the time to write nice documentation on FSP including the fspd Server
|
First of all various people took the time to write nice documentation on FSP including the fspd Server
|
||||||
and the client tools. Please read those fine documents bevor you start writing to the mailinglists.
|
and the client tools. Please read those fine documents before you start writing to the mailinglists.
|
||||||
</para>
|
</para>
|
||||||
<sect3 id="gethelpdocs">
|
<sect3 id="gethelpdocs">
|
||||||
<title>RTFM - Read the fine Manuals</title>
|
<title>RTFM - Read the fine Manuals</title>
|
||||||
<para>
|
<para>
|
||||||
<ulink url="http://fsp.sourceforge.net/doc/PROTOCOL.txt">The &fsp; definition</ulink>
|
<ulink url="http://fsp.sourceforge.net/doc/PROTOCOL.txt">The &fsp; definition</ulink>
|
||||||
The latest version of the FAQ
|
The latest version of the FAQ,
|
||||||
The old FAQ
|
The <ulink url="http://fsp.sourceforge.net/doc/faq.html">old FSP FAQ</ulink>.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
<sect3 id="gethelpml">
|
<sect3 id="gethelpml">
|
||||||
<title>The Mailinglists</title>
|
<title>The Mailinglists</title>
|
||||||
<para>
|
<para>
|
||||||
For developing issue writte to the fsp-dev mainlinglist. For end-user questions
|
For developing issue writte to the fsp-dev mainlinglist. For end-user questions
|
||||||
and questions on how to configure your server/client write to the fsp-user Mailinglist.
|
and questions on how to configure your server/client write to the fsp-user Mailinglist.
|
||||||
You can find more information on how to subscribe/unsubscribe to the mailinglist and
|
You can find more information on how to subscribe/unsubscribe to the mailinglist and
|
||||||
the archiv on the
|
the archive on the
|
||||||
<ulink url="http://sourceforge.net/mail/?group_id=93841">FSP mailinglist page</ulink>
|
<ulink url="http://sourceforge.net/mail/?group_id=93841">FSP mailinglist page</ulink>
|
||||||
on sf.net.
|
on sf.net.
|
||||||
Please bevor you write to one of the provided mailinglists read and understand
|
Please before you write to one of the provided mailinglists read and understand
|
||||||
<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">ESRs HowTo ask smart questions</ulink>
|
<ulink url="http://www.catb.org/~esr/faqs/smart-questions.html">ESRs HowTo ask smart questions</ulink>
|
||||||
and
|
and
|
||||||
<ulink url="http://www.netmeister.org/news/learn2quote.html">learn.to/quote</ulink>
|
<ulink url="http://www.netmeister.org/news/learn2quote.html">learn.to/quote</ulink>
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="licence">
|
<sect2 id="licence">
|
||||||
<title>Licence, copyright and redistribution of FSP</title>
|
<title>Licence, copyright and redistribution of FSP</title>
|
||||||
<para>
|
<para>
|
||||||
Most parts of the &fsp; distribution are free and licenced under a
|
FSP code base uses MIT/X11 license (also known as 2-point BSD
|
||||||
BSD/MIT/X licence.
|
license). This license is very friendly to users in commercional area.
|
||||||
|
You can freely develop, use and sell your commercional implementation of &fsp;.
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Do not claim that you have wrote this software.
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Do not sue us if something breaks.
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
Summary: As long as you will not remove our copyrights from source code
|
||||||
|
and will not go with your complains to the court, you can
|
||||||
|
do with this software anything you want.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
From the COPYRIGHT file in the source distribution (e-mail addresses removed):
|
From the COPYRIGHT file in the source distribution (e-mail addresses removed):
|
||||||
<programlisting>
|
<programlisting>
|
||||||
Authors:
|
Authors:
|
||||||
Radim Kolar (Current FSP maintainer)
|
Radim Kolar (Current FSP maintainer)
|
||||||
Andrew Doherty
|
Andrew Doherty
|
||||||
Michael Fischbein
|
Michael Fischbein
|
||||||
Cimarron D. Taylor
|
Cimarron D. Taylor
|
||||||
Guido van Rossum
|
Guido van Rossum
|
||||||
Wen-King Su
|
Wen-King Su
|
||||||
Philip G. Richards
|
Philip G. Richards
|
||||||
Michael Meskes
|
Michael Meskes
|
||||||
Rich $alz
|
Rich $alz
|
||||||
gjc@mitech.com
|
gjc@mitech.com
|
||||||
Joseph_Traub
|
Joseph_Traub
|
||||||
Sven (VMS port maintainer)
|
Sven (VMS port maintainer)
|
||||||
Very Mad Students, University of Karlsruhe, FRG (VMS port)
|
Very Mad Students, University of Karlsruhe, FRG (VMS port)
|
||||||
|
|
||||||
Copyright:
|
Copyright:
|
||||||
All of the FSP code is free software. Most of fsp falls under two
|
All of the FSP code is free software. Most of fsp falls under two
|
||||||
copyrights, the 2-point BSD copyright and one by Wen-King Su:
|
copyrights, the 2-point BSD copyright and one by Wen-King Su:
|
||||||
|
|
||||||
Copyright (c) 1991 by Wen-King Su (wen-king@vlsi.cs.caltech.edu)
|
Copyright (c) 1991 by Wen-King Su (wen-king@vlsi.cs.caltech.edu)
|
||||||
You may copy or modify this file in any manner you wish, provided
|
You may copy or modify this file in any manner you wish, provided
|
||||||
that this notice is always included, and that you hold the author
|
that this notice is always included, and that you hold the author
|
||||||
harmless for any loss or damage resulting from the installation or
|
harmless for any loss or damage resulting from the installation or
|
||||||
use of this software.
|
use of this software.
|
||||||
|
|
||||||
Other contributions to fsp fall under different copyrights:
|
Other contributions to fsp fall under different copyrights:
|
||||||
|
|
||||||
This file is Copyright 1992 by Philip G. Richards. All Rights Reserved.
|
This file is Copyright 1992 by Philip G. Richards. All Rights Reserved.
|
||||||
See the file README that came with this distribution for permissions on
|
See the file README that came with this distribution for permissions on
|
||||||
code usage, copying, and distribution. It comes with absolutely no warranty.
|
code usage, copying, and distribution. It comes with absolutely no warranty.
|
||||||
|
|
||||||
Copyright (c) 1993 by Michael Meskes
|
Copyright (c) 1993 by Michael Meskes
|
||||||
You may copy or modify this file in any manner you wish, provided
|
You may copy or modify this file in any manner you wish, provided
|
||||||
that this notice is always included, and that you hold the author
|
that this notice is always included, and that you hold the author
|
||||||
harmless for any loss or damage resulting from the installation or
|
harmless for any loss or damage resulting from the installation or
|
||||||
use of this software.
|
use of this software.
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="projecthistory">
|
<sect2 id="projecthistory">
|
||||||
<title>Project history</title>
|
<title>Project history</title>
|
||||||
<para>
|
<para>
|
||||||
This should give you a short overview over the development of the &fsp;
|
This should give you a short overview over the development of the &fsp;
|
||||||
in the past and today.
|
in the past and today.
|
||||||
</para>
|
</para>
|
||||||
<sect3 id="histpast">
|
<sect3 id="histpast">
|
||||||
<title>The past</title>
|
<title>The past</title>
|
||||||
<para>
|
<para>
|
||||||
In the past various people worked on the &fsp;, see
|
FSP development started in a very old days. From source code and man
|
||||||
<xref linkend="licence">
|
page time stamps we can see that it was working and alive in 1988.
|
||||||
</para>
|
FSP versions 1.0 and 2.0 was born in Dec 1991. After that two first
|
||||||
|
releases FSP goes to the active life.
|
||||||
|
|
||||||
|
<para>
|
||||||
|
FSP active development era ends in May 1993 when last official
|
||||||
|
version 2.7.1 was released. It was quite popular at that time,
|
||||||
|
mainly because it was superior way for transferring warez around
|
||||||
|
when compared with FTP. Because of this, FSP protocol got a bad
|
||||||
|
name and suffers from it even today. I see that FSP warez era
|
||||||
|
as practical demonstration how can FSP perform nicely on
|
||||||
|
overloaded sites and lines.
|
||||||
|
|
||||||
|
<para>
|
||||||
|
After that then was some work on
|
||||||
|
FSP in 1995 and which ends with now famous FSP version 2.8.1b3
|
||||||
|
in March 1996. This version is used on some
|
||||||
|
servers today because Debian Woody has it, but 2.7.1 is still
|
||||||
|
used on some forgotten machines in universities. It has also
|
||||||
|
known security issues (fspd follows symlinks), but at this
|
||||||
|
time there were viewed as feature, not a bug.
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Radim Kolar released 2.8.1b4 in 2001, which was just some bugfixed
|
||||||
|
version of 2.8.1b3 untouched from 1997 when I ported it to OS/2.
|
||||||
|
Active working on FSP again starts on 25 June 2003 when Version
|
||||||
|
2.8.1b5 goes out. Major parts of FSP server code was rewrited
|
||||||
|
for higher performance and many old bugs in FSP code fixed.
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In the past various people worked on the &fsp;, see
|
||||||
|
<xref linkend="licence">
|
||||||
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
<sect3 id="histtoday">
|
<sect3 id="histtoday">
|
||||||
<title>Today</title>
|
<title>Today</title>
|
||||||
<para>
|
<para>
|
||||||
Radim Kolar started to work on the &fsp; again in June 2003. Since
|
Radim Kolar started to work on the &fsp; again in June 2003. Since
|
||||||
that time he's maintaining the source distribution. You can reach him
|
that time he's maintaining the source distribution. You can reach him
|
||||||
on the mailinglists or via e-mail <email>hsn@cybermail.net-nospam</email>.
|
on the mailinglists or via e-mail <email>hsn@sendmail.cz-nospam</email>.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Since September 2003 Sven Hoexter is working on parts of the documentation.
|
Since September 2003 Sven Hoexter is working on parts of the documentation.
|
||||||
You can reach him on the mailinglists or via e-mail
|
You can reach him on the mailinglists or via e-mail
|
||||||
<email>sven@du-gehoerst-mir.de-nospam</email>.
|
<email>sven@du-gehoerst-mir.de-nospam</email>.
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="credits">
|
<sect2 id="credits">
|
||||||
<title>Developers and contributors</title>
|
<title>Developers and contributors</title>
|
||||||
<para>
|
<para>
|
||||||
See <xref linkend="licence">
|
See <xref linkend="licence">
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- end of the introduction -->
|
<!-- end of the introduction -->
|
||||||
|
|
||||||
<!-- start with the installation instructions-->
|
<!-- start with the installation instructions-->
|
||||||
|
|
@ -227,33 +378,33 @@
|
||||||
<sect2 id="getfsp">
|
<sect2 id="getfsp">
|
||||||
<title>How to get FSP</title>
|
<title>How to get FSP</title>
|
||||||
<sect3 id="getsource">
|
<sect3 id="getsource">
|
||||||
<title>How to obtain the source distribution</title>
|
<title>How to obtain the source distribution</title>
|
||||||
<para>
|
<para>
|
||||||
There are several ways to obtain the fsp source distribution please take a
|
There are several ways to obtain the fsp source distribution please take a
|
||||||
look at <xref linkend="wherecanifind">
|
look at <xref linkend="wherecanifind">
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
<sect3 id="getbinary">
|
<sect3 id="getbinary">
|
||||||
<title>How to obtain a binary copy</title>
|
<title>How to obtain a binary copy</title>
|
||||||
<para>
|
<para>
|
||||||
At the moment we provide only rpms for RedHat 7.3. You can download the rpm file from
|
At the moment we provide only RPM for RedHat 7.3. You can download the RPM file from
|
||||||
the sf.net download page or from wrack.telelev.net. wrack.telelev.net provides the
|
the sf.net download page or from wrack.telelev.net. wrack.telelev.net provides the
|
||||||
rpms in a apt-rpm useable way, for more information about apt-rpm and the packages on
|
rpms in a apt-rpm usable way, for more information about apt-rpm and the packages on
|
||||||
wrack.telelev.net take a look at http://sven.stormbind.net/aptrpm/
|
wrack.telelev.net take a look at http://sven.stormbind.net/aptrpm/
|
||||||
If you're running other rpm based distributions you can try to rebuild the source rpms.
|
If you're running other rpm based distributions you can try to rebuild the source rpms.
|
||||||
</para>
|
</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="compilesource">
|
<sect2 id="compilesource">
|
||||||
<title>How to compile the source code</title>
|
<title>How to compile the source code</title>
|
||||||
<para>
|
<para>
|
||||||
After download you should be able to unpack the source tarball, change
|
After download you should be able to unpack the source tarball, change
|
||||||
into the source directory and use
|
into the source directory and use
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
su
|
su
|
||||||
make install
|
make install
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
@ -276,21 +427,21 @@
|
||||||
<sect2 id="fspd.conf">
|
<sect2 id="fspd.conf">
|
||||||
<title>How to setup a basic fspd.conf</title>
|
<title>How to setup a basic fspd.conf</title>
|
||||||
<para>
|
<para>
|
||||||
FIXME
|
FIXME
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 id="initscript">
|
<sect2 id="initscript">
|
||||||
<title>How can I start the fspd automagicly on reboot?</title>
|
<title>How can I start the fspd automagicly on reboot?</title>
|
||||||
<para>
|
<para>
|
||||||
FIXME
|
FIXME
|
||||||
Use init scripts ;)
|
Use init scripts ;)
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 id="restrictions">
|
<sect2 id="restrictions">
|
||||||
<title>How to setup restrictions on directorys?</title>
|
<title>How to setup restrictions on directories?</title>
|
||||||
<para>
|
<para>
|
||||||
FIXME
|
FIXME
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- end how to use the server -->
|
<!-- end how to use the server -->
|
||||||
|
|
@ -306,19 +457,91 @@
|
||||||
<sect2 id="fsptoolchain">
|
<sect2 id="fsptoolchain">
|
||||||
<title>The fsp tool collection</title>
|
<title>The fsp tool collection</title>
|
||||||
<para>
|
<para>
|
||||||
FIXME
|
FIXME
|
||||||
Information about all the f* commands
|
Information about all the f* commands
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
<sect2 id="fspclient">
|
<sect2 id="fspclient">
|
||||||
<title>fspclient</title>
|
<title>fspclient</title>
|
||||||
<para>
|
<para>
|
||||||
FIXME
|
FSP Client is FTP-like interface for FSP.
|
||||||
Enter information about fspclient here
|
It look exactly like classic FTP does, but uses different transfer
|
||||||
|
protocol. People usually find this program easier to use that
|
||||||
|
multiple client programs in FSP protocol suite. If you are at least
|
||||||
|
somewhat familiar with command line FTP and want to try FSP, this
|
||||||
|
program is right for you.
|
||||||
|
<para>
|
||||||
|
FSP client homepage is <ulink url="http://fspclient.sourceforge.net">http://fspclient.sourceforge.net</ulink>.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
<sect2 id="gui">
|
||||||
|
<title>Using FSP in browser</title>
|
||||||
|
<para>
|
||||||
|
If you want a GUI, the easiest way is to use FSP directly
|
||||||
|
from your web browser.
|
||||||
|
You need to download and install <ulink url="http://fsp.sf.net/javalib.html">FSP Java LIB</ulink> and <ulink url="http://fsp.sf.net/fsproxy.html">Proxy server</ulink>. Read included docs for install instructions.
|
||||||
</sect1>
|
</sect1>
|
||||||
<!-- end how to use the client -->
|
<!-- end how to use the client -->
|
||||||
|
|
||||||
|
<sect1 id="techinfo">
|
||||||
</article>
|
<title>FSP technology in-depth</title>
|
||||||
|
<sect2 id="protocol">
|
||||||
|
<title>Protocol definition document</title>
|
||||||
|
<para>
|
||||||
|
FSP protocol is well documented.
|
||||||
|
You can find the latest protocol definition right here
|
||||||
|
<ulink url="http://fsp.sourceforge.net/doc/PROTOCOL.txt">http://fsp.sourceforge.net/doc/PROTOCOL.txt</ulink>
|
||||||
|
or in the source distribution in the "doc" subdirectory.
|
||||||
|
</para>
|
||||||
|
<sect2 id="transport">
|
||||||
|
<title>Transport mechanism used by FSP</title>
|
||||||
|
<para>
|
||||||
|
FSP is datagram-based protocol. FSP protocol itself do not require
|
||||||
|
reliable underlying transport. FSP can operate even without
|
||||||
|
any Layer 2 and Layer 3 transports only with some extra features
|
||||||
|
disabled. FSP can be implemented in all kinds of environments.
|
||||||
|
This makes FSP very suitable for embedded devices area.
|
||||||
|
<para>
|
||||||
|
When used in TCP/IP based networks,
|
||||||
|
UDP is used for transporting of FSP datagrams, this lowers protocol
|
||||||
|
overhead by skipping TCP level, which is not needed, because FSP
|
||||||
|
handles connection management by itself. This method is standardized
|
||||||
|
in <xref linkend="protocol">.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
FSP frames can be packed directly info Ethernet 802.2, USB or GSM
|
||||||
|
frames. Biggest advantage of using FSP in that areas is simplicity.
|
||||||
|
FSP protocol is very simple to implement.
|
||||||
|
</sect2>
|
||||||
|
<sect2 id="keying">
|
||||||
|
<title>Network bandwidth protection</title>
|
||||||
|
<para>
|
||||||
|
One of interesting parts of underlying network technology used
|
||||||
|
by FSP is how protocol design restrict user from sending
|
||||||
|
more than one packet into network.
|
||||||
|
<para>
|
||||||
|
FSP uses very simple method: Every packet sent from server to client
|
||||||
|
contains a 16-bit long, pseudo random key. Client needs this key
|
||||||
|
for sending next request to server. Server will ignore requests
|
||||||
|
with wrong key, unless there was no previous activity recorded
|
||||||
|
for client IP address in last 60 seconds.
|
||||||
|
<para>
|
||||||
|
Server remembers for each IP not only nextkey, but also previous
|
||||||
|
key. When packet's key matches previously stored key -- it is
|
||||||
|
resend from client.
|
||||||
|
This method also allows ignore duplicate requests by server for
|
||||||
|
action which should not be done more than once (for example mkdir).
|
||||||
|
<para>
|
||||||
|
In each packet sent by client to server is sequence number.
|
||||||
|
Server will echo this number back to the client, when packet is
|
||||||
|
processed. There is no restriction on that number, client can
|
||||||
|
use anything he wants.
|
||||||
|
Primary purpose
|
||||||
|
of this sequence number is possibility to put unique mark on
|
||||||
|
every network packet. Client can use this information and
|
||||||
|
fine-tune its retry algorithm
|
||||||
|
by computing packet loss ratio of network, and duplicate
|
||||||
|
packet rate.
|
||||||
|
</sect1>
|
||||||
|
</article>
|
||||||
|
<!-- vim: set expandtab: -->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user