[comp.sys.apple2] BITFTP instructions - Draft

shatara@memit.enet.dec.com (Chris: 223-8753, TECHNOLOGY OFFICE, MLO1-4/T35 22-Mar-1990 1426) (03/23/90)

    A couple weeks ago Kent Dickey posted a message on this feed about 
    a service at Princeton called BITFTP. This allowed BITNET and 
    INTERNET users access to libraries supporting FTP.  I am using 
    this capability and while I've been reasonably successful with it, 
    the learning curve was a bit painful as I didn't understand UNIX 
    directory & path conventions.  What I have compiled here is a 
    draft  of instruction on how to use this service.  Feel free to 
    comment and make corrections or additions as necessary and I will 
    attempt to incorporate them into this document.
    
    Also if you try this capability now you may not get it to work as 
    I'm hearing that some strange stuff is happening on INTERNET.  A 
    simple directory request which took about 20 minutes before, is 
    now not even being acknowledged after 24 hours.  Bottom line 
    message is be patient! :-)
    
    /chris shatara
    
=============================================================================
|        Chris Shatara       |      Internet:    shatara@memit.enet.dec.com | 
|  Opinions expressed are    |      DEC Easynet: memit::shatara             |
|   mine and mine only!      |      UUCP:        ...!decwrl!memit!shatara   |
=============================================================================

      
    
    
    WHERE IS BITFTP
    ---------------
    
    BITFTP can be accessed at either one of the following addresses:
    
    	 BITFTP@PUCC.PRINCETON.EDU
    
    	 BITFTP@PUCC.BITNET
    
    There are undoubtedly other "addresses" but these should provide 
    you with adequate pointers.  
    
    
    HOW TO GET HELP
    ---------------
    
    One can send a message to BITFTP at one of the above addresses and 
    have the word HELP be the message.  You will receive  a write up 
    describing the system and if you're not familiar with UNIX, give 
    you stuff that you can't relate to.  Attached to this document is 
    a copy of this "HELP" file.  
    
    
    BITFTP SYNTAX
    -------------
    
    A request other than for HELP must begin as follows:
    
    	 FTP hostname
    	 USER username password  { anonymous will suffice for many                                
                                   sites}
    
    	 < ftp commands >
    	 QUIT
    
    and end with QUIT. As indicated above while the protocol for USER 
    information is "username password", for many of the ftp sites just 
    typing anonymous is sufficient.
    
    
    BITFTP COMMANDS
    ---------------
    
    Below are the most useful commands I found with a brief 
    description on how to use them. Note that a person more familiar 
    with UNIX would probably find the other command useful as well. 
    
    	 ASCII	This command informs the server that ASCII 
                transmission is requested.  This should be standard 
                for our needs.
    
    	 LS -l	This is a command to get a directory.  You will notice 
                that I included the "-l" [lower case L] qualifier to 
                obtain a full directory with access codes, sizes etc.  
                The reason for this is if we didn't specify a full 
                directory, one would get back a list of names without 
                knowing which was a directory and which was a 
                filename.  For example a directory request made to 
                husc6.harvard.edu would yield a list of names as:
    
    	 	     apple2
    	 	     bin
    	 	     etc
    	 	     pathalias
    	 	     pub
    	 	     uumap
    
    	 	While it may be intuitive that these are all 
                sub directories, it is by no means as obvious when 
                your in a sub directory.  Making the same request with 
                the LS -l command yields:
    
      drwxrwxr-x 18   ftp   pds	      512 Mar	 4   11:17 apple2
      drwxr-xr-x  2   0	    system    512 Aug	23    1988 bin
      drwxr-xr-x  2   0	    ftp	      512 Aug	23    1988 etc
      drwxrwxr-x  2   0	    system    512 Nov	21   06:07 pathalias
      drwxr-xr-x  8   ftp   ftp	      512 Feb	 6   18:28 pub
      drwxr-xr-x  2   ftp   ftp	     5632 Jan	11   03:34 uumap
    
    
    
    	 	Notice the series of letters at the beginning of each 
                line.  These are the access codes and we need not be 
                concerned with them except for the first character.  
                If this is a "d", then this is the name of a sub 
                directory.  If it is an "-", then this is the name of 
                a file.
    
    	 CD	This command puts you in a sub directory.  It's like 
                the prefix command in prodos. So to now get a 
                directory at husc6.... of the apple2 subdirectory we 
                would send  the following BITFTP commands:
    
    	 	     CD apple2
    	 	     LS -l
    
    	 	While case is not important for the FTP commands, case 
                is important for all file names and directories. You 
                could have also issued the command as
    
    	 	     LS -l apple2
    
    	 	Having done this we see that the apple2 directory 
                contains files and subdriectories.  Lets say we now 
                wanted to get the directory of the Appleworks 
                subdriectory as well as the GS subdirectory.  Our 
                command chain would look like the following:
    
    	 	     CD apple2/Appleworks   { get into Appleworks dir }
    	 	     LS -l
    	 	     CD ../GS               { goto GS subdirectory }
    	 	     LS -l
    	 	     QUIT
    
    	 	Note that the CD ../GS command is actually saying go BACK
    	 	to the host directory and then into the GS directory.
    
    	 	It is also possible to accomplish the same thing without
    	 	issuing the CD commands, but I haven't mastered this yet
    	 	and the above will indeed work!  :-)
    
    	 GET	This is the command to pull down a file (the beef of 
                the matter).  The safest way to use it for non UNIX 
                types like me is to make sure you are in the target 
                directory as explained above before issuing the GET 
                command.  As a example lets assume we want to pull 
                down the following files:
    
    	 	     minimenu      in the apple2/Appleworks directory
     	 	     changecda     in the apple2/GS/Util    directory
    
    	 	The complete message to BITFTP would be as follows:
    
    	 	     ftp husc6.harvard.edu
    	 	     user anonymous
    	 	     ascii
    	 	     cd apple2/Appleworks
    	 	     get minimenu
    	 	     cd ..GS/Util
    	 	     get changecda
    	 	     quit
    
    	 	NOTE YOU ARR ONLY ALLOWED 5 GET'S PER SESSION!
    
    	 QUIT	You probably figured it out by now but this command 
                tells the BITFTP service that you are done!
    
    	 As I stated earlier, there are other commands but since I'm 
         not proficient with UNIX, I found them of little use.  Others 
         may want to comment here.
    
    

    
    
    The following is Chan Wilson's ( cwilson@NISC.SRI.COM ) listing of FTP 
    sites:	        
    		     							       
    		       Apple II Ftp Sites
    		     							       
    		     Last updated 90/02/19
    ---------------------------------------------------------------------------
    Org. Name				  IP 
    Addresses				  Site Name
    	      Location of archive	      Caretaker
    ===========================================================================
     
    Univ. of Michigan	     35.1.1.43	      him1.umich.edu
     
    Harvard   		     128.103.1.56     husc6.harvard.edu
    	      		     Paul Nakada <nakada@husc4.harvard.edu>
    
    Univ. of Kentucky	     128.163.128.6    k.ms.uky.edu
    	      		     		      <aash@ms.uky.edu>
    
    ?	      		     128.49.80.1      shark.nosc.mil
     
    Apple Computer	     130.43.2.2	      apple.com
     
    Simtel20.army.mil 	     128.252.135.4    simtel20.army.mil
    	      ps:<archives.apple>
    
    North Dakota Univ.	     134.129.111.64   plains.nodak.edu
    	      /pub/appleII
    
    Columbia Univ.	     128.59.40.130    cunixc.cc.columbia.edu		
     
    Ntnl Cntr for Supr Comp  128.174.20.50    zaphod.ncsa.uiuc.edu
     
    Wuarchive 		     128.252.135.4    wuarchive.wustl.edu
    	      /systems/apple2		      cwilson@wuarchive.wustl.edu
     
    ---------------------------------------------------------------------------
    

    
                                HELP FILE TRANSCRIPT
    
     
    > HELP
            BITFTP -- Princeton BITNET FTP Server
     
    BITFTP provides a mail interface to the FTP portion of the IBM TCP/IP 
    product ("FAL") running on the Princeton VM system, to allow 
    BITNET/NetNorth/EARN users to ftp files from sites on the Internet.
     
    BITFTP currently accepts requests only via RFC822-format mail, IBM 
    NOTE-format mail, PROFS-format messages, or files with no headers at all.  
    BITFTP currently returns the requested files as NETDATA-format files or as 
    mail files containing UUENCODED data.  If you specify "UUENCODE" or 
    "NETDATA" on your "FTP" command, BITFTP will attempt to use that format.  If 
    you do not specify the format, BITFTP will attempt to select the appropriate 
    format for your node. BITFTP attempts to send NETDATA-format files through 
    the gateway from EARN into Janet via the NIFTP facility at Rutherford Lab.
     
    If BITFTP sends you a file you cannot read, THE FIRST THING TO DO is to make 
    sure that you specified ASCII if the file should contain textual material or 
    that you specified BINARY if the file should contain binary data, executable 
    programs, tar files, or the like.  VMS users should specify BINARY F 512 and 
    should use RECEIVE/BINARY to receive the NETDATA-format binary files BITFTP 
    sends them.
     
    If BITFTP sends you a uuencoded file that you cannot uudecode, the first 
    thing to do is to translate all occurrences of 0x7E in the file to 0x5E and 
    then try uudecoding again.  (Some gateways are changing 5Es to 7Es when the 
    files pass through them.)
     
    To use BITFTP, send mail containing your ftp commands to "BITFTP@PUCC".  The 
    first command to BITFTP must be "FTP" or "HELP".
     
    The recommended syntax for ftp requests is:
     
    FTP hostname NETDATA    --or--    FTP hostname UUENCODE
    USER username password
    <other ftp subcommands>
    QUIT
     
    After the hostname on the FTP command, you may specify "UUENCODE" or 
    "NETDATA" to tell BITFTP the format in which you wish to receive files.
     
    (If the username is "anonymous", no password is required; BITFTP will use 
    your userid and nodeid as the password.)
     
    Note that on many systems passwords are case-sensitive; that is, the 
    password may be required to be in lower case or mixed case or upper case.  
    (The same is true of directory and file names.)
     
    The following is an example of an ftp request:
     
    FTP  f.ms.uky.edu  NETDATA
    USER  anonymous
    CD  /pub/msdos/Games
    DIR
    BINARY
    GET  robotron.arc  msdos.robotron
    QUIT
     
    BITFTP implements a subset of the ftp subcommands provided in the IBM TCP/IP 
    and uses the same syntax.  Therefore, you may find it useful to obtain the 
    "IBM TCP/IP for VM Command Reference Manual", IBM order number GC09-1204.
     
    The currently supported subcommands are:
     
      ACCT        -- to send host-dependent account information.
        format:   ACCT account-information
     
      ASCII       -- to change the file transfer type to ASCII.
        format:   ASCII
     
      BINARY      -- to change the file transfer type to image.
        format:   BINARY <FIXED record-len> <VARIABLE>
     
      CD          -- to change the working directory.
        format:   CD directory
     
      CLOSE       -- to disconnect from the foreign host.
        format:   CLOSE
     
      DIR         -- to get a list of directory entries.
        format:   DIR
     
      EBCDIC      -- to change the file transfer type to EBCDIC
        format:   EBCDIC
     
      GET         -- to get a file from the foreign host.
        format:   GET foreignfile <localfile>
     
                  If you specify "localfile", it must be in
                  the forms "filename.filetype" or "filename",
                  and the filename and filetype may each be no
                  more than 8 characters long and may not contain
                  periods.
     
      LOCSTAT     -- to display local status information.
        format:   LOCSTAT
     
      LS          -- to list the files in a directory.
        format:   LS <name>
     
      PWD         -- to print the working directory.
        format:   PWD
     
      QUIT        -- to disconnect from the foreign host.
        format:   QUIT
     
      STATUS      -- to retrieve status information from a foreign                  
    host.
        format:   STATUS <name>
     
      SYSTEM      -- to get the name of the foreign host's operating                  
    system.
        format:   SYSTEM
     
      TYPE        -- to specify Image, ASCII, or EBCDIC file transfer.
        format:   TYPE <I|A|E>
     
    The files you request will be sent to you in NETDATA format or UUENCODED 
    inside mail files.
     
    You will also receive a mail file containing a log of your ftp session.  In 
    that mail file, entries prefixed by ">" are your original commands; those 
    prefixed by ">>" are your commands as interpreted by BITFTP and passed to 
    TCPIP; those prefixed by ">>>" are your commands as interpreted by TCPIP and 
    passed to the remote host; those prefixed by "<<<" are messages from the 
    remote host; and those prefixed by ">>>>" are completion messages from 
    BITFTP.
     
    If BITFTP is unable to connect to the host you specify, it will send you 
    mail after the first attempt, but will keep trying at intervals over three 
    days.  The only additional mail files you will receive will be when the 
    connection is made successfully or when BITFTP gives up after three days.
     
    The load on BITFTP is often very heavy, and network backlogs are often so 
    great that it may take several days for a file to get to you once BITFTP 
    sends it, so please be patient and don't send multiple requests for the same 
    file. If your system allows you to send interactive messages, you can 
    inquire about BITFTP's backlog by sending the query "How are you?", e.g., on 
    a VM system:
     
       TELL BITFTP AT PUCC How are you?
     
     
    This service is currently under development and is far from complete.  
    Current plans for improvements include:
     
    1.  Acknowledgments via MSG when mail is received and when
        processing has been completed.
     
    2.  A much more complete HELP facility.
     
    Questions about BITFTP and suggestions for improvements should be directed 
    to Melinda Varian, MAINT@PUCC on BITNET or MAINT@pucc.princeton.edu on the 
    Internet.
     
    The author gratefully acknowledges the use of the FTP SUBCOM interface 
    written by David Nessl, the SENDJANI EXEC written by Alan Flavell, the 
    uuencoding utility written by John Fisher, and the RFC822 parsing routine 
    written by Eric, Thomas.  NOTE:  If you have any complaints or suggestions 
    about the way any of these routines work in BITFTP, please send them to 
    MAINT@PUCC (Melinda Varian), not to the authors.