home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 5
/
ctrom5b.zip
/
ctrom5b
/
WINDOWS
/
INTERNET
/
WFTPD195
/
WFTPD.TXT
< prev
Wrap
Text File
|
1994-10-19
|
20KB
|
429 lines
Alun Jones WFTPD 1.9 Documentation
1910 Westmead 3702
Houston TX 77077, USA
WFTPD
Windows FTP Daemon Version 1.95
For Winsock v1.1
Self-congratulatory Introduction
Welcome to WFTPD, and many thanks for caring to read the
documentation.
For those of you new to Internet terminology, FTP is a
standard communication protocol to enable file transfer
(hence its name, deriving from File Transfer Protocol). A
1Daemon is a program that sits in the background waiting to
serve other applications. It is commonly also referred to
as a server.
This program is an attempt to provide most of the
functionality associated with this protocol. Since the
program is still in development, and does not hold all the
features defined in the standards document for FTP, it may
not be suitable for all purposes. It is, however, suitable
for a great many purposes that occur commonly amongst users
of FTP programs.
This program has certain advantages over many of the
commercial implementations. The first, and most obvious, is
its cost. If you can accept certain limitations that I have
placed on the software, the cost may be nothing, since you
are not forced to send me money to use this software. A
registration fee of $15 is suggested, and the benefits of
sending in your registration include:
Automatic notification of any new versions
Lifting of all restrictions on the shareware
version (only five transfers per session, and
impolite greeting and farewell messages)
A warm, fuzzy feeling
The likelihood that I will be sufficiently
interested to produce a new version
More of a say in determining new features
Instructions on registering are included in the file
REGISTER.TXT, as well as at the end of this file.
Other advantages over commercial implementations include
that this program has been written from scratch to be
compatible with the Winsock specification, rather than any
particular implementation. This gives it a greater chance
of working with those winsock stacks that fully comply with
the Winsock v1.1 specification. The program has been
written solely with Windows in mind, and is not a port of
anyone else's implementation. This allows it to be more
efficient in the Windows environment.
Well, enough sales talk, and on with actually documenting
this program.
Documentation begins here!
WFTPD can only be run on top of a winsock v1.1 compliant
TCP/IP stack. It has been used by many people on a variety
of different stacks. It seems to work very well on top of
the shareware Trumpet Winsock available from most ftp sites
and shareware archives as TWSK10A.ZIP. The current beta
version, 24, works a lot better for this program.
If on starting WFTPD, you receive an error "Cannot Find
WINSOCK.DLL", or a similar message to say that Windows
cannot find the WFTPD executable, this is because a Winsock
compliant stack has not been installed correctly on your
system.
As a shareware application, WFTPD has no warranty, either
express or implied, about its suitability for any purpose.
Support is not guaranteed, nor are future updates. The
program is offered on an as-is basis to any users, and the
author and distributors of this program are not liable for
any damage or loss caused by the use, misuse, abuse or
talking-moose of this program. Similarly, the author and
distributors are not liable for any damage or loss caused by
any portion of this code or documentation, no matter how
poorly written.
WFTPD is distributed through shareware archives as one
executable, one help file, and a few ancillary files, of
which this is one. To run the program, all that is required
is the executable, although you may wish to keep the help
file around for those moments where you have forgotten what
you read in this document. The help file should be kept in
the same directory as the executable.
As with so many other windows programs, WFTPD creates a file
with the extension ".INI" in the windows directory. (If you
run the program as "WFTPD.EXE", the INI file will be
"WFTPD.INI") It is not necessary to edit anything in this
file directly, since all operations are accessible from menu
options. It is advised that you NOT edit the INI file in
normal operation, since there is a certain amount of
validation of your input that is done when entering items
through the menus.
The menu structure has been designed to be as intuitive as
possible, while still providing the required functionality.
The menus are outlined individually below:
File Menu
From this menu, all the file operations are performed. The
two file options are "Open Log" and "Close Log". These
options define whether any enabled logging information
(q.v.) will be output to a file, and which file this
information is output to. Any currently open log file's
name is displayed on the title bar of the application. If
the application is closed (exited) while a log file is open,
that file will be reopened on re-starting the application.
If a log file already has any contents, the new logging
messages will be appended. For this reason, it is advisable
to make a regular investigation of your log files to ensure
that they have not grown too large.
There used to be another option on this menu, "Greedy" -
this was for a feature that has been superceded by a better
internal loop for send/receive.
The final command on the File Menu is the Exit command,
which closes down the program. It is important on some
Winsock stacks to close this program down BEFORE exiting
Windows, since there is currently a bug that leaves a
'listener' process active for ftp, which means that should
you re-enter windows without restarting your TCP/IP stack
(often requiring a reboot), you will not be able to start
ANY ftp servers, and incoming ftp requests will get lost. I
view this as a bug in the underlying TCP/IP implementation
of the relevant Winsock stacks, since when Windows closes
down, they should close down all TCP/IP connections that
were activated under Windows. (The Winsock spec touches on
this issue)
Edit Menu
The only option here, Copy, has been greyed out - this is
reserved for future expansion, to allow you to copy parts of
the on-screen log information to the clipboard. Basically,
I haven't been able to get around to writing the code for
this part!
View Menu
This has one option, "Status Bar". This toggles the display
of the status bar on the bottom line of the screen display,
which will contain a on-line description of whatever command
is currently highlighted on any menu.
Logging Menu
This is where decisions are made as to whether logging is
performed, and what information is logged. The first
option, "Logging On", enables the logging of items checked
below the separator, and provides a quick method of turning
on or off all log information. "Clear Screen" clears the
window of all on-screen logging. This is a non-reversable
process.
Underneath the separator (the horizontal line) are the
options describing what information gets logged. "Gets"
enables logging of any transfer FROM the WFTPD system.
"Puts" enables logging of transfers in the other direction.
"Logins" enables a log of every non-anonymous user who
connects to your system, and "Anonymous" enables logging of
the anonymous connections. "Commands" enables logging of
all other commands issued by connected FTP clients.
The last, and perhaps most dangerous, option is "Winsock
Calls". This is included solely to aid in the isolation of
faults between WFTPD and your Winsock stack. Since the
Winsock specification is relatively new, there are some
areas where the writers of Winsock stacks may not have got
it 'right', and some areas where they are not necessarily
'wrong', but disagree with the interpretation I make of the
winsock spec. If you enable this option, every call to the
Winsock stack will be logged, along with an error code. An
error code of 0 means no error, and on any "[signal]" line,
the error number is the type of signal received. The only
other error number to be expected is 10035, which means that
the transfer of data blocked - this is a normal condition
for any network connection. Any other error condition may
need investigation.
Message Menu
This controls various messages that users see. The first
two items, "Greeting" and "Farewell", will put up dialogs to
allow you to enter up to 20 line messages to be displayed on
entry into, and exit from, the WFTPD system. In the
unregistered shareware version, these dialogs come up, but
may NOT be edited. I apologise if the message seems rude to
you, but please don't be a self-righteous ninny about it - I
have had several people complain that they cannot reasonably
test the program with these messages in. I believe this
argument is phoney - if you are testing the software, I
would hope that $15 is a drop in the ocean compared to the
cost of your (and your testers') time, and I would also hope
that if you have other people connecting into your 'test'
site, it should be no problem to inform them that this
message is due to your testing an unregistered shareware
product.
The third item on this menu, "MESSAGE.FTP" is a toggle that
enables messages to be displayed on each change of
directory. If this option is enabled, and the user changes
directory into one with a file called "MESSAGE.FTP", the
text inside this file is sent to the user along with the
notification of his new directory. My advice is to keep
this message brief, since many people have only twenty line
terminals, and may not be able to pause, or scroll back.
Any text can appear in these files, and also in the Greeting
and Farewell dialogs. You do not need to prepend each line
with any special text, as in some other ftp server
implementations - the server handles this for you.
Security Menu
This implements a rather limited subset of the security
available on more powerful ftp daemons. Currently only
three items are enabled - the fourth, greyed, item "Rights"
is reserved for a later version of WFTPD, and will allow you
to specify which users can write from, read to, or list,
which directories.
The first item, "General" allows you to set the
miscellaneous global switches (i.e. not specific to
particular users) that involve security - enabling/disabling
security, allowing/denying anonymous access, and limiting
the maximum number of users that can log in to your server.
The next item, "User/Password", brings up the "User Security
Settings" dialog. It is on this dialog that users are
defined. To define a new user, simply enter the user's
login name in the "User name" box; next, if you wish to, you
may define a password and home directory for this user.
When entering a password, the password must be typed exactly
the same in both the Password and Verify boxes. Since you
cannot see what you are typing, the "Add/Update" button is
greyed out whenever the text in the two boxes does not
exactly match. The user's entry is only added to the INI
file on pressing the Add/Update button while that user's
name is in the User Name box. On pressing the Add/Alter
button, the following settings are stored: User Name,
Password, Home Directory, and the "Restrict To Home"
option's value.
The "Restrict To Home" checkbox will, if checked, require
that this user only be allowed access to his home directory
and below. All users will be placed in their Home Directory
when they first log in.
The last button, "Delete" will remove the currently selected
user name entry from your INI file.
The third item in the Security main menu is "Host/Net".
This was a new feature to 1.9, and may still be a trifle
flakey. The idea is to either allow you to deny access to
particular sites which cause you problems, or to allow only
particular sites to connect, and to deny all other sites
from connecting.
The default setting (allow / deny) is indicated in the
"Default Action" box. To specifically allow or deny a
particular host or network, you may enter an IP address mask
in the "Host Address" box. This mask is a set of four
values, separated by dots. These values are either decimal
numbers in the range 0-254, or asterisks. An asterisk in
any particular part will allow the address to match all
values in that position. For instance, if you wanted to
flag all local connections through the "loopback" interface,
you might enter "127.*.*.*" here.
When a connection is received, the default action is noted,
and then the address of the incoming site is matched against
those host address masks whose specific action goes against
the default action. If a match is found, then the specific
action is performed, otherwise the default action is.
As with the User/Password screen, the setting for any "Host
address" is only saved on clicking the Add/Update button,
which only becomes solid on entering a valid host mask. The
Delete button removes the entry for the host address
displayed. As might be expected, the Default Action is
saved on closing the dialog box.
Help Menu
The Index option pulls up the help file for WFTPD (if it can
be found), and points to the contents page. This may be
worth exploring for hints on how the software may be used.
The "Registering" option brings up a help page with
information on how to register - see "Registering the
Software" below for more details.
The Using Help option gives you some Windows Help about
using Windows Help.
The About option displays a short copyright message, and may
be used to find out whether you are running a registered, or
unregistered, version, which version you are running, and
what date it was built on. An additional button is
displayed at the bottom of the About Dialog, which in the
unregistered version asks "How Do I Register?", and in the
registered version asks "How Do I Contact The Author?". On
pressing this button, the help file is again searched for,
and the page on contacting the author, or registering the
software, is displayed.
Registering the Software
What will registering the software get you? A brand
spanking new registered copy of the executable and all
documentation (just in case you lost your documentation, or
it was updated recently). Also, the registered version has
the following limits removed - a maximum of five file
transfers per login session - no editing of the Greeting and
Farewell messages allowed.
Unlike previous versions, orders will not be accepted
without order forms - I need the information that is on
them, and it's a real problem chasing people down to find
the information that they forgot to put in the post-it note
attached to their cheque! The order form can be printed
from the help file - if you are using WFTPD, choose the
"Registering" option under the "Help" menu - if you are not
currently using WFTPD, run WFTPD.HLP, and select the
contents item "How To Register the Program or Contact the
Author". Full instructions are included on this page, along
with two items to choose from, depending on whether you
require a regular mail delivery, or an internet delivery of
the software.
Regular mail delivery of upgrades, or the original program,
costs $5 in addition to the $15 for registering the
software. Be very careful if sending cash - cheques or
money orders are far safer, and should be made out to "Alun
Jones". There is no "WFTPD Software Inc", or any such name
(although one day, who knows?).
If an internet-reachable e-mail address is included with
your order, you will be added to a mailing list of all
registered users of WFTPD, which will allow me to notify you
of any future upgrades, or troubleshooting techniques and
tips. If you provide me with an internet e-mail address or
an internet ftp site on which to deposit the registered copy
(so long as it is not a public archive site!), you will be
sent free upgrades whenever they are available. A
clarification on "public access" - no matter how much you
plead, I will not place the registered copy of this program
onto a server through the "anonymous" account - many people
tell me that it's safe because "only a couple of people use
this machine" - I have no way of knowing if this is true or
not, and so I take the safe route.
Source code to the program is not distributed with the
registered or unregistered version of this software - it
cost me a lot of time to develop this program, and so it
costs mucho dinero to get the source code out of me.
Site licences are generally offered at a rate of $500 for
each block of 100 users. If this is not suited to your
situation, make me an offer and we can haggle. Be warned
that my haggling may consist of repeatedly droning "$500 for
each block of 100 users". But be hopeful that I may decide
your offer is good.
I would prefer if all payments are made in US Dollars.
These are easy for me to cash, and are often reasonably easy
for foreigners to lay their hands on. In a pinch, I will
accept European currency cheques, so long as the amount
includes a certain increase to allow for the money-changers
to have their rake. For instance, I have been asking people
in England to send me 15 pounds sterling.
Finally
And finally, may I remind you that the address for all
communication to me is Alun Jones, 1910 Westmead 3702,
Houston TX 77077 USA. The previously quoted address of
12919 Whittington 1104A is an apartment that I am moving
from on April 2nd 1994. All mail to that address should be
forwarded to my new address, but it is probably not wise to
trust in that too much.
Also, my email address has changed from "alun@wst.com" to
"alun@neosoft.com" - this reflects the fact that WFTPD is a
private venture of mine, and has no connection to my
employers.
I would like to thank a whole bunch of people who have
helped me with this product, particularly:
Fred Whiteside, of Beame & Whiteside, without whom I would
have screwed up the User/Password security.
Bob Quinn, of FTP Software Inc, for clarifying many of the
points of the Winsock spec, and for generally being very
informative on the Winsock programming mailing lists.
All the staff of FTP Software Inc, for sending me a
developer's edition of PC/TCP version 2.3, which I have
regrettably not yet had the time to install.
Peter Tattam, of Trumpet Software International, for
developing perhaps the definitive shareware winsock
implementation.
All the developers of winsock stacks, without whom my
program would be useless.
All the writers of the winsock v1.1 specification, for
providing a most useful and simple environment for
programming TCP/IP network applications.
Anyone who has ever given me encouragement and constructive
criticism concerning WFTPD, in particular those who wrapped
their comments in cheques.
My mother, my father and the entire academy of motion
picture arts (sorry, couldn't resist that - this was
originally written on the night after the Oscars)
_______________________________
1The term "Daemon" refers to an invisible servants - unlike
"demons", a daemon is neither intrinsically good nor evil,
it does only what it is told.