home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 5 / ctrom5b.zip / ctrom5b / WINDOWS / INTERNET / WFTPD195 / WFTPD.TXT < prev   
Text File  |  1994-10-19  |  20KB  |  429 lines

  1. Alun Jones                           WFTPD 1.9 Documentation
  2.  
  3. 1910 Westmead 3702
  4. Houston TX 77077, USA
  5.                             WFTPD
  6.                Windows FTP Daemon Version 1.95
  7.                       For Winsock v1.1
  8. Self-congratulatory Introduction
  9.  
  10. Welcome to WFTPD, and many thanks for caring to read the
  11. documentation.
  12.  
  13. For those of you new to Internet terminology, FTP is a
  14. standard communication protocol to enable file transfer
  15. (hence its name, deriving from File Transfer Protocol).  A
  16. 1Daemon is a program that sits in the background waiting to
  17. serve other applications.  It is commonly also referred to
  18. as a server.
  19.  
  20. This program is an attempt to provide most of the
  21. functionality associated with this protocol.  Since the
  22. program is still in development, and does not hold all the
  23. features defined in the standards document for FTP, it may
  24. not be suitable for all purposes.  It is, however, suitable
  25. for a great many purposes that occur commonly amongst users
  26. of FTP programs.
  27.  
  28. This program has certain advantages over many of the
  29. commercial implementations.  The first, and most obvious, is
  30. its cost.  If you can accept certain limitations that I have
  31. placed on the software, the cost may be nothing, since you
  32. are not forced to send me money to use this software.  A
  33. registration fee of $15 is suggested, and the benefits of
  34. sending in your registration include:
  35.  
  36.          Automatic notification of any new versions
  37.          Lifting of all restrictions on the shareware
  38.           version (only five transfers per session, and
  39.           impolite greeting and farewell messages)
  40.          A warm, fuzzy feeling
  41.          The likelihood that I will be sufficiently
  42.           interested to produce a new version
  43.          More of a say in determining new features
  44.  
  45. Instructions on registering are included in the file
  46. REGISTER.TXT, as well as at the end of this file.
  47.  
  48. Other advantages over commercial implementations include
  49. that this program has been written from scratch to be
  50. compatible with the Winsock specification, rather than any
  51. particular implementation.  This gives it a greater chance
  52. of working with those winsock stacks that fully comply with
  53. the Winsock v1.1 specification.  The program has been
  54. written solely with Windows in mind, and is not a port of
  55. anyone else's implementation.  This allows it to be more
  56. efficient in the Windows environment.
  57.  
  58. Well, enough sales talk, and on with actually documenting
  59. this program.
  60.  
  61. Documentation begins here!
  62.  
  63. WFTPD can only be run on top of a winsock v1.1 compliant
  64. TCP/IP stack.  It has been used by many people on a variety
  65. of different stacks.  It seems to work very well on top of
  66. the shareware Trumpet Winsock available from most ftp sites
  67. and shareware archives as TWSK10A.ZIP.  The current beta
  68. version, 24, works a lot better for this program.
  69.  
  70. If on starting WFTPD, you receive an error "Cannot Find
  71. WINSOCK.DLL", or a similar message to say that Windows
  72. cannot find the WFTPD executable, this is because a Winsock
  73. compliant stack has not been installed correctly on your
  74. system.
  75.  
  76. As a shareware application, WFTPD has no warranty, either
  77. express or implied, about its suitability for any purpose.
  78. Support is not guaranteed, nor are future updates.  The
  79. program is offered on an as-is basis to any users, and the
  80. author and distributors of this program are not liable for
  81. any damage or loss caused by the use, misuse, abuse or
  82. talking-moose of this program.  Similarly, the author and
  83. distributors are not liable for any damage or loss caused by
  84. any portion of this code or documentation, no matter how
  85. poorly written.
  86.  
  87. WFTPD is distributed through shareware archives as one
  88. executable, one help file, and a few ancillary files, of
  89. which this is one.  To run the program, all that is required
  90. is the executable, although you may wish to keep the help
  91. file around for those moments where you have forgotten what
  92. you read in this document.  The help file should be kept in
  93. the same directory as the executable.
  94.  
  95. As with so many other windows programs, WFTPD creates a file
  96. with the extension ".INI" in the windows directory.  (If you
  97. run the program as "WFTPD.EXE", the INI file will be
  98. "WFTPD.INI")  It is not necessary to edit anything in this
  99. file directly, since all operations are accessible from menu
  100. options.  It is advised that you NOT edit the INI file in
  101. normal operation, since there is a certain amount of
  102. validation of your input that is done when entering items
  103. through the menus.
  104.  
  105. The menu structure has been designed to be as intuitive as
  106. possible, while still providing the required functionality.
  107. The menus are outlined individually below:
  108.  
  109. File Menu
  110.  
  111. From this menu, all the file operations are performed.  The
  112. two file options are "Open Log" and "Close Log".  These
  113. options define whether any enabled logging information
  114. (q.v.) will be output to a file, and which file this
  115. information is output to.  Any currently open log file's
  116. name is displayed on the title bar of the application.  If
  117. the application is closed (exited) while a log file is open,
  118. that file will be reopened on re-starting the application.
  119. If a log file already has any contents, the new logging
  120. messages will be appended.  For this reason, it is advisable
  121. to make a regular investigation of your log files to ensure
  122. that they have not grown too large.
  123.  
  124. There used to be another option on this menu, "Greedy" -
  125. this was for a feature that has been superceded by a better
  126. internal loop for send/receive.
  127.  
  128. The final command on the File Menu is the Exit command,
  129. which closes down the program.  It is important on some
  130. Winsock stacks to close this program down BEFORE exiting
  131. Windows, since there is currently a bug that leaves a
  132. 'listener' process active for ftp, which means that should
  133. you re-enter windows without restarting your TCP/IP stack
  134. (often requiring a reboot), you will not be able to start
  135. ANY ftp servers, and incoming ftp requests will get lost.  I
  136. view this as a bug in the underlying TCP/IP implementation
  137. of the relevant Winsock stacks, since when Windows closes
  138. down, they should close down all TCP/IP connections that
  139. were activated under Windows.  (The Winsock spec touches on
  140. this issue)
  141.  
  142. Edit Menu
  143.  
  144. The only option here, Copy, has been greyed out - this is
  145. reserved for future expansion, to allow you to copy parts of
  146. the on-screen log information to the clipboard.  Basically,
  147. I haven't been able to get around to writing the code for
  148. this part!
  149.  
  150. View Menu
  151.  
  152. This has one option, "Status Bar".  This toggles the display
  153. of the status bar on the bottom line of the screen display,
  154. which will contain a on-line description of whatever command
  155. is currently highlighted on any menu.
  156.  
  157. Logging Menu
  158.  
  159. This is where decisions are made as to whether logging is
  160. performed, and what information is logged.  The first
  161. option, "Logging On", enables the logging of items checked
  162. below the separator, and provides a quick method of turning
  163. on or off all log information.  "Clear Screen" clears the
  164. window of all on-screen logging.  This is a non-reversable
  165. process.
  166.  
  167. Underneath the separator (the horizontal line) are the
  168. options describing what information gets logged.  "Gets"
  169. enables logging of any transfer FROM the WFTPD system.
  170. "Puts" enables logging of transfers in the other direction.
  171. "Logins" enables a log of every non-anonymous user who
  172. connects to your system, and "Anonymous" enables logging of
  173. the anonymous connections.  "Commands" enables logging of
  174. all other commands issued by connected FTP clients.
  175.  
  176. The last, and perhaps most dangerous, option is "Winsock
  177. Calls".  This is included solely to aid in the isolation of
  178. faults between WFTPD and your Winsock stack.  Since the
  179. Winsock specification is relatively new, there are some
  180. areas where the writers of Winsock stacks may not have got
  181. it 'right', and some areas where they are not necessarily
  182. 'wrong', but disagree with the interpretation I make of the
  183. winsock spec.  If you enable this option, every call to the
  184. Winsock stack will be logged, along with an error code.  An
  185. error code of 0 means no error, and on any "[signal]" line,
  186. the error number is the type of signal received.  The only
  187. other error number to be expected is 10035, which means that
  188. the transfer of data blocked - this is a normal condition
  189. for any network connection.  Any other error condition may
  190. need investigation.
  191.  
  192. Message Menu
  193.  
  194. This controls various messages that users see.  The first
  195. two items, "Greeting" and "Farewell", will put up dialogs to
  196. allow you to enter up to 20 line messages to be displayed on
  197. entry into, and exit from, the WFTPD system.  In the
  198. unregistered shareware version, these dialogs come up, but
  199. may NOT be edited.  I apologise if the message seems rude to
  200. you, but please don't be a self-righteous ninny about it - I
  201. have had several people complain that they cannot reasonably
  202. test the program with these messages in.  I believe this
  203. argument is phoney - if you are testing the software, I
  204. would hope that $15 is a drop in the ocean compared to the
  205. cost of your (and your testers') time, and I would also hope
  206. that if you have other people connecting into your 'test'
  207. site, it should be no problem to inform them that this
  208. message is due to your testing an unregistered shareware
  209. product.
  210.  
  211. The third item on this menu, "MESSAGE.FTP" is a toggle that
  212. enables messages to be displayed on each change of
  213. directory.  If this option is enabled, and the user changes
  214. directory into one with a file called "MESSAGE.FTP", the
  215. text inside this file is sent to the user along with the
  216. notification of his new directory.  My advice is to keep
  217. this message brief, since many people have only twenty line
  218. terminals, and may not be able to pause, or scroll back.
  219.  
  220. Any text can appear in these files, and also in the Greeting
  221. and Farewell dialogs.  You do not need to prepend each line
  222. with any special text, as in some other ftp server
  223. implementations - the server handles this for you.
  224.  
  225. Security Menu
  226.  
  227. This implements a rather limited subset of the security
  228. available on more powerful ftp daemons.  Currently only
  229. three items are enabled - the fourth, greyed, item "Rights"
  230. is reserved for a later version of WFTPD, and will allow you
  231. to specify which users can write from, read to, or list,
  232. which directories.
  233.  
  234. The first item, "General" allows you to set the
  235. miscellaneous global switches (i.e. not specific to
  236. particular users) that involve security - enabling/disabling
  237. security, allowing/denying anonymous access, and limiting
  238. the maximum number of users that can log in to your server.
  239.  
  240. The next item, "User/Password", brings up the "User Security
  241. Settings" dialog.  It is on this dialog that users are
  242. defined.  To define a new user, simply enter the user's
  243. login name in the "User name" box; next, if you wish to, you
  244. may define a password and home directory for this user.
  245. When entering a password, the password must be typed exactly
  246. the same in both the Password and Verify boxes.  Since you
  247. cannot see what you are typing, the "Add/Update" button is
  248. greyed out whenever the text in the two boxes does not
  249. exactly match.  The user's entry is only added to the INI
  250. file on pressing the Add/Update button while that user's
  251. name is in the User Name box.  On pressing the Add/Alter
  252. button, the following settings are stored: User Name,
  253. Password, Home Directory, and the "Restrict To Home"
  254. option's value.
  255.  
  256. The "Restrict To Home" checkbox will, if checked, require
  257. that this user only be allowed access to his home directory
  258. and below.  All users will be placed in their Home Directory
  259. when they first log in.
  260.  
  261. The last button, "Delete" will remove the currently selected
  262. user name entry from your INI file.
  263.  
  264. The third item in the Security main menu is "Host/Net".
  265. This was a new feature to 1.9, and may still be a trifle
  266. flakey.  The idea is to either allow you to deny access to
  267. particular sites which cause you problems, or to allow only
  268. particular sites to connect, and to deny all other sites
  269. from connecting.
  270.  
  271. The default setting (allow / deny) is indicated in the
  272. "Default Action" box.  To specifically allow or deny a
  273. particular host or network, you may enter an IP address mask
  274. in the "Host Address" box.  This mask is a set of four
  275. values, separated by dots.  These values are either decimal
  276. numbers in the range 0-254, or asterisks.  An asterisk in
  277. any particular part will allow the address to match all
  278. values in that position.  For instance, if you wanted to
  279. flag all local connections through the "loopback" interface,
  280. you might enter "127.*.*.*" here.
  281.  
  282. When a connection is received, the default action is noted,
  283. and then the address of the incoming site is matched against
  284. those host address masks whose specific action goes against
  285. the default action.  If a match is found, then the specific
  286. action is performed, otherwise the default action is.
  287.  
  288. As with the User/Password screen, the setting for any "Host
  289. address" is only saved on clicking the Add/Update button,
  290. which only becomes solid on entering a valid host mask.  The
  291. Delete button removes the entry for the host address
  292. displayed.  As might be expected, the Default Action is
  293. saved on closing the dialog box.
  294.  
  295. Help Menu
  296.  
  297. The Index option pulls up the help file for WFTPD (if it can
  298. be found), and points to the contents page.  This may be
  299. worth exploring for hints on how the software may be used.
  300.  
  301. The "Registering" option brings up a help page with
  302. information on how to register - see "Registering the
  303. Software" below for more details.
  304.  
  305. The Using Help option gives you some Windows Help about
  306. using Windows Help.
  307.  
  308. The About option displays a short copyright message, and may
  309. be used to find out whether you are running a registered, or
  310. unregistered, version, which version you are running, and
  311. what date it was built on.  An additional button is
  312. displayed at the bottom of the About Dialog, which in the
  313. unregistered version asks "How Do I Register?", and in the
  314. registered version asks "How Do I Contact The Author?".  On
  315. pressing this button, the help file is again searched for,
  316. and the page on contacting the author, or registering the
  317. software, is displayed.
  318.  
  319. Registering the Software
  320.  
  321. What will registering the software get you?  A brand
  322. spanking new registered copy of the executable and all
  323. documentation (just in case you lost your documentation, or
  324. it was updated recently).  Also, the registered version has
  325. the following limits removed - a maximum of five file
  326. transfers per login session - no editing of the Greeting and
  327. Farewell messages allowed.
  328.  
  329. Unlike previous versions, orders will not be accepted
  330. without order forms - I need the information that is on
  331. them, and it's a real problem chasing people down to find
  332. the information that they forgot to put in the post-it note
  333. attached to their cheque!  The order form can be printed
  334. from the help file - if you are using WFTPD, choose the
  335. "Registering" option under the "Help" menu - if you are not
  336. currently using WFTPD, run WFTPD.HLP, and select the
  337. contents item "How To Register the Program or Contact the
  338. Author".  Full instructions are included on this page, along
  339. with two items to choose from, depending on whether you
  340. require a regular mail delivery, or an internet delivery of
  341. the software.
  342.  
  343. Regular mail delivery of upgrades, or the original program,
  344. costs $5 in addition to the $15 for registering the
  345. software.  Be very careful if sending cash - cheques or
  346. money orders are far safer, and should be made out to "Alun
  347. Jones".  There is no "WFTPD Software Inc", or any such name
  348. (although one day, who knows?).
  349.  
  350. If an internet-reachable e-mail address is included with
  351. your order, you will be added to a mailing list of all
  352. registered users of WFTPD, which will allow me to notify you
  353. of any future upgrades, or troubleshooting techniques and
  354. tips.  If you provide me with an internet e-mail address or
  355. an internet ftp site on which to deposit the registered copy
  356. (so long as it is not a public archive site!), you will be
  357. sent free upgrades whenever they are available.  A
  358. clarification on "public access" - no matter how much you
  359. plead, I will not place the registered copy of this program
  360. onto a server through the "anonymous" account - many people
  361. tell me that it's safe because "only a couple of people use
  362. this machine" - I have no way of knowing if this is true or
  363. not, and so I take the safe route.
  364.  
  365. Source code to the program is not distributed with the
  366. registered or unregistered version of this software - it
  367. cost me a lot of time to develop this program, and so it
  368. costs mucho dinero to get the source code out of me.
  369.  
  370. Site licences are generally offered at a rate of $500 for
  371. each block of 100 users.  If this is not suited to your
  372. situation, make me an offer and we can haggle.  Be warned
  373. that my haggling may consist of repeatedly droning "$500 for
  374. each block of 100 users".  But be hopeful that I may decide
  375. your offer is good.
  376.  
  377. I would prefer if all payments are made in US Dollars.
  378. These are easy for me to cash, and are often reasonably easy
  379. for foreigners to lay their hands on.  In a pinch, I will
  380. accept European currency cheques, so long as the amount
  381. includes a certain increase to allow for the money-changers
  382. to have their rake.  For instance, I have been asking people
  383. in England to send me 15 pounds sterling.
  384.  
  385. Finally
  386.  
  387. And finally, may I remind you that the address for all
  388. communication to me is Alun Jones, 1910 Westmead 3702,
  389. Houston TX 77077 USA.  The previously quoted address of
  390. 12919 Whittington 1104A is an apartment that I am moving
  391. from on April 2nd 1994.  All mail to that address should be
  392. forwarded to my new address, but it is probably not wise to
  393. trust in that too much.
  394.  
  395. Also, my email address has changed from "alun@wst.com" to
  396. "alun@neosoft.com" - this reflects the fact that WFTPD is a
  397. private venture of mine, and has no connection to my
  398. employers.
  399.  
  400. I would like to thank a whole bunch of people who have
  401. helped me with this product, particularly:
  402.  
  403. Fred Whiteside, of Beame & Whiteside, without whom I would
  404. have screwed up the User/Password security.
  405. Bob Quinn, of FTP Software Inc, for clarifying many of the
  406. points of the Winsock spec, and for generally being very
  407. informative on the Winsock programming mailing lists.
  408. All the staff of FTP Software Inc, for sending me a
  409. developer's edition of PC/TCP version 2.3, which I have
  410. regrettably not yet had the time to install.
  411. Peter Tattam, of Trumpet Software International, for
  412. developing perhaps the definitive shareware winsock
  413. implementation.
  414. All the developers of winsock stacks, without whom my
  415. program would be useless.
  416. All the writers of the winsock v1.1 specification, for
  417. providing a most useful and simple environment for
  418. programming TCP/IP network applications.
  419. Anyone who has ever given me encouragement and constructive
  420. criticism concerning WFTPD, in particular those who wrapped
  421. their comments in cheques.
  422. My mother, my father and the entire academy of motion
  423. picture arts (sorry, couldn't resist that - this was
  424. originally written on the night after the Oscars)
  425. _______________________________
  426. 1The term "Daemon" refers to an invisible servants - unlike
  427. "demons", a daemon is neither intrinsically good nor evil,
  428. it does only what it is told.
  429.