How to become a beta tester

It's very easy, really - simply register the program (oh, yes, that's important), and report any bugs that occur in your normal use of the program.  I choose my beta testers from those whose bug reports have shown more use to me than any others.  If I'm worried about a particular area that seems to be within your area of expertise, you might become a beta tester for a while.


How to Win Any Argument About A.I.

If people argue that machines will never be cleverer than humans, simply ask them if their VCR still flashes "12:00".


WFTPD Contents
WFTPD Contents  (version 2.0 6/1/1995)

WFTPD - The Windows FTP Daemon

What's New in this version?

Quick Setup - how to start quickly
Common Questions - what people keep asking me - your answer may be here.

How To:
Fix what broke in the quick setup
Work with Log files and screen logging
Secure your system
Register the program or contact the author
Play the Flute
Win Most Arguments About Artificial Intelligence
Become one of my beta testers for future versions

Menus:
Use the File Menu to deal with log files.
Use the Edit Menu for nothing much, yet!
Use the View Menu to turn off or on the status bar, which displays useful status information.
Use the Logging Menu to control what information is saved to the log, or on screen
Use the Messages Menu to give messages to users on connection, logout and change of directories.
Use the Security Menu to limit the number of users, who can log in, and where they may log in from.

Command Line Options:
Run invisibly with the 'h' option

Miscellaneous:
Upload Announcement
Changes made in version 1.96
Changes made in version 1.95
Changes made in version 1.9 (and minor version changes)
Look for these features soon...
Acknowledgements
About The Author
Interesting Email


Quick Setup

The important part of a quick setup is to note what WFTPD has as its defaults:

No Log File
No logging to screen or disk
A blank Greeting and Farewell message (the unregistered version informs users in these messages that you have not registered)
No display of the MESSAGE.FTP file on a CD command
User/password security enabled - no users defined
Anonymous user disabled, and restricted to the C:\ directory and beneath, should you re-enable this user.
Users may upload, unless they are anonymous.
All users have full rights to all areas of all disk drives.
Host/Net security allows all hosts/networks to access WFTPD
No limit on the maximum number of simultaneous users.
No time-out of idle connections

This means that what you will need to do on first starting up WFTPD is either to enable the Anonymous user, or add users and passwords, or a combination of both.  Or, if you don't need password protection, simply disable user/password security and allow anyone access to your system.

I would recommend enabling the time-out too, since this may save you from hangs on your server (and it also prevents people from hogging your server).


The Log File

The Log File is a simple text file with the following format:
[X nnnn] mm/dd/yy hh:mm:ss <Message text>
X is a single character, one of:

L - login
C - command
G - get (RETR)
P - put (STOR/STOU)
A - anonymous login
? - Debug information
! - Warning / helpful information

nnnn is a four digit number for the connection number that this message applies to - connections are numbered from 0001 from the time the program is started.  When the program is exited and restarted, the count restarts at 0001.

mm/dd/yy is the date, and hh:mm:ss is the time of the message being written to the log file.

This same information is written to the screen.

You can select the types of messages that will be listed through the Logging menu options.


Greeting And Farewell Messages

These messages are currently a maximum of 20 lines long, and are entered through a very simple multi-line edit control.  Any text can be entered here, although it would be advisable to limit yourself to only those characters that are most prevalent amongst the internet community - i.e. 7-bit ASCII.

The Greeting message is displayed to each new connection before they get the prompt for the user name, and the Farewell message is displayed after the FTP daemon receives a QUIT command from the client.  In addition, I add one line to each of these messages as a kind of 'promotion', to remind users who wrote the marvelous server that they are connected to.

The default messages are blank in the registered version.  In the unregistered version, you cannot edit these messages, and they bear messages enticing your users to tease you about being unable to scrounge up $15 for a registration fee.  If you feel these messages are a problem, please read this.


The MESSAGE.FTP File

When this option is ticked in the Messages menu, any time a user changes directory, the new directory is checked for a file called MESSAGE.FTP. If this file exists, it is printed as part of the success message informing the user of his change of directory.

This file may be as long as you can type, but bear in mind that many people have twenty odd lines of screen and no scrollback - if it can't fit on one screenful, you stand the chance that it will not be read in its entirety.

This feature was inspired by wuarchive's facility to display a .message file on certain commands.

You may want to make the MESSAGE.FTP file hidden (use the DOS command "ATTRIB +H MESSAGE.FTP", or select MESSAGE.FTP in the File Manager, then choose the "Properties" option under the "File" menu, and check the "Hidden" box), so that users do not try to delete it, or change its contents - this is especially important since rights are implemented on a directory - by - directory basis, rather than down to the individual file.  You can also make it read-only ("ATTRIB +R MESSAGE.FTP", or check the "Read Only" box under the Properties dialog in File Mangler), so that people are not tempted to overwrite it if they suspect that it is there.


The User/Password Security Dialog

This dialog allows you to grant different users access to different parts of your disk(s).

The Done button simply exits the dialog - it will not add or update any user's entries - that is done by the buttons described below.

The User Name field is a simple drop-down list, and shows you the users currently defined - to add a new user, you must click the New User... button.  To delete a user, select their name in the User Name field, and click the Delete button.  The New User and Delete buttons are in the box labeled User... - when a user name is selected, e.g. Fred, the box will be labeled User Fred.

Also in the User... box:

You may change any user's password by clicking the Change Pass... button - this pulls up a new dialog with two entries - Password and Verify.  The Password/Verify boxes will always display '*' for each character entered. This is a standard protection scheme to ensure that people in the next town with high-powered binoculars can't log in to your prized system.  You will not be able to press OK until the Password and Verify fields are the same (this avoids typing mistakes, since you can't see what you type).  A user may have a blank password, but it is not advisable.

The passwords are stored in encrypted fashion on the WFTPD.INI file.  If you wish to retain your password from a UNIX system, you may copy the password entry from the /etc/passwd file into the WFTPD.INI file - e.g. if my /etc/passwd entry is:
alun:hajibabaomars:194:958:Alun Jones:/home/home/on/the/range:/bin/bash
I would put an entry in the [passwd] section of the WFTPD.INI file a line that reads:
alun=hajibabaomars

The "Home Directory" is the directory that the user first sees when he logs in.  Currently, WFTPD does not check at this point whether the directory you have entered is valid, but users will not be allowed to log in if their home directories that don't exist.  It is always advisable when creating a new user account to try and access the system as that user - this way, you will avoid having to debug the connection over the telephone.

If you check the option "Restrict to Home", the user will not be able to change directory to any directory that does not contain the home directory as an initial substring, effectively limiting his access to his home directory and below.  In a future version, the user will not know what directories are above him - this is a feature commonly seen on Unix ftp servers, and will also make it easier to use WFTPD with Web servers.

Outside of the User... box:

The Help button will display this help page to help you use this dialog. Pressing F1 while this dialog is uppermost will also open this help screen.

When you click on the Rights >> button, it will unfold the section of this dialog to deal with user / directory rights - each user may have different rights in each directory.

The Rights for user ... box:

When a user's name has been chosen, the box will bear the user's name, e.g. Rights for user Fred

The Directory entry is for you to specify a particular directory where this user has particular rights.  Remember that you are also implicitly defining access rights for each child directory that this directory has, since rights are inherited.  Naturally, you may override this behaviour by defining specific rights for that child directory.  The special directory * allows you to specify rights for the currently selected user on all directories on all drives.  You may also enter a full directory path (including drive letter).

To change the rights on a directory that already has specific rights defined for it, you may choose that directory by pressing the down-arrow button, to drop down the list of previously selected directories.

Once a directory's specific rights are no longer necessary (e.g. the directory has been deleted, or a parent directory has the rights that this user needs for this directory), you may press the Remove button - this does not delete the directory or its contents - it merely removes its entry from the list of directories with specific access requirements.

To set access rights, check or uncheck the options for Read, Write and List Directories - if the box is checked, then this user may perform that action in the specified directory.  Writing includes such actions as deleting, renaming and creating directories.

Clicking on the Rights << button again will fold the dialog back up.  Any rights granted (or refused) to a user on a particular directory will apply on any subdirectory, unless otherwise specified.

A note on how access is granted:

When an access request for a file is received, the directory in which the file resides is checked for rights entries in the WFTPD.INI file.  If this directory is not associated with this user in the INI file, the parent directory is checked, repeatedly, until we reach the root directory of the current disk.  If there is no entry for this user with the root directory, we check to see if this user has a default (*) entry.  If so, we use that, otherwise we repeat this whole process for the default user.  If the default user has no default directory entry, we allow all accesses that are not specifically guarded against.  (This is to allow a usable system without having to specify any initial parameters)


Host/Net Security

This dialog allows you to deny or allow access to your site based on the internet address of the host trying to connect.  There is a pair of radio buttons indicating what the default action is - whether you want to generally deny all incoming connections, or whether you wish to allow all connections by default.

Underneath these buttons is a box labeled "Specific action", which contains a list box labeled "Host address".  Any hosts listed in this box (and you can type extra hosts in) may be changed from the default action.  Please note that to add or change a host's entry, you MUST click on the Add/Update button.  To remove an entry, simply select it in the list, and click on the Delete button.

The Host Address must be a numerical IP address - four numbers from 0 to 255 separated from one another by dots (the "." character).  To specify several hosts in a range, remember that a "*" represents the range 0-255.

Once any address or address range has been set to 'deny', no connections from that site can be made.  Once an address or range has been set to 'allow', all connections from that site can proceed.  If a connecting site qualifies under both 'deny' and 'allow', it will take the opposite action from the default.  This sounds bizarre, but it makes a certain amount of logical sense.  If you think it's wrong, try and come up with a situation where you might want a different action performed - I couldn't.

The Close button will exit this dialog box - it will not in itself save any alterations that you have made to the host tables - this is done only through the Add/Update and Delete buttons.


The Security Menu

This menu contains four options that allow you to tailor the security of your site:

General - for miscellaneous settings
Users / Rights - to add users, edit their passwords, set home (login) directories, and to assign access based on directories.
Host/Net - to accept or deny connections based on what machine they come from


The Message Menu

This menu contains three options.  The Greeting and Farewell messages allow you to design messages that are printed when a user logs in or out, respectively.  The MESSAGE.FTP option is a checkable option, that, when enabled, allows a message to be printed out which can change for each directory the connecting user enters.


The Log Options Dialog

The Log Options Dialog has the following check boxes:

Enable - turns logging to screen and log file (if opened) on/off.

Gets - starts/stops logging all Get (RETR) commands
Puts - starts/stops logging all Put (STOR/STOU/APPE) commands
Logins - starts/stops logging all successful user logins
Anonymous - starts/stops logging all successful anonymous logins
Commands - starts/stops logging of all ftp commands received.
Warnings - starts/stops logging of all warnings from WFTPD - it is recommended that you leave this enabled, since the warnings are signs of things that you may need to fix.
Winsock Calls - this option is only to be used for debugging purposes - many of the items reported are of little consequence, and despite some bizarre numbers appearing when this option is enabled, most are simply status reports.  If this is enabled, it may cause WFTPD to use more memory, to slow down, and maybe even to appear to hang.  It is not recommended unless you are trying to solve a problem in conjunction with the author, Alun Jones.

Note that if the Enable box is not checked, none of the other options can be altered.  It makes no sense to alter the log options if logging is not occurring!

Whenever winsock call logging is turned on, and the dialog box closed, or if the application is started with winsock call logging turned on, a dialog box will come up warning you that it's not usually a good idea to run with winsock call logging.  Clicking OK will disable winsock call logging, and Cancel will leave it enabled.  This is deliberately counter-intuitive so that winsock call logging will only be used when strictly necessary.


The Logging Menu

This menu has the following options:

Log Options - brings up the "Log Options" dialog
Clear Screen - clears the log on screen.


The View Menu

Currently this menu only enables you to turn on or off the status bar.  The status bar displays first a text string describing the currently selected menu item, or Ready, if none is selected.  After this, the bar displays a count of the current number of sockets in use, and then the current number of connected users.  This allows you to make an easy decision as to whether to close the ftp daemon - if the number of users is zero, then it's safe to close WFTPD.  It is especially worthwhile closing and restarting WFTPD if the number of users is zero, and the number of sockets is any number other than one.  The number of sockets in use is a function of the following:

•	Number of users - each user requires one socket

•	Number of transfers in progress - each transfer or directory listing requires one additional socket.

•	The socket that listens for new users - one socket.

Hence, if less than one socket is displayed, the ftp daemon just isn't listening any more!


The Edit Menu

In some later version of the software, this will allow you to copy sections of the screen log into the clipboard, for pasting into other programs.  Currently, there is no method to copy and paste from the log screen.


The File Menu

This contains commands to open or close the current Log File, and the exit command.

Previous versions also contained the option to enable/disable the Greedy Option, but this feature has been removed due to its obsolescence.


How To Play The Flute

Well, basically, Jackie, you blow in one end, and move your hands up and down it.

Next week we'll be teaching you how to rid the world of all known diseases and how to make black and white people live in harmony.

I have received the occasional comment about this section - it's a light relief piece, and is a quote from an old Monty Python sketch - not that there are that many new ones.


How To Secure the system

In this version, user rights have been added - to assign individual users with different rights, you will need to use the Rights Security Dialog.

It is thus possible to allow (or restrict) a user to only download, or only upload, from specific directories.

WFTPD can also be made into a download-only server by options in the General Security dialog

Full Security is probably best achieved by assigning rights, but still providing each user with a separate directory, and restricting them to that directory and below.  All this can be achieved through the Users / Rights Security dialog.

If users persist in being naughty, you can deny them access to your machine through use of the Host/Net Security dialog.


How To Work With Log Files And Screen Logging
How To Work with Log Files and Screen Logging.

When you first fire up WFTPD, no log file will be defined, and all logging will be disabled.  You will probably want to use a Log File, so that you can find out what happened during your unattended hours, and so that you can have a record of what is going on in your system.

To create a log file, simply open it from the File Menu's Open Log option.  From now until you close the file, all log messages will be stored into this file.  If you close the software, it will re-open this file when it is restarted.

Logging to the screen is automatically enabled whenever logging is on. This is selected from the Logging Menu.  Through this menu, you can also select what actions are logged, and you can also clear the log on screen.  There is no way to log to file, but not to screen, short of running the program hidden.


How To Fix What Broke in the Quick Setup

I'm not sure what you mean - nothing broke in the quick setup. :-)

Maybe you should email me at "alun@texis.com", and we'll find out what went wrong.


New and Innovative Uses for WFTPD

The following uses have been reported to me:

As a standard FTP daemon - this is obvious.

For remote system administration - simply install it with the 'h' option, and run it on all of your systems - this allows you to update software, and retrieve configuration files for local editing, allowing you to remotely administer windows machines anywhere on your network.

As a poor man's WWW server - place your html files in a directory that the 'anonymous' user can get to, using the extension ".htm", and point people to the URL "file://yoursite.domain/yourdirectory/yourfile.htm" - this was new to version 1.95, and works better in version 1.96.  Version 2.0 should work the same way.

I used to have a feature where you could print by putting a file to LPT1, but because I couldn't get it to work right, and because it was a potentially dangerous use, I have disabled this permanently.  If you wish to print to a system through winsock, please use one of the many good lpr daemons that are around.


The 'h' Option

If you run WFTPD with a command line argument of 'h' or 'H', then the program will run without an icon, and will not show up in the task switcher.  This means that WFTPD cannot be closed without exiting windows, and its options cannot be altered.  This is probably only useful for remote system administration, where (to quote an existing user) "you don't want bozos deciding they know how to rewire their systems".


Upload Announcement
Upload Announcement for WFTPD 2.0

WFTPD200.ZIP    Windows FTP daemon 2.00 for Winsock 1.1

Uploaded by the author (ideally).

WFTPD - the all round useful Windows FTP Daemon.

(As used by id Software, makers of Doom, Heretic, Wolfenstein, and many other great programs.  Also used at many other institutions - not counting site licences, I have over 700 registrations)

WFTPD has the following useful features:

o RFC compliance to 959 & 1123
o Support for the majority of FTP commands (it doesn't support the obscure ones for mail, etc.)
o Multiple logins and simultaneous transfers allowed
o Works with Mosaic / NetScape / Cello - even over remote links!
o Runs (tested) over most Winsock drivers (some people have reported occasional problems, but this is usually fixed by updating to the current version)
o Site can be made read-only, or read-only to anonymous users
o User-configurable time-out on hung/idle connections.
o Fast - I get 120-500K per second on average over 8 bit ethernet
o Secured access by means of password authentication, address-based host authentication, and the ability to restrict users to named subtrees of your directory structure
o Further security by means of user rights which may be set easily on any directories in your system - including those that don't yet exist
o Remote access to ALL drives on your system is possible
o Windows friendly - does not flash cursors while it is transferring, or hold up processing
o Can run 'invisible' - with no user access to the program
o No documentation has been plagiarised from any other program
o Easy configuration of user/password lists, security features, logging to file.  All features adjustable through menus - no need to edit clumsy INI files.
o Logs logins, anonymous logins, gets, puts, commands - what's logged is configurable
o Logs to file that can be read by other applications, including session number, time and date stamp.  This information is also logged to the screen.  Other Windows applications can read this log while it is open, and it can be transferred through WFTPD.
o Most strings can be edited in the resource information - for customisation, or translation
o Small - around 200K
o Over 700 registrations received - many for site licences.
o Microsoft 3D controls are used
o Tested on Windows '95
o Status bar display of count of users, and number of sockets in use
o Context sensitive help included on all dialogs
o Cute little icon

In addition, for the low price of $15, you get these features:

o Easily configurable greeting - the unregistered one tells people that you can't afford $15
o As many transfers per login as required - only 5 are allowed in the unregistered version before you have to re-login.  (Directory listings don't count towards this 5)  (And only 15 PASV transfers are allowed before having to restart the server in the unregistered version)
o Greater say in future features
o Peace of mind - can you sleep at nights knowing that your $15 may be the only thing standing between me and an overdraft/green card/new computer?


Changes Introduced in Version 1.9

(Minor version changes are at the bottom of this page)

The following features have been moved in this version:

o File|Security dialog is now under Security|User/Password
o Logging|Logfile dialog is now under File|Open Log
o File|Greeting dialog is now under Messages|Greeting

New items on the menu include:

o File|Close log - stops logging transactions to file, but carries on logging to screen.
o The Messages menu now contains Greeting (formerly under File), Farewell (for the logout message) and MESSAGE.FTP - when this toggle is turned on, any CWD operation will look for the file MESSAGE.FTP in the new directory, and if it exists, will display it to the user.
o The Security menu now contains User/Password (formerly File|Security), Host/Net (for restricting which hosts may log in to your server), and Rights (for assigning each user a different set of rights in each directory. Rights will be activated when I write the code to do it, probably in version 2.0.
o On-screen logging is now supported - this has been the most requested feature since the FTP daemon was first released!  Since my internet connection is often flaky, I figured I'd cut down on my incoming mail and actually put the feature in!
o RMD will not accept a parameter with ':', '\' or '/' in it - this way you have to CWD to a directory's parent in order to delete it.  This may seem cumbersome, but is a valuable security feature.  MKD has a similar restriction.
o CDUP and XCUP are supported, as is STOU, SYST, REIN.
o The title bar will display the log file when it is opened from the .INI file.
o If the backlog of stuff to send is bigger than the socket buffer, it's now expanded continually, and eventually when the information gets sent the buffer will reduce.  It'll do this in steps of 4K.
o I am still finding it difficult to open a file sharable by other processes, so the log file is still locked.

Minor version changes

1.9a - fixed a bug in the asynchronous message handling for trumpet users.
1.9b - fixed a really bad security bug that allowed unprotected access.
1.9c - fixed a tiny bug in the directory listing, that made it list times wrongly.  Also made the help file prettier!


Acknowledgements

I would like to acknowledge the following people for their help in producing this product. They are listed in more or less random order.

o The developers of the Winsock specification.
o The developers of QVTNet for producing an FTP server that was so awkward to configure, and which had so many bugs in, that I was prompted to write this program.  Also, for not fixing many of these problems, so many users seek out my program to replace QVT/Net.
o Peter Tattam, for producing a damn good Winsock implementation.  The cheque has been cashed, Peter - where's my registration number?
o Fred Whiteside (of Beame & Whiteside) for helping me find a version of the crypt function.  And Carl Beame for being friendly.
o Those first few registrations that made all the difference, and kept me going
o Chip Sparling, Bob Quinn, and all at FTP Software for sending me a PC/TCP Developers Kit in such a short time.  Unfortunately, it reached me too late for me to work on fixes to WFTPD to work better with PC/TCP.  For the moment, just keep increasing those buffers!  (Or upgrade - they have a new version out that I haven't been able to look at yet)
o Bob Quinn for changing the way PC/TCP worked so that developers like myself have an easier time of it, and for producing the winsock spec clarification document, which helped me realise all the mistakes I had made.  (And some of the ones winsock stack developers have made!)
o Steve McCarthy and everyone at SunSoft, for helping me find out how to deal with problems caused by old versions of PC-NFS. (The trick is to UPGRADE!)
o All of my 500+ registered users, and those using my program under site licences!  Without you, I would have stopped work on this program long ago (it's far exceeded what I personally needed it to do)
o Ben Edlund and New England Comics for producing The Tick, Paul The Samurai and The Man-Eating Cow.  It's great to see them (well, the Tick at least) on Fox every Saturday!
o Count Lazlo Stroganoff, Digby Spode and Hubert Carstairs (what are they doing now?)
o Mikes Flex, Channel, Stand and Hunt, and Anna Daptor
o The beta testers - those mentioned here, and those unmentioned (for various reasons, including but not limited to secrecy and forgetting who they were) - Bob Jaques, Chad Solomon (of many names), Adam Glick, and Ryan Simmons.
o And, much importance and a significant drum roll to my wife, for putting up with the amount of time I spend on this program, and for helping me to keep the business side working.
o My current employers, TEAM Development, who are pleased to have me working on this program on my own time, and who would be glad to contract out my time at work for any winsock development you would like me to do.


What is FTP?

FTP is the Internet standard File Transfer Protocol.  The WFTPD program attempts to provide the most useful and most often used elements of the daemon (server) side of this protocol, as described in RFC # 959, and amended in RFC # 1123.  I delude myself that I'm compliant with both RFCs.


What is a daemon?

A Daemon, also referred to as a server, is a program which will run in the background carrying out certain tasks while the main work of the processor carries on in the foreground.  The daemon is connected to by a client program, usually on a different computer.

The term derives from a word meaning a 'helpful servant', and unlike "demon", has no intrinsic connection to either good or evil.  The word is supposed to be pronounced "day-mon".

Doctor Who and the Damons is a completely different story.


FAQ:How Do I Register?
Look at the How To Register section in this file.  Please be sure to use the order forms provided in this section.


FAQ: Site Licences
Generally I ask for $500 for each 100 users.  This does not include the cost of source code. If you want to buy source code, please send me email, or contact me at the address in the How To Register section in this file.


FAQ: What Does Registration Get Me?
Firstly, you lose the limit on the number of files that can be transferred in a single session.  Also, you can transfer as many PASV connected files as you want (there is a per-instance limit of 15).  You can also modify the greeting and farewell messages.  If you have sent me an Internet-reachable e-mail address, you will be added to a mailing list, and kept informed of all new versions.  On the more esoteric side, you get a good feeling, and you encourage me to work on new versions and fix bugs.

Things mostly paid for by WFTPD:

Last year's tax bill
My wedding and honeymoon

Things I hope to be paid for by WFTPD:

A new computer (so I can develop faster, and so I can make Win32 versions)


FAQ: How To Get New WFTPD
Registered users are currently entitled to free updates whenever they are made, although there is a charge imposed for delivery through regular mail.  This charge is $5.  The unregistered shareware version should always be available from oak.oakland.edu in directory /SimTel/win3/winsock.  I also try to put the file onto ftp.cica.indiana.edu, ftp.demon.co.uk and sunsite.unc.edu - all standard winsock sites.  Oh, and I shouldn't forget Adam Glick's useful winsock site, b61563.student.cwru.edu (you may even recognise the server when you log in!).


FAQ: I'm Missing PCTCPAPI.DLL
You've fetched down the winsock.dll file from ftp.ftp.com, which only works alongside the full TCP/IP package produced by FTP Software, called PC/TCP.  This winsock is NOT free - either find one that is, or buy one of the commercial stacks that support winsock programs.  Heaven knows - maybe you could even buy FTP Software's PC/TCP!


FAQ: Only One Connection Allowed
You are using an old version of PC-NFS.  I believe that this is a problem with version 5.0, but it certainly is a problem with previous versions.  Please contact your dealer, and get the new version, or whatever patches might exist.


FAQ: I Can't GET Files
If you are using FTP Software's PC/TCP, this is something they are working on (as of 5/24/94), but they are extremely close to getting a good working version, so I hear.  You might want to check the ftp site ftp.ftp.com to see if a new version of winsock.dll is there that fixes your problem.  Note that this winsock.dll will only work with FTP Software's PC/TCP stack.

A similar bug is apparently inherent in the winsock supplied with Spry's Internet In A Box package.  I hear rumours that they have a patch that fixes the problem, but I've not yet received a reply from their technical support email address.


FAQ: Is My Winsock Stack Bad?
Not necessarily - it's entirely possible, since the winsock specification is so new, it's likely that there may be some parts of the spec that I read in a different way from the people who developed your winsock stack.  Winsock developers are working hard to make their stacks work with the most frequent of the disagreements, and I am also ready to change my program to work wherever it turns out I have a misconception.

If you think there may be a problem with your winsock stack, please email me, or technical support for the manufacturers of your stack.  Please note that I will not allow bug reports to degenerate into each side blaming the other - if your winsock stack providers will not work with my software, I will attempt to work with them, and produce incontrovertible evidence one way or another.  In an argument with a winsock stack provider, if we both blame each other, one of us loses a customer.  I'd like for us both to keep the customer, and to get more through word-of-mouth advertising (which is cheap and efficient)


FAQ: My Winsock is Version 1.0
This is a common misconception - my program is designed to work with any winsock stack that implements version 1.1 of the winsock specification (version 2.0 of the specification is just entering its design phase).  Most winsock stacks on the market implement version 1.1 of the spec, but to differentiate between different versions of their own stack, they give different version numbers to each copy of the stack.  Hence, PC-NFS is at version 5.1, PC/TCP is at version 2.31, and Trumpet Winsock is at version 2.0 rev. B.  All of these stacks implement an interface that is compatible with version 1.1 of the winsock specification.  Note that this information may be out of date by the time you read it - winsock stacks are constantly being updated.


FAQ: How Do I Get Source Code?
Not unless you are willing to spend some money - I've made sales of the source code to a couple of companies, and it's a little unfair on these people if I offer the code free to anyone else, or if I sell it for significantly less.  Feel free to contact me if you wish to discuss buying the source code.


FAQ: Why The Rude Message?
Two small points here - first, the unregistered version is generally designed for testing, before you register.  I'd feel very embarrassed if I was using an unregistered version of shareware to deal with customers, especially the influential ones - what kind of impression does it give to your customers when they find you are using them as a test case?  The second point is that you probably spent enough time complaining to me that you've already cost yourself (or your company) at least $15.

As another interesting point, I've had many people tell me that they registered specifically because they found the message amusing.

The message stays!


FAQ: What's In The Next Version?
The next version that I produce will probably be a 32-bit version for Windows NT & Windows 95 - with my wife heavily involved in supporting Windows '95, I'd be pretty embarrassed if I wasn't shipping a '95 compatible version by the time Microsoft ships Windows '95!.  Also, Look Here!


FAQ: When Is The Next Version?
Well, this is a tough one.  I'm currently employed once again, and I don't have a whole pile of time on my hands. I don't know when I'll be able to start work on the next version.  I am, however, fairly committed to producing new versions, since I feel a certain responsibility to my users to provide them with the best program I can.


FAQ: Address Change
My email address recently changed from "alun@wst.com" to "alun@fc.net" since I no longer work for Welcom Software Technology, and have moved to Austin.  I now work for TEAM Development, where overtime means working until 7pm (rather than 11pm), and you actually get paid for working extra hours.

After that, it changed to alun@eden.com, since Eden Matrix is about half the cost of Freeside Communications.

My current (and final) mail address is alun@texis.com.

I know this is all confusing, but now that I have my own domain, this shouldn't ever happen again.  Mail sent to my old addresses should be forwarded to my current address - the only exception to this is WST, who seem to resent me for some reason.


FAQ: Winsock Stacks
I use the Trumpet winsock at home - this can be fetched from many public ftp sites.  It costs $20 to register, and seems to be pretty robust.  The canonical site is ftp.trumpet.com.au, but it is very difficult to log onto, because of its high traffic.

At my previous job, I used the Microsoft VxD TCP/IP stack, which is available for free from the ftp site ftp.microsoft.com - it should be in directory /peropsys/windows/public/tcpip.  This is a fairly solid stack, and promises to be the basis of TCP/IP support in future versions of Windows.  Currently, this VxD stack works only on Windows for Workgroups 3.11.  The Windows '95 TCP/IP implementation is very good, and with the addition of a scripting package for dial-in SLIP/PPP connections, is the program I'll be using when I finally go to Windows '95.

Also available is the PC/TCP stack, from FTP Software, PC-NFS from Sun, Chameleon from NetManage, and several others.  Check in computer magazines for more details - look under network software.  If the advert doesn't explicitly say that it's winsock compliant, call the company before buying it.  WFTPD will only work on winsock compliant stacks.  Also, you could try reading the newsgroup alt.winsock, which regularly has discussions on the various winsock implementations.


How do I make WFTPD work with Netscape / Mosaic / Cello?
This is an awkward topic to get to grips with for many people, yet for others it is blindingly obvious.  First, realise that any attempt to access your machine through an ftp URL will usually be through the anonymous account, and will have all the restrictions which that account faces.

Next, remember that the URL is an absolute path, not a relative one - you must include all the directories in the URL, and if you are changing drive from the anonymous user's home directory, you must also include the drive specification.  Further complicating matters is the fact that the ':' character is special in URLs, and so has been replaced by the above programs with the '|' character (pipe, or vertical bar).

With this information, you should be able to construct your own URL for these applications, and make sure that they work.  Don't forget, if they fetch a file from your ftp server with the extension ".htm", it will be treated as an html file - you don't have to run an http daemon to serve straight HTML files - only for forms, cursor mapped images and the like.

A later version of WFTPD will make this a lot easier, by making any restricted user only see his home directory and below, like on many Unix systems, where the 'chroot' command is used to make it look like the user's home directory is in fact the root directory.


Some of my users don't seem to be listed
This is usually due to a blank user entered in a previous version of the software (the current version will not accept a blank user name).  To fix this, you will need to edit your WFTPD.INI file, and in the [passwd] section, you should find an entry beginning with an '=' sign.  Remove this line - it's not connected to any user - and your problem should go away.  The current version of WFTPD will automatically remove these entries if it finds them.


Have you written any other servers?
I've written one other winsock program so far - "cooksock", which was a cookie server.  This reads in a file of "fortune cookie" type quotes, and for each connection received on port 17 (the well-known port for quotes), it sends out one of these quotes and then disconnects.

I don't think that a telnet server would be worth the effort it would require, since there are a lot of awkward decisions to be made as to how best to represent the DOS screen over a terminal line, especially when you cannot guarantee what type of terminal is at the other end.

There are other mail servers out there, and I'd be at quite a disadvantage trying to beat any of those.

I've been giving some consideration to writing a news server, but there's just no way it could happen on my current machine - I need more hard-drive space, faster processor, more memory, etc.  So, I'm hoping to get enough money in the coming weeks/months to buy myself a Pentium, at which point I can perhaps start work on the news server, not to mention producing new versions of WFTPD a little sooner.


Frequently Asked Questions

Select the question you would like to ask, and the answer should pop up.

(Don't feel embarrassed if you have to ask any of these questions - if lots of other people hadn't asked them, they wouldn't be here.  And please email me at "alun@texis.com" if you don't understand the answers, or if you have a question that doesn't seem to be represented here.  Who knows, it may be a question that I forgot to put here, or one that will be in a future list?)

Q. How Do I Register?

Q. What Does Registration Get Me?

Q. Why did your email address change again in this version?

Q. How do I get a new version of WFTPD?

Q. Why is WFTPD 'crippleware'?

Q. What do you offer in the way of site licences?

Q. When I run your program, a dialog says I am missing PCTCPAPI.DLL - why?

Q. My server only allows one connection, before I have to restart it - why?

Q. Why can I only transfer about the first 32k of all files, or not transfer anything at all?

Q. Is my winsock stack faulty, since it won't work with your software?

Q. You say you require winsock version 1.1 compliance, but my stack is version 1.0.  Where can I get the updated version?

Q. I'm interested in learning winsock programming, or using your program commercially - can I get a copy of your source code?

Q. What's going to be in the next version?

Q. When are you going to ship the next version?

Q. What winsock stacks do you know of that I might fetch?

Q. Why do you have such a rude message in the unregistered version?  ("My customers don't appreciate seeing this when they log in, and some of them are very influential people!")

Q. Why do I get "WSANODATA - no service record" warnings on starting WFTPD?

Q. How do I set my ftp server up for Mosaic / Netscape / Cello?

Q. I tried to pull down the list of users, but I don't get some of the users I know I've added - why?

Q. Have you written other servers?  Can you write a [telnet, news, mail] server?

Q. How do I find your current email address, or the current version of your program?


Look for these features soon...

Please note that none of these features have yet been written or designed, and some of them may not yet make it into wftpd.  Please tell me which features you'd like to see.  If there are other features you would like to see, please email me, and I will either add them to the wish-list, or explain why I don't think I want to implement them (sometimes people suggest things that surprise them in their consequences - one user suggested a feature that his system administrators told him would enhance the system security.  I was able to prove to him that implementing the suggestion would actually lead to a decrease in system security.  I wonder if those system administrators still work there?)

(The ordering is most definitely not indicative of preference)

Suggested Features (the Wish List)  If there are other features you'd like to see, email them to me at alun@texis.com :

o Access limited at various times to different numbers of users
o Different limit on number of Anonymous users
o User configurable limit on number of transfers per login or user.
o All users restricted to their home directory should see that as root, so as not to tempt them
o Tidy up on-screen log handling - perhaps allow access to the full log file?
o View Current connection status (using a button or a set of slider bars?).
o MESSAGE.FTP's name should perhaps be changable, and it should not be PUTtable.
o Check back on host address->name->address mapping for security's sake.
o Note the current IP address and/or host name on startup
o Output the Winsock description string in the log file, and in response to the STAT command
o Produce a 32-bit version for Windows '95
o Verify authenticity of Zip files on upload (tricky, but who knows?)

Bugs (or misfeatures) to (try and) fix:

The only known bug so far is that, with Trumpet Winsock in certain configurations, users cannot seem to get a directory listing.  Since I get the appropriate return value from Trumpet Winsock, but no signalling event, I am inclined to believe it is a problem with Trumpet Winsock, and not with WFTPD in particular.  This is borne out by the fact that I can only reproduce it on some of the systems on which I run the Trumpet Winsock.


The Rude Greeting Message
The "Rude" Greeting Message

The message that we are talking about, in case you forget, is:

This copy of WFTPD is NOT REGISTERED

Shareware can only improve if supported by its users.

The easiest way to support shareware is to register it.

This program costs only $15 to register.

To register this program, or receive new details on it, send email

to alun@texis.com (Alun Jones), or snail-mail to Alun Jones,

11028 Jollyville Rd #260, Austin TX 78753-4836 USA

As added incentive to register, you will be restricted to

5 transfers - to get more transfers, please re-login.

Please note - Alun Jones is only responsible for the software

that this site runs, and is not responsible in any way for either

the content of this site, nor its location on the Internet.

The only complaint I treat as valid is the complaint that you have not yet had time to send me the money, or that I have not yet responded to your registration.

The basic point is that WFTPD is NOT free software - it is shareware, which means you are welcome to distribute the unregistered version, and you are welcome to try the unregistered version out to see if the registered version is likely to fulfill your needs.  I would hope that you are either not likely to test unregistered shareware on any business clients, or that you keep them fully informed that they are participating in a test of unregistered shareware.  I doubt that you will find any test users that will protest at the simple message above.


What's new in this release
What's new in release 1.95

I think I've fixed the following problems:

o ABORting a transfer should work properly now.
o Leading spaces are not stripped from messages stored in the INI file
o MESSAGE.FTP is now displayed on all logins.
o "GET *.EXE" (NOT MGET) no longer produces "Internal Application Error".
o The scrollbar always shows up, even if WFTPD is started minimised.
o Memory leaks on closing WFTPD should be (mostly) fixed.
o Memory hogging is reduced, and logging is much improved, because I stopped fighting the system!

I also enabled these new options:

o Use the port address in the services file (if present), otherwise default to 21.
o PASV mode support (for Mosaic).
o Fetching files with full path names while maintaining security (for Mosaic).
o The Security options "Enable Security" and "Allow Anonymous" have moved to underneath the "Security ; General" dialog from the "Security ; User Security" dialog.
o The "Security ; General" dialog has an option to limit the number of users that can connect.  (Setting the limit to 0 makes it unlimited.  If you want to disable logins, simply close the ftp daemon!)
o All "Add/Alter" buttons now read "Update" so novice users can understand.
o I have tightened up the "PUT" functionality, so that hopefully it'll cause fewer problems.
o Directories don't show up any more in NLST results - only regular files.
o LIST and NLST results are now sorted before being output.
o LIST commands can no longer list directories you don't have access to (part one of beefier security)
o If users are added with no password, they get placed properly into the [passwd] section.

I have completely written the networking subsystem, so PUTting has sped up, and the greedy option now has no effect.  GET commands no longer tie up the machine, either!

This version seems to work well with Beta 14 and above of the Trumpet Winsock - Peter Tattam has fixed some messaging problems that were causing me trouble.


About the author

Alun Jones is an English programmer, who married an American PC specialist in October 1994.  He's very pleased that there have been some site licences that allowed him to get married and go on honeymoon without going too deeply into debt.  The next big site licence or source licence should allow him to buy a new machine, a new compiler, and a new operating system, so that he can produce both a Windows 3.1 version and an NT/Windows 95 version.

Alun appreciates all user feedback, and is smart enough to know that if he can fix a bug, it'll help him make more money because it's easier to sell a better program.  What he doesn't appreciate is people who complain about his program (especially in public forums), without first checking with him as to whether he might have already fixed the problem.  This is especially annoying when the bug referred to was fixed several months before - you have been warned!  :-)

Alun now works for TEAM Development, an Austin-based consulting firm - if you'd like him to work on winsock programs for you, you might want to talk to Paula Johnston at TEAM Development.  The address of TEAM Development is 5408 Highway 290 West, Austin TX 78735.  The phone number is (512) 892 6035, and the fax number is (512) 892 1097

What Alun really hates is Barney - the bloated purple styrofoam dinosaur.  Kids should be encouraged to imagine, yes, but they should lead their own imagining, not have it led by some overweight Jurassic remnant with an apparent IQ lower than the average speed limit in this country.

He's also not on the best of terms with whatever genius gave him a new phone number that used to belong to someone called "Alex Jones".  Reeal smart!

About the authors wife

The authors wife, Debbie, is a native Texan who works for an unspecified Microsoft Support Partner on the Windows 95 Launch Team and is waiting impatiently for Aluns 32-bit Windows 95 long file name aware, cool GUI version of this awesome software.

Just so that you, the savvy user knows, Aluns company is owned by his wife.  For you federal and state government organizations, this means minority owned !!!  (Get the picture ? :-))

Debbie really hates Information Super Highway metaphors.  If the computer people of America rise up together, we can beat this thing !!!  Please dont perpetuate these silly, ignorant sounding analogies.

Debbie would like to thank yall for all of your registrations; they helped to pay for the pentium she is using to type this with.  This gives Debbie half a chance at getting to use at least one of the two computers in the Joness household.

One final editorial note:  This system we are currently using is about to be sent back to Midwest Micro and replaced with another system from Austin Direct.  We wont get on our soap box about this in the help file, but if you want to know the gory details, email us and well tell you about five weeks of Hell.


General Security Dialog

The General Security dialog is accessible from the Security menu, and has five items of interest, besides the usual OK and Cancel buttons:

"Enable Security" - when checked, wftpd will ensure that nobody logs in without entering a valid user name, and its associated password.  If not checked, users may log in with any name and password whatsoever, with full access to all areas of your disk.

"Allow Anonymous" - Anonymous ftp is the term for logging in to an ftp daemon as "anonymous", or "ftp", at which point you are asked to enter your email address as your password.  Hence, anyone can log in to your machine when this option is checked - they do not need to know a password, but they will be restricted by your choices in the Users / Rights Security dialog.

"Allow Uploads" - when checked, all users will be allowed to upload files to your machine.  When unchecked, wftpd will make your site "read-only".

"Allow Anonymous Uploads" - When checked, anonymous users will be allowed to upload files (so long as "Allow Uploads" is also checked, and obviously, they can't log in if "Allow Anonymous" isn't checked).  When unchecked, anonymous users will only be able to download files.

"Maximum number of users" - this is the largest number of users that may be logged into your server at any one time.  Each user requires one socket for his command and output connection, and each time they transfer a file, or do a directory listing, they will take up another socket for the duration of that transfer/listing.  By restricting the number of users that log in, you will make sure that your machine runs smoothly (it has less to do!), and that users will not face messages telling them that they cannot transfer a file because of a network error, when there are several users on at once.

Entering 0 as the maximum number of users sets the ftp server to accepting any and all incoming connections.  (If you want to set it to not allow any logins, simply close it down!)

"Timeout for inactive connections" - if a user stays logged in to your server, but does nothing, he's wasting one of your sockets, and hogging system resources.  You might want to put a value in here - often about 5 minutes (which is 300 seconds) should be sufficient for most users.  Once this period of time has gone by on any connection with no activity, the connection will be broken, and the user informed that he has been disconnected due to inactivity.  If you put a 0 here, then noone will be disconnected for being idle for too long.

Note that timeouts also catch connections that have died in unusual circumstances, and clears them up, too.


Registration Information

Order forms must accompany all registrations.  There are three different methods of receiving your software, with their own accompanying order forms, which can be found below.  If I receive a cheque or a purchase order without an order form (or which cannot easily be tied in to a previously received order form), it will be returned unprocessed.  Same goes for order forms received with no payment, or indication that payment is following or payment by any check or money order not drawn on a United States or United Kingdom bank branch.  (This means no Canadian Mandat Poste or Japan International Postal Money Orders.)

If you have to send your order through a third party (i.e. a purchasing department), please impress upon them that they must include an order form, or that if one has already been sent, they must include enough information for me to track down that form.  This has happened on numerous occasions, and it's taking me far too long to process orders such as these.  So far I have received one purchase order in a language I don't understand, one order form with no payment in a language I don't understand, three order forms with no payment, two cheques with no order form, and several purchase orders that did not specify a delivery method.

Payment may be made either in U.S. dollars, or in pounds sterling (i.e. English money).  All cheques in dollars should be made out to "Texas Imperial Software".  All cheques in sterling should be made out to Alun Jones.  Not paying attention to this will result in your registration being returned to you.

The price for this software is either US $15, or G.B. £15.  Add 5 (dollars or pounds) if you want me to send you a disk with the software - if your delivery method is FTP or Email, delivery is free, as are upgrades (for the moment - this policy may change at a later date).  Whatever method you choose, I require that your payment be made at no cost to me.  For this reason, I cannot accept credit cards, foreign cash, cheques or money orders, or cheques or money orders that cannot be drawn without charge on a bank in the United States, or the United Kingdom.  If your cheque bounces, I will ask for a money order for the value of the cheque plus a $5 fee for the returned cheque.

Please note - Japanese International Postal Money Orders, and Canadian Mandat Poste are not acceptable - they cannot be cashed without a substantial charge (at least half the registration cost!) and will be returned unprocessed.  You MUST send payment that specifically mentions a bank branch within the United States or the United Kingdom as a place to cash the payment, or you will find your cheque/money order coming back to you.  If you send a money order, keep the receipt just in case.

The cost in pounds is slightly more expensive, but usually cheaper than getting a money order in dollars, apparently.  Please, if neither of these is your currency, make sure that your purchasing department knows the price of the software is based on one of these two currencies - occasionally, the value seems to have been converted to and fro in the purchasing process, and I end up with less money because of it!

Software is sent through your suggested delivery method soon after receiving either a cheque, cash, money order (for US dollars or English pounds), or a purchase order.  If you use a purchase order, make sure it clearly states that the order is for "WFTPD - Windows FTP Daemon" - I am not sufficiently trusting to assume that an order for "General Lab Supplies" covers my software (Yes, I've been sent one of those - happily, later I received a valid purchase order, and this person is currently a registered user).

The regular mail address for sending order forms, payments or purchase orders in US dollars only is:

Texas Imperial Software

11028 Jollyville #260
Austin TX 78759-4836
USA

Or, if your payment is in pounds sterling:

Alun Jones (WFTPD)
47 Sugden Road
Long Ditton
Surrey
KT7 0AD
UK

Order forms and purchase orders can also be faxed to me at (+1) (512) 346 2803.  E-mail correspondence for comments and suggestions should be sent to "alun@texis.com".  Note this is a change from my previous e-mail address.  (Why?  Click here)

It often helps me if you can tell me how you use the software - I have found some New and Innovative Uses for an FTP daemon out there.  This will allow me to determine whether all the features of the software are useful, or whether they need to be rewritten.

Click here for pricing on site licences.

The order forms are separately listed for:

Delivery by email or ftp

Delivery by 'regular' mail - this costs $5 or £5 extra, and frequently takes me longer to arrange.

Either of these order forms may be printed from Windows Help.  If you do not have a printer, please make sure that all the items listed on the order form are present in whatever you send to me to register.


Order Form for Delivery by FTP or Email
Order Form for Delivery by FTP or Email (version 2.00)

Texas Imperial Software

11028 Jollyville #260

Austin, TX 78759-4876

Name: 	_______________________________________________

Company Name:  	_______________________________________________

Address:  	_______________________________________________

_______________________________________________

Phone Number:  	_______________________________________________

Delivery Method:	               E-Mail                   FTP      (mark at least one)

E-Mail Delivery by:	                   MIME                         UUencoded      (mark one)

E-mail Address:  	_______________________________________________

(If not Internet, please specify.)

 (For FTP delivery, the following three entries are all required - I will not deliver wftpd to an anonymous account under any circumstances.  Please remember to be careful about upper/lower case distinctions)

FTP Site:	_______________________________________________

FTP User Name:	_______________________________________________

FTP Password:	_______________________________________________

QTY	Price Each	Total
	$15.00
If payment is made in pounds sterling, the cost is £15 per

copy and should be payable to Alun Jones.  Only checks

drawn on US and UK bank branches will be accepted.

For dollar payments, send this order form along with your check to:  Texas Imperial Software, 11028 Jollyville #260, Austin, TX 78759-4876, USA.

For sterling payments, send this order form along with your check to:  Alun Jones (WFTPD), 47 Sugden Road, Long Ditton, Surrey, KT7 0AD, UK.

Please contact Alun Jones at the above address or e-mail alun@texis.com for site licenses, comments or suggestions.

As this software is shareware, there is no warranty implied or otherwise, nor is support provided.  However, if you discover any bugs or problems please contact the developer at the above e-mail address.


Order Form for Delivery by 'Regular' Mail
Order Form for Delivery by 'Regular' Mail (version 2.00)

Texas Imperial Software

11028 Jollyville #260

Austin, TX 78759-4876

Name: 	_______________________________________________

Company Name:  	_______________________________________________

Address:  	_______________________________________________

_______________________________________________

Phone Number:  	_______________________________________________

(The E-mail address is required if you wish to be kept informed of new versions.)

E-mail Address:  	_______________________________________________

(If not Internet, please specify.)

QTY	Price Each	Total
	$20.00
If payment is made in pounds sterling, the cost is £15 per

copy and should be payable to Alun Jones.  Only checks

drawn on US and UK bank branches will be accepted.

For dollar payments, send this order form along with your check to:  Texas Imperial Software, 11028 Jollyville #260, Austin, TX 78759-4876, USA.

For sterling payments, send this order form along with your check to:  Alun Jones (WFTPD), 47 Sugden Road, Long Ditton, Surrey, KT7 0AD, UK.

Please contact Alun Jones at the above address or e-mail alun@texis.com for site licenses, comments or suggestions.

As this software is shareware, there is no warranty implied or otherwise, nor is support provided.  However, if you discover any bugs or problems please contact the developer at the above e-mail address.


Why is WFTPD crippled?
Many people use the term 'crippleware' to refer to software that is restricted in some way in its unregistered form, and some people feel that 'crippleware' should not be encouraged.  I also feel that this should be unnecessary, but for reasons explained below, I have decided that I have to restrict the shareware version.

About five years ago, I wrote an HPGL to Postscript translator, HP2PS for short.  It apparently served its purpose rather well, and I decided to release it and ask that people simply send me some portion of the money they believed it was worth to them.  Over three or four years of answering email, fixing bugs,etc, still noone had sent me a penny.  The final straw came with Randy Bounds and Sharon Massey of Nicholls Research Laboratories phoned me to discuss a couple of bugs and suggested features.  They offered to pay me once I had fixed the bugs and added their features, and so I set to work.  After finally fixing their bugs, and sending the new version off to them, they now don't return my phone calls.  What a surprise.

Then came WFTPD - in October 1993, I had something that I thought other people could use, so I put it out on the net, with no restrictions, and a registration fee of $20.  In the two months that followed, during which I added many features, two users registered.  I then decided to restrict the program as you see it now, and since then I have had on the order of one new registration every day - each site licence is counted as one registration here.

My point here is that if I had not restricted the software, I would have received so few registrations that I would have given up working on it, and there would not be a WFTPD program today.  And if Nicholls Research want to register WFTPD, they can pay in advance this time, please.


What's New in Release 1.96

Netscape & Mosaic compatibility checked - everything seems to work okay now.

RFCs 1123 and 959 are now complied with - this should mean your client can talk to me quite happily.  If not, there's a chance your client software may not have full compliance with these RFCs!

The NLST command lists directories as well as files, so all your Mac users will be happy.

Each new connection results in a log message (If you log Logins), detailing the IP address of the client connecting to WFTPD.

3D Controls are added - you'll need to have a copy of CTL3DV2.DLL in your WINDOWS\SYSTEM directory and nowhere else!

My address has changed once again - now, I live in Austin.

Two new options on the General Security dialog - "Allow Uploads" and "Allow Anonymous Uploads" - these should be self explanatory, but are explained in more detail under the topic for the General Security Dialog.

MESSAGE.FTP bug fixed - there are now no spurious blank lines, or extra numbers sent in the message.

The CWD command now accepts strings ending in slashes.  (DOS doesn't!)

The bug whereby the user count was often exceeded with no users logged in has been fixed.

The occasional hanging of the ftp daemon has been traced, and fixed.  Hopefully this can be left running for weeks without causing trouble.

A timeout facility has been added.  The server is only fully RFC 1123 compliant when the timeout value is set to a non-zero value (setting it to zero simply disables the timeout).  Please use this feature, since it means that people will not be able to clog your server, nor will crashed connections keep hanging around.

Most of the response messages have been put into the resource portion of the executable, so that you can modify them with a resource editor.  If you edit these strings, please bear in mind that sequences beginning with a '%' character are special to C, and they should not be altered or transposed.  If you do this, the program will crash.

The Logging options have been moved to their own separate dialog - now, you can enable/disable several options without having to keep opening the Logging menu.

The log file itself is now sharable while the program is running, so you can read it in other programs while WFTPD runs!

On closing WFTPD down, all transfers are interrupted properly, and all control connections are closed safely.

Entering a command "dir c:\dos" is now the same as "dir c:\dos\*.*" (assuming the directory c:\dos exists, that is!)

Above all, this version should be much more stable than 1.95, which I admit was put out in a bit of a hurry.


Why do I get "no service record" warnings?
Prior to version 1.95, I simply used port 21 in TCP to listen for incoming ftp connections.  Many people asked to be able to start the ftp server listening on alternate ports - for example, to get around some firewall restrictions.  So, I figured, if I ask winsock what port it's been told "ftp" is, then users can easily change that value (usually in the "services" file).  It now turns out that many of you do not have this file, or have not got it in the right directory.  Each winsock is different, but the Trumpet Winsock (which I get more of these reports on) requires the "services" file to be in the same directory as "winsock.dll".  It may also benefit you to know that the protocol and hosts files should be in this directory too, on Trumpet Winsock.  If this information makes no sense, please read the instructions that are supplied with your winsock stack, and if that does not help, please contact your winsock supplier, since I don't know anything more than this.


What's New in Version 2.0

Well, quite obviously, the Rights Security dialog, along with its attendant increase in security is the new item that's in right now.

I've worked on the PUT procedures - now it only logs a PUT once, instead of three times.  There's a little more work in this area still to be done, but that may fix most problems.

Context sensitive help should now exist for all dialogs - try it with either F1, or the Help button on each dialog.  The About box should work properly now, too.

The scroll bars now work properly, and text output should be cleaner.

More work on putting - STOU now works as it should (ignore file name, and generate a random one)

Users now cannot log in if their home directory does not exist.

The status bar now displays the current count of connected users and open sockets, so that administrators may decide whether the system needs to be rebooted.


Why Shouldn't I Log Winsock Calls?

The main reason that you shouldn't enable Winsock Call logging is that it takes up an awful lot of space with messages that basically say Status OK at some line or other, and because these messages can occur very frequently indeed, you will rapidly fill your log file with messages that make no sense to you if you don't have the source code.  Also, because it now has to spend time logging calls that were previously finished very quickly, you will slow your server down to a crawl, and also the machine that it runs on!

The only reason this option is here is to assist the author in tracking down specific problems that you are experiencing - even then, many problems can be traced without even having to try the Winsock Call logging.


Interesting Email I've received
Interesting Email I have received:

This is reserved for interesting emails I have received, obviously from people who haven't quite grasped the concept behind WFTPD - the names have been changed to protect the ... well, the names have been removed.

Alun;

    I really liked your gifs you had on line. The young ones where the best.

I'm assuming your FTP site will not be up for very long... I'd like to

some more of these. I only got a 1/2 dozen or so. Do you know where I can

get any vidoes of the young ones?

Sure - BBC Enterprises... :-)


What's your current address and version of WFTPD?
How do I get up to date information on you and WFTPD?

The simplest way is to register and include an email address with your registration - then, I'll send you email announcing each release, and how to get your copy.

To find the newest shareware copy, you should look in the SimTel archives, whose main mirror site is ftp://oak.oakland.edu/SimTel/win3/winsock - this is where you'll find WFTPD.

To find my current email address (which should always be alun@texis.com), and my mailing address, simply use a 'whois' program (accessible from most Unix shell prompts, and also available as a winsock program at SimTel), and ask for AJ11 - that's me. (note that's the letters "AJ" followed by the number eleven)

Also look for the new World Wide Web page compliments of Jack Jordan at Nafta Net - the URL is http://www.nafta.net/texis.