
				README.SOCKS
		How to build and use GnomeICU with SOCKS5
		    Ashok Narayanan, <ashokn@cisco.com>

1. Introduction
---------------

If you are sitting behind a firewall, you can't use an ICQ client
without proxying across the firewall. SOCKS is a well-known proxy
protocol defined in RFC1928. From the README file distributed with
SOCKS5,

"socksv5 allows UNIX hosts behind a firewall to gain full access to the
Internet without requiring direct IP reachability. socksv5 requires a SOCKS
daemon running on a host that can communicate directly with hosts behind the
firewall and with hosts on the Internet. socksv5 is based on the original
SOCKS, written by David Koblas <koblas@netcom.com>, and the IETF AFT working
group."

You can learn more about SOCKS at http://www.socks.nec.com

2. Requirements
---------------

- GnomeICU and it's requirements
- SOCKS5 client development package (socks5-devel). This is part of
  Redhat contribs and ships with many other distributions. Otherwise,
  you can get it from the SOCKS homepage.
- A server running SOCKS5 which straddles the firewall - your company
  may provide one (otherwise, you're SOL :-(). Get the server address
  (or hostname) and port number (if it's not the default)

3. Build instructions
---------------------

Specify SOCKS usage with the "--enable-socks5" option to configure

	> ./configure --enable-socks5

Read the output from configure and make sure it finds both the library 
(libsocks5.a) and the header (socks.h). You'll see messages to that
effect.

If you have installed the socks development files in a nonstandard
directory, you'll need to tell configure where to find them. You do
this with the '--with-socks5-inc=" and "--with-socks5-lib=" options.

	> ./configure --enable-socks5 \
		--with-socks5-inc=/usr/packages/socks5/include \ 
		--with-socks5-lib=/usr/packages/socks5/lib

Now "make", then "make install" as usual.

4. Usage instructions
---------------------

You need to tell GnomeICU which SOCKS server to use. You have two
options:

1) Manually: Set the SOCKS5_SERVER environment variable before
starting GnomeICU and you should be all set. You can provide just a
server name (for the default port), or a server name and port
number. For example, if your SOCKS server is socksrv.bu.edu, 

	> SOCKS5_SERVER="socksrv.bu.edu"
	> export SOCKS5_SERVER
	> gnomeicu

or, if you use csh

	> setenv SOCKS5_SERVER "socksrv.bu.edu:22123"
	> gnomeicu

2) Automatically: Edit your libsocks5.conf file (distributed with the
SOCKS5 distribution). Add the following lines:

socks5 - icq.mirabilis.com - - socksrv.bu.edu
socks5 - icq2.mirabilis.com - - socksrv.bu.edu
socks5 - icq3.mirabilis.com - - socksrv.bu.edu

You may need to add entries for more servers. You can read the
documentation which ships with the SOCKS5 distribution for more
information on the libsocks5.conf file.



