#
# File:		README
# Author:	G. Paul Ziemba <paul@alantec.com>
# SCCS:		@(#)README	1.9 7/14/96
# Purpose:	Describe the tcpr package
#
# Legal:	You may copy, modify, and distribute this software
#		(the tcpr package) freely as long as this file
#		is included in its entirety.
#
#		This software is provided free of charge, with no
#		warranty of any kind, either expressed or implied.
#		Use at your own risk.
#

Contents of this file:

	1. Introduction
	2. Bug reports
	3. Where to get it
	4. Platforms
	5. Postcards!
	6. Acknowledgements

Introduction
------------

    Tcpr is a set of perl scripts that enable you to run ftp and telnet
commands across a firewall. Forwarding takes place at the application
level, so it's easy to control. No recompilation of C code is necessary.

    Tcpr consists of an inetd-type server that interprets commands, 
a relay program, and a client that talks to the server.

    The client asks the server for a relay connection to some specified
remote host at a specified TCP port number; the server invokes the relay
program and returns a proxy port number to the client. The client then
invokes telnet or ftp, telling them to connect to the relay host at the
proxy port number. The relay program then transfers data between the
client host and the remote host.

    Special handling is implemented for the FTP data connection, so
everything works properly.

    Netrc files (~/.netrc) are supported (alias entries and, for ftp,
machine entries).

    Server logging is controlled via a config file; various bits of
information can be collected, including client userids and transfer byte
counts.

Bug reports
-----------

    Please email bug reports, comments, and patches to:
    
		tcpr-bugs@alantec.com.


Where to get it
---------------

    Tcpr is available from the following servers via anonymous ftp:

	ftp.alantec.com		pub/tcpr
	ftp.cs.umb.edu		pub/security
	ftp.psg.com		pub/unix/netware
	ftp.denet.dk		pub/security/tools/tcpr


Platforms
---------

    Tcpr is known to work on SunOS 4.1.X with perl 4. I haven't
tested it on other platforms, so I can't say if it'll work
right out of the box for them.  It's all perl, but the output
format of the netstat and ifconfig commands might vary, and
there isn't much flexibility in the parser for that yet.

    Solaris 2.X changed some of the socket.h constants, so if you
don't have a sys/socket.ph, you will have to fix the code for the
fall-back case (grep for sys/socket.ph to find where).



Postcards
---------

    If you find tcpr useful, please feel free to send me a postcard :-)

	G. Paul Ziemba
	Fore Systems
	2115 O'Nel Drive
	San Jose, CA 95131
	USA


Acknowledgements
----------------

    The tcpr package is based on a relay program written by
Kazumasa Utashiro, <utashiro@sra.co.jp>. The relay program originally
was to be invoked manually on the relay host, giving a port number which
the user then used as an argument to the ftp or telnet program.

    I modified the relay program to select an outgoing interface
based on some simple routing computations, and wrote a client and server
to automate the process.

    Thanks to Jim Kohli for code to parse and spoof .netrc files,
and other useful changes.

    Many thanks to the maintainers of the ftp sites mentioned above,
listed in reverse alphabetical order (-:

	Christophe.Wolfhugel
	John P. Rouillard
	Kim H|glund
	Randy Bush

