1Licq with socks5 support
2------------------------------------------------------------------------
3
4Download socks5-v1.0r??.tar.gz from www.socks.nec.com via the link "Socks5
5reference implementation". Compile and install it manually, don't use any binary
6(rpm deb) because you need the header files and not just socks.h.
7Download licq-1.0.2.tar.gz
8Say you extracted socks5 in /usr/local/src/socks5-v1.0r11
9Then configure licq with
10./configure --enable-socks5
11--with-socks5-inc=/usr/local/src/socks5-v1.0r11/include
12The libraries should be found automatically if you did a proper make install on
13the socks5 package.
14Add the  following to src/main.cpp after line 12 (#define SOCKS)
15#define INCLUDE_PROTOTYPES
16Copy lines 12 and 13 from this file (so the #defines) to src/socket.cpp in the
17beginning.
18Also in socket.cpp:
19change at lines 293 and 509 "socklen_t" by "int"
20Change line 418:
21Because of a bug in the socks5 implementation your local ip behind the firewall
22doesn't get assigned properly , so either set your IP manually or do a regular
23OS call ( youll have to do this if you're on dhcp and get a different ip from
24time to time).
25I changed it to
26m_sLocalAddr.sin_addr.s_addr = 0x1E10430A
27Where the number is my local intranet IP reversed, so its 10.67.16.30.
28I know this is dirty but it's fast :-)
29Check your Makefile in src/ if it includes the -lsocks5 directive. Then do a
30make and make install like always. Don't forget to update your
31/etc/libsocks5.conf.
32
33Jeroen Ost
34jeroen.ost@ubizen.com
35
36
37
38
39
40Other possibly useful information:
41
42
43I've spent lots of time trying to get Licq working with Linux machine,
44which happens to be located behind a firewall/proxy running on a Windows machine
45. I
46won't spend any explaining this very backwards setup, but
47that's the situation that exists. The JavaICQ, in case you have ever used
48it, is really consuming in resources, has plenty of bugs. It also has not
49been updated in a very long time. Now that AOL has purchased Mirabilis,
50maybe this will change, but I'm not holding my breath. Fortunately, Linux
51users who are tired of waiting for vaporware, will usually do something
52about it. I think this is what makes Linux so great. So we have several ICQ
53'clones'. These can all be checked out at the Linux ICQ Page,
54http://www.portup.com/~gyandl/icq/ In my position, I have the choice of the Java
55version, or Licq, these are the only ones I know of to work through SOCKS. The J
56ava
57one is very simple to run under SOCKS, just provide it with your SOCKS address a
58nd
59port. These are some tips forgetting Licq working. This document is assuming you
60have a working SOCKS server already, and I make no guarantees this will work, or
61even that it won't hose your system. But this is what I did, in this order,
62and I had no real problems.
63  ------------------------------------------------------------------------
64
65First of all, we have to make sure we have all the required
66libraries/headers to get Licq compiled and working. The first thing is the
67Qt user interface library from Troll Tech. They have source and several
68binary packages available there. I personally used the RPM's provided. If
69you're using the K Desktop Environment, you will most likely already have
70this running.
71
72Next, we need some header files in order to get Licq compiled with SOCKS5
73support. I found the RPM of this at rufus.w3.org. There's also a source RPM
74there as well. I'm hunting the source tar.gz down, if you know where to find
75it, e-mail the link to me at pennywise01@my-dejanews.com
76
77The next step is to get our SOCKS daemon running. Head over to
78www.socks.nec.com. There's lots of info here you might want to read, but if
79you're impatient, go ahead and download socks5 v1.0 release 8 - UNIX source.
80This package will also let you set up your Linux box as a SOCKS server in
81the case that your networked computers are not as backwards as mine. Read
82the included documentation on getting this installed, the standard
83configure, make, make install should suffice. Once this is installed, if you
84look in /usr/local/bin you will notice a few new programs here, like
85rtelnet, rftp, and a few others. These programs with their respective names
86already use the SOCKS setup. Once this is installed, we need to set up the
87socks configuration file, /etc/libsocks5.conf. If your setup is similar to
88mine, maybe 2 or 3 people in the house where security is not really a
89concern, it will probably look similar to this:
90
91socks5 - - - - cr91204-a:1080
92
93Where cr91204-a:1080 is the socks5 host and the port number. Regardless do a
94man libsocks5.conf for exact configuration details.
95
96There is now an alternative to using the NEC socks proxy, it is called Dante and
97 is
98available at: http://www.inet.no/dante/
99Also available for it is an RPM version.
100I haven't had the time to play with this one so I'm blind as to setting this up.
101
102
103Next step is getting Licq running. Download the source if you haven't done
104it already. Read all the docs with it, it contains some information you will
105need to know for getting Licq compiled and running. The most important step
106here is ./configure --enable-socks5. If it compiles successfully, then you
107should be set ok, just follow the rest of the docs with Licq normally.
108
109Comments or suggestions to pennywise01@my-dejanews.com
110