home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / wsftp2.zip / WS_READ.ME < prev    next >
Text File  |  1994-06-03  |  12KB  |  272 lines

  1.  
  2.   Windows Sockets FTP Client Application -  - Version 93.12.05
  3.  
  4.   Written by:
  5.       John A. Junod             Internet: <junodj@gordon-css583.army.mil>
  6.       267 Hillwood Street                 <zj8549@trotter.usma.edu>
  7.       Martinez, GA 30907      Compuserve: 72321,366     AOL: jjunod
  8.  
  9.   THE INFORMATION AND CODE PROVIDED IS PROVIDED AS IS WITHOUT WARRANTY 
  10.   OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  11.   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  12.   PURPOSE. IN NO EVENT SHALL JOHN A. JUNOD BE LIABLE FOR ANY DAMAGES 
  13.   WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS 
  14.   OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF JOHN A. JUNOD HAS BEEN 
  15.   ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  16.  
  17.   This program executable and all source code is released into the public
  18.   domain.  It would be nice (but is not required) to give me a little 
  19.   credit for any use of this code.  The primary purpose of this application 
  20.   was to learn what it takes to write a Windows Sockets Application.
  21.  
  22.   The user interface for this FTP client is designed with the novice FTP user
  23.   in mind.  Usage should (??) be obvious with the possible exception of the
  24.   the transfer mode; ascii, binary or l8.  All controls are standard Windows
  25.   controls.
  26.  
  27.   My development and testing was all completed at home on two 386 PC's using
  28.   the Trumpet Windows Sockets DLL Alpha 15 with NCSA Telnet and WinQVT/Net 2.6
  29.   and 3.94 as the remote host.  Source code may be compiled with Borland C++
  30.   in large mode.
  31.  
  32.   Some code concepts and names are based on code that is copyright by the
  33.   Regents of the University of California or code published in UNIX Network
  34.   Programming by W. Richard Stevens or code in WATTCP or other public sources.
  35.   The rest is based on my knowledge of Windows programming and my 
  36.   interpretation of RFC 969 and the Windows Sockets API version 1.1.
  37.  
  38.   Known problems:
  39.  
  40.   1) May not work correctly for some FTP servers due to the directory
  41.      listing that comes back.  In this case the directories and files
  42.      dialog boxes will remain empty and the full directory listing will
  43.      be visible by clicking the [LONGDIR] button.  If you have a host that
  44.      doesn't work, e-mail me a listing of that listing and the output 
  45.      of the remote FTP help command.
  46.  
  47.   2) No restart of aborted transfers coded.
  48.  
  49.   3) No abort of transfers coded other than pressing [CLOSE] or [EXIT].
  50.  
  51.   4) No support for EBCDIC (does anyone use this??) transfers.
  52.  
  53.   5) Use of menu items in the debug window may be confusing to the novice 
  54.      user.
  55.  
  56.   6) Makes use of blocking socket calls.
  57.  
  58. Still to do:
  59. 1.  Make it use ASYNC calls.  (anyone want to help???)
  60. 2.  Support abort on transfers and restarts if necessary.
  61. 3.  Eliminate debug window.  (It could be gone now!  Any comments?)
  62. 4.  Windows 3.1 style directory list boxes.
  63.  
  64. 93.10.01
  65.   Fixed the gethostbyname problem.
  66.   Fixed WinQVT/Net 3.x directory expansion problem.
  67.   Fixed transfer abort problem with [CLOSE] or [EXIT].
  68.  
  69. 93.10.05
  70.   added host remembering
  71.   added automatic password for anonymous userid (option mail address)
  72.   corrected problem going to biochemistry.cwru.edu
  73.   corrected linked directories problem (??)
  74.  
  75. 93.10.10
  76.   moved options button to main window
  77.   fixed options, including prompting, bell, receive_unique
  78.   added filename conversion for illegal dos filenames
  79.   added timeout editing in host dialog
  80.   changed listen timeout from 5 seconds to standard timeout
  81.   changed messages going to status window
  82.   set nolinger on socket close
  83.   rewrote error module to eliminate possible copyright problem
  84.   cleaned/colored main window
  85.   added MS Visual C++ makefile
  86.  
  87. 93.10.17
  88.   added host linked userids, passwords, initial directory and hosttype
  89.   added support for new host types (note that these are mostly untested)
  90.   moved debug window routines to ws_debug.c
  91.   changed bind address to 0 for vxdtcp (seems to work ok for Trumpet also,
  92.     so I left it in, even though I never could get vxdtcp to work reliably.
  93.     vxdtcp bind returned a WSAEADDRNOTAVAIL (or something like that))
  94.   corrected bug in filename conversion
  95.   changed anonymous userid processing (must select a check box, now)
  96.  
  97. NOTE:  While WS_FTP allows you to save a password for a host and does some
  98.   minor encryption, it is not intended to be secure and is not recommended
  99.   to be used for private accounts!  It was added on request.
  100.  
  101. 93.10.24
  102.   more clean up of the source code
  103.   attempt to fix problems with Unisys 5000 EXOS (junk) ftp daemon
  104.   fix remote to local name conversion when multiple dots/spaces exist
  105.   fix timeout problem.  timeouts ONLY happen when connecting or
  106.     waiting for control message responses.  send and receive processing
  107.     contains no timeout processing.  timeouts limited to 65 seconds
  108.   rewrote host information routines to use global memory so number of
  109.     saved names may be increased.  userid automatically saved for
  110.     each host.  timeouts saved by host.
  111.   released HBRUSH resources properly
  112.  
  113. 93.11.12
  114.   uses port 21 if "services" file not found
  115.   added two line scrolling status window
  116.   updated debug and paint procedures to multi-window versions
  117.   added period to end of names not having an extention for viewer
  118.   modified about dialog box
  119.   temporary files are now located in the %TEMP% directory instead
  120.     of root of current drive.
  121.  
  122. 93.12.04
  123.   fixed VMS name parsing (hopefully) (93.11.15)
  124.   used protocol 6 if "protocol" file not found
  125.   incorporated AMS gateway (firewall) machine connection (thanks
  126.     to Jeff Welty for code modification)
  127.   lifted restriction on userid and password length
  128.   fixed MVS/VM name parsing 
  129.   incorporated account processing (not tested)
  130.   prompt for password if not entered
  131.   added support for ftp.uwp.edu (use WinQVT/Net)
  132.   eliminated blank lines in VM listing
  133.   added support for NT ftp daemon (use IBMPC TCP/IP)
  134.   added std support (autodetect) for another NT ftpd
  135.   allow a timeout on on initial connection if FTP_PRELIM
  136.   eliminated setsockopt(linger) for Lanera (also fixed problem with
  137.      WinQVT/Net ftp server)
  138.   fixed setdisk problem for MSC++ (uses _chdrive)
  139.  
  140. 93.12.05 (beta of new functions)
  141.   Reworked HOST dialog box and all HOST routines.  Now allows
  142.     unlimited save of configurations, and allows deletions.
  143.   Reworked GATEWAY host dialogs. (Gateways are saved for each config)
  144.   Now uses own WS_FTP.INI file (in Windows directory)  You will
  145.     "lose" all previous hosts.  (If you need information from the
  146.     earlier version, print out the WINDOWS\winsock.ini file.)
  147.     For a good start, copy the WS_FTP.INI file to your Windows dir.
  148.   Implemented DRAG/DROP processing.  You drag one or more files from
  149.     the Windows File Manager and drop anywhere on the main FTP window
  150.     (or when iconized) and they will be transfered to the current 
  151.     directory on the remote host using the current transfer mode.
  152.     This does support file name prompting for name changes.  Default
  153.     name will be the lowercase basename of the file.  You can't drag
  154.     directories and you can't drag from the remote host to another
  155.     process.
  156.  
  157. STILL NEED A WINDOWS HELP FILE FOR THIS THING.....
  158.  
  159.  
  160.  
  161. NT port comments by L. Kahn
  162.  
  163. You need to copy the ws_ftp.ini to your winnt directory.
  164.  
  165. The Windows NT port was much harder than expected, I have been slowly
  166. fixing problems and making enchancements to the system.  The following is a
  167. list of some of the changes made that I can remember.  If you want to
  168. actually look at all the changes get the original source from 129.29.64.246.
  169.  
  170.  
  171. added support for NTFS long file names. The system will not truncate on
  172. NTFS up to 220 char. names. with a max path name of 140 chars.
  173. On a fat file system it will truncate/rename to 8.3.
  174.  
  175. fixed problems where lparam and wparam were incorrectly used for
  176. messages and all the dialgs were screwed up. Also changed all the api
  177. and dialog entries to use the new win32 format.
  178.  
  179. fixed problem with the selection of a new setup name not filling in the
  180. remainder of the fields.  Changed lparam which should have been wparam.
  181.  
  182. added support to get other ftp server types by issueing the SYST
  183. command. The newer version of this program (source unavailable, see below does
  184. this).  Also added support for new ftp server types such as NT.
  185.  
  186. Added a new system option -d which enables the debugging window, 
  187. otherwise it does not pop up as before.
  188.  
  189. fixed problem with doing a strcpy and not checking for a null variable
  190. that caused an access violation under NT. Also fixed problem with newer
  191. version of qvt/winsock ftp server.
  192.  
  193. Added support so that double clicking on a local file uploads it, double
  194. clicking on a remote file downloads it.  By default you had to use the
  195. -> or <- arrows. There was a problem with the param. used for double
  196. clicking, howord(lparam) instead of hiword(wparam) was being used for
  197. the LBN_DBLCLK message.
  198.  
  199. fixed dialog box routines since makeprocinstance and freeprocinstance is
  200. not necessary under win32.
  201.  
  202.  
  203. NOTES: There is a newer version of this program available for windows 3.1. 
  204. It seems to have addressed many of the problems I have fixed and other 
  205. enhancements.  Unfortunately, when I sent a message to
  206. the original author describing the problems porting and all the fixes I had
  207. made, he didn't respond.  The latest source available for this program
  208. is as of DEC. 1993 and this is the version I used as a starting point.
  209. It appears the author does not want to make a newer source available
  210. since I asked for this and he did not respond.
  211.  
  212. If other problems are found, please let me know at kahn@drcoffiste.com
  213. or 71534,600 on compuserve. No promises but as I have time available I
  214. will try to look at specific problems with the NT version.  If someone
  215. else makes fixes/changes please forward me a copy of the updated source.
  216.  
  217. New version 06 94
  218.  
  219. fixed stuff so fat partitions on nt daytona work with long file names.
  220. Also now support names such as name.name.name
  221. (on nt 3.1 fat it still will truncate names to 8.3)
  222.  
  223. Fixed startup parameters so that if you start up ws_ftp with the command
  224.  
  225. ws_ftp hostname:path/filename where there can be additional / in the path it
  226. will automatically sign on with user name anonymous and download the file.
  227. This is the behavior in the newer 16 bit version of ws_ftp and I'm mimicking
  228. it here so that you can interface with other tools such as warchie for instance.
  229. This also allows you to automatically use ws_ftp to download files as long
  230. as anonymous is enabled on the remote system.  It would not be hard to also
  231. add support for username password on the command line instead of anonymous logins
  232. if enough people are insterested I will implement it.
  233.  
  234. On installation also copy the file ws_ftp.ini to your winnt directory.
  235.  
  236.  
  237. added muti-threading in NT so that while remote operations are pending
  238. local operations can be performed.  This also enables message processing
  239. to happen during long remote operations so that the window is not all
  240. screwed up and you can now shrink it during a download
  241.  
  242.  
  243. Changed display to view
  244.  
  245. added an abort button but cannot get aborted remote operations to
  246. work reliably so for no no-oped out.
  247.  
  248. Updated connect/close buttons so that when relevant they are enabled or
  249. disabled.
  250.  
  251. Added text edit field boxes for directory selection like on the 16 bit
  252. newer version.  However for now cannot figure out how to interpret if a
  253. return key is pressed so you will have to click on another button or
  254. in the listing windows to get it to fire off after changing the text (ie you will have to change
  255. the focus. Note that this is case sensitive for the remote end because
  256. many unix system are case sensitive and also sensitive to whether or not
  257. the . is on a file name.
  258.  
  259. Also fixed a problem with vms files since fat (on daytona) now supports the entire
  260. file name is was downloading files like abc.de;1  ... Got rid of the
  261. final ; version number info (even though this may someday be desireable)
  262. it is a pain.
  263.  
  264.  
  265. Thanks and good luck
  266.  
  267. larry kahn
  268. 910-630-0412
  269. kahn@drcoffsite.com
  270. 71534,600
  271.  
  272.