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.