
rdesktop : an Open Source client for Windows NT/2000/XP Terminal Server
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
(version 1.1.0 with unified patch 19-8-5)

rdesktop is an open source client for Windows NT/2000/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. Several authors on this list
contributed to the 'unified patch' (maintained by Peter Bystroem) which
is used in this release.

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

This OS/2 port was created by Jacco de Leeuw <jacco2@dds.nl>
and is now fully based on Open Source software. The latest version
can be found at: http://www.jacco2.dds.nl/rdesktop/

Requirements:
"""""""""""""

- OS/2 with TCP/IP stack (I myself have only tested on Warp 4)

- EMX/GCC runtime
  (ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/emx%2bgcc/emxrt.zip)

- XFree86/OS2
  (http://www-set.gmd.de/~veit/os2/xf86os2.html)

- A Windows NT/2000/XP Terminal Server to connect to.
  (If you don't have one available, see below under "Usage").

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 of software first.

Changes
"""""""

New in this second release:

- The OS/2 port is now free for commercial and non-commercial use.
  Previously, an old math library was used which excluded commercial use.
  rdesktop now uses a local copy of OpenSSL (BSD styple license) which
  is included with the main distribution.

- Upraded to new version, new bells, whistles and options. Such as:
  --built-in-license:  identify as a w2k client to the license server.
  rdesktop can emulate a Windows 2000 Professional license. Of course,
  you are still required to obtain the correct number of client access
  licenses (CALs) but at least you don't have the hassle of dealing with
  temporary licenses.

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

Nothing much to it: unzip the zipfile in a directory somewhere.
You need to have XFree86/OS2 and the EMX runtine installed. I will not
help you with that but I've added my CONFIG.SYS. Perhaps that will help
you get started.

Usage
"""""

Simply run the executable RDESKTOP.EXE. Without arguments, you will get a
list of options. More information on (some of) these options can be found
in RDESKTOP.TXT. In most cases you should be able to fire up rdesktop
with a command as simple as "RDESKTOP.EXE <server-hostname>". 

You would like to give rdesktop a spin but you don't have a 
Windows Terminal Server available? Try this one:

  scylla.odyssey.securewave.com  (158.64.60.49)
  
This is a demo server made available by security company SecureWave. The
usual stuff (Internet Explorer, Office etc.) has been installed on it
as well. The server is protected with SecureEXE, a product which allows
only authorized software to run on a Windows server (white list). For each
file that is authorized, SecureEXE creates a cryptographic hash signature
which is later used to identify this file at execution time. 

Notes
"""""

XFree86/OS2 sometimes seems to hang for a minute or so when
rdesktop.exe is run. After that period, everyone works OK.
The problem disappears when I specify the option -v
(private colourspace) so it has something to do with the number
of colours of your X server. Could be a bug in the old
XFree86/OS2 version I use.

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. That means that
encryption keys might be easier to guess by attackers so I do not
recommend using this port in a high security environment. Or RDP
at all.

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

-    rdesktop v1.1.0 (http://www.rdesktop.org/rdesktop-1.1.0.tar.gz)
-    unified patch 19-8-5
     (http://bibl4.oru.se/projects/rdesktop/rdesktop-unified-patch19-8-5.bz2)
-    my OS/2 patch (rdp110u5.pat)
-    bzip2 (for unpacking the patch) 
-    Eberhard Mattes' EMX (you can get this from Leo, Hobbes etc.)
-    Holger Veit's XFree86OS/2 (idem)
-    OS/2 ports of GNU make, patch, diff, gzip and any others you like (idem)
     
mkdir rdesktop
cd rdesktop
tar xfvz ..\rdesktop-1.1.0.tar.gz
cd rdesktop-1.1.0
mkdir gl
mkdir gl\ntxlib
mkdir gnu
mkdir tests
cd ..
bunzip2 -c ..\rdesktop-unified-patch19-8-5.bz2 | gnupatch -p0
gnupatch < ..\rdp110u5.pat
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 (mailto:jacco2@dds.nl)
