home *** CD-ROM | disk | FTP | other *** search
- 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.
-