============================
PC SOCKS Pack - Version 1.01
============================
File: INSTALL


0.0) Unpacking the release
--------------------------

You've probably already done this if you're reading this file.

	a) Use PKUNZIP to extract the release into an appropriate
	   directory (e.g. C:\SOCKSPAK).  Multiple directories are
	   extracted so be sure to use the -d option to PKUNZIP.
		mkdir c:\sockspak
		copy pcsp1_01.zip c:\sockspak
		cd \sockspak
		pkunzip -d pcsp1_01.zip


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! IMPORTANT!                                                          !
!                                                                     !
! Before continuing with installation, be sure to read and understand !
! the files README and REQUIRES.                                      !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
	   

1.0) Configuring SOCKS
----------------------

In order to be able to use the applications in the PC SOCKS Pack, you
must first have SOCKS configured on each PC that you'll be running the
SOCKSified applications on.

These steps set up the appropriate configuration to tell your
SOCKSified applications the address of your SOCKS server, which
addresses should be accessed with a direct (not through the proxy
SOCKS server) connection, which addresses should be accessed through
the SOCKS server, where to optionally log debugging messages, and how
to define a user name.

	a) Add an entry in your WINSOCK's SERVICES file for SOCKS.
	   This should be set to the port number for SOCKS to contact
	   on your SOCKS server.  Normally, this would be set to port
	   1080 but your site may have it's SOCKS server configured
	   differently.

	   The line should look something like this:
		socks   1080/tcp        # SOCKS port on SOCKS server 

	b) Set up a SOCKS configuration file.  This file is used by
	   all SOCKS clients to determine whether to use a direct or
	   proxy connection to a given destination or to deny access
	   to a given destination.  

	   By default, the file would be located in:
		C:\ETC\SOCKS.CNF
	   stemming from its UNIX heritage but you can put it anywhere
	   and use the environment variable SOCKSCNF to point to the
	   location:
		SET SOCKSCNF=T:\MYDIR\SOCKS.CNF

	   For convenience, an example configuration file SOCKS.CNF is
	   included with this distribution that can be modified for
	   your site.  A full explanation of the configuration file
	   can be found in the file WHATSOCK in the top directory of
	   the PC SOCKS Pack distribution.

           If no SOCKS.CNF file is found, all destinations are
           considered to be direct connections (not SOCKS).

	c) Specify a default SOCKS server in the environment variable
	   SOCKS_SERVER (required if not explicitly defined in sockd
           lines in SOCKS.CNF).
		SET SOCKS_SERVER=SOCKS.server.for.my.site
	   Any server specifications in the configuration file will
	   override this setting.

	d) Define a user name to be sent to the SOCKS server and to
	   reference for validation and logging in the USER
	   environment variable.  This name should probably correspond
	   to other network user ids.
		SET USER=CHARLEY
	   If the SOCKS client can't find a USER environment variable,
	   it defaults to the name PCUSER.

	e) If you need debugging information, you can set an
	   environment variable SOCKSLOG that points to the name of a
	   file to store informational messages.
		SET SOCKSLOG=C:\ETC\SOCKS.LOG

	There is a file in the top directory of the distribution
	called AUTOSOCK.BAT that you might want to EDIT and copy into
	your AUTOEXEC.BAT file or call from your AUTOEXEC.BAT file to
	set up your environment variables SOCKS_SERVER, SOCKSCNF, USER,
	and SOCKSLOG.


2.0 Create a Windows Program Group (optional)
---------------------------------------------

If desired, use the Windows Program Manager to create a new Program
Group named "PC SOCKS Pack".  See your Windows manual to see how to
create a new Program Group if necessary.


3.0 Install the individual applications
---------------------------------------

3.1 To install the FINGER application, follow the instructions in the
    file FINGERS\README.TXT.

3.2 To install the WS_FTP application, follow the instructions in the 
    file WS_FTPS\README.TXT.

3.3 To install the WINTEL application, follow the instructions in the
    file WINTELS\README.TXT.


A.1 TROUBLESHOOTING
-------------------

At this point your SOCKSified application should run fine.  Verify
that you can connect to destinations that are configured for direct
access as well as those configured for proxy access.  If things aren't
working quite right, use a log file and see if the debugging
information gives you any clues.  The log file at the SOCKS server can
be of assistance too.  Common problems to look for:
	a) Is the SOCKS server defined?  Use the SOCKS_SERVER
	   environment variable.
	b) Is the configuration file present and correctly set up?  Be
	   sure that it's in C:\ETC\SOCKS.CNF or in a file pointed to
	   by the environment variable SOCKSCNF.
	c) Does the SOCKS server have the appropriate access set up in
	   it's configuration?  Also, make sure that the SOCKS server
	   is configured so that it doesn't request an "ident" from the
	   PC client.  PC's can't answer the request.


A.2 DEBUGGING MESSAGES
----------------------

Debugging messages can optionally be sent to a file that is named by
the SOCKSLOG environment variable.  The messages all have the form:
	Thu Mar 10 14:37:24 PROG[12345]: message ...
which contain the date and time of the message, the name of the
program creating the message, the process id of the program, and the
message.

The most common messages are:
	CSTC version 4.1-pc SOCKS client: Default SOCKS server: xyz
		This message is printed at the start of the program
		when the SOCKS related structures are initialized.
		The default SOCKS server should be the same as what
		is set in the SOCKS_SERVER environment variable.  It
		can be over-ridden by values in your SOCKS.CNF file.

	connect() from USER(USER) to abc (21) using sockd at xyz
		This indicates that a successful connection was made
		to port 21 at destination abc through SOCKS server xyz.
		USER is the userid set in the USER environment
		variable.

	bind() from USER(USER) for abc (21) using sockd at xyz
		This indicates that a successful bind was made with
		destination abc using SOCKS server xyz.  USER is the
		userid set in the USER environment variable.
