
rdesktop : an Open Source client for Windows Terminal Server
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
(version 1.2.0-CVS 20030419. This is an intermediate release)

rdesktop is an open source client for Windows NT/2000/2003/XP
Terminal Server, capable of natively speaking its Remote Desktop
Protocol (RDP) in order to present the user's Windows desktop.
Unlike Citrix ICA, no server extensions are required.

rdesktop was written by Matt Chapman (matthewc@cse.unsw.edu.au) based
on various scarce documentation, wire sniffs, and trial-and-error. It
is released under the GNU Public Licence (GPL). Please send feedback,
bug reports and patches to the author, but check the rdesktop mailinglist
at http://www.rdesktop.org first.

OS/2 version
""""""""""""

This OS/2 port was created by Jacco de Leeuw <jacco2@dds.nl>
The latest version can be found at:
http://www.jacco2.dds.nl/rdesktop/

New in this version:

- Now requires OpenSSL 0.9.7 or higher (available from Hobbes at
  http://hobbes.nmsu.edu/cgi-bin/h-search?key=openssl).

- Upraded to 1.2.0 (CVS version). May not have all features that the
  previous version (with 'unified patch') had, but the rdesktop people
  are working on that.

This OS/2 version of rdesktop is based fully on Open Source software. 

The executable was compiled with EMX/GCC 0.9d fix 04. I used an old
version of XFree86/OS2 which I had on CD somewhere because I didn't
want to download megabytes first.

Installation
""""""""""""

Simply unzip the zipfile and run the executable RDESKTOP.EXE.
You need to have XFree86/OS2, OpenSSL and the EMX runtime installed.
I will not help you with that but I've added my CONFIG.SYS. That should
get you started.

I unzipped openssl-0.9.7a-os2-bin.zip (the latest version at the time
of this writing) and renamed the directory to \OPENSSL. I then added
the library and include paths to CONFIG.SYS (see included example).

If you have a non-US keyboard, you can specify its code with -k.
Rdesktop looks for keymaps in \USR\LOCAL\SHARE\RDESKTOP\KEYMAPS


Notes
"""""

Rdesktop stores licences that it receives from the server in
%HOME%\.rdesktop, so be sure to use SET HOME=<directory> in
your CONFIG.SYS. The files it writes use long filenames so you
will have to use HPFS. It should be fairly easy to change the
source so that it uses 8.3 filenames but I simply didn't bother.

Previously, rdesktop for OS/2 used a minimal set of files from
OpenSSL which were included with the rdesktop distribution. Even
earlier, a non-free math library was used which excluded commercial use.
Rdesktop is *not* statically linked against OpenSSL, as the previous
version was. For three reasons: 1) a recent version of OpenSSL for
OS/2 is now available, thanks to the good work of Brian Havard
(http://silk.apana.org.au/apache/building-openssl.html),
2) OpenSSL uses hand crafted assembler code and 3) should there be
a security problem in OpenSSL, you would only have to upgrade the
OpenSSL library. No recompiling of rdesktop required.

As far as I know, OS/2 does not have a random generator such as
/dev/random in OpenBSD/Linux. Instead, rdesktop tries to use
a couple of heuristics which unfortunately are a bit flawed
on OS/2. It does a stat() on /tmp for timing information but
on OS/2 this directory isn't used that much. Because of this,
encryption keys might be easier to guess by attackers so I do not
recommend using this port in a high security environment. RDP
should not be used in such environment anyway.

Building the executable
"""""""""""""""""""""""
You will need the following pieces of software: 

-    rdesktop v1.2.0 (http://www.rdesktop.org)
-    my OS/2 patch (rdp120.pat)
-    Eberhard Mattes' EMX 
-    Holger Veit's XFree86OS/2 
-    OS/2 ports of GNU make, patch, diff, gzip and any others you like 
     (you can get these from Leo, Hobbes etc.)

mkdir rdesktop
cd rdesktop
tar xfvz ..\rdesktop-1.2.0.tar.gz
cd rdesktop-1.2.0
gnupatch < ..\rdp120.pat
(edit the Makefile and uncomment the lines for OS/2)
copy Makeconf.OS2 Makeconf
make

(I have renamed the GNU patch program to gnupatch since OS/2
already comes with a PATCH.EXE, which cannot be used with the
rdesktop patch).

Jacco de Leeuw