Fix minor spelling mistakes

This commit is contained in:
René Genz 2017-10-28 23:24:23 +02:00
parent e7cda3dbf8
commit 9e99dd52d6
50 changed files with 203 additions and 200 deletions

View File

@ -2,7 +2,7 @@
rdesktop is an open source client for Microsoft's RDP protocol. It is rdesktop is an open source client for Microsoft's RDP protocol. It is
known to work with Windows versions ranging from NT 4 Terminal Server known to work with Windows versions ranging from NT 4 Terminal Server
to Windows 2012r2 RDS. rdesktop currently has implemented the RDP version 4 to Windows 2012 R2 RDS. rdesktop currently has implemented the RDP version 4
and 5 protocols. and 5 protocols.
@ -25,7 +25,7 @@ the configure line.
## Note for users building from source ## Note for users building from source
If you have retreived a snapshot of the rdesktop source, you will first If you have retrieved a snapshot of the rdesktop source, you will first
need to run `./bootstrap` in order to generate the build infrastructure. need to run `./bootstrap` in order to generate the build infrastructure.
This is not necessary for release versions of rdesktop. This is not necessary for release versions of rdesktop.
@ -36,9 +36,9 @@ Connect to an RDP server with:
% rdesktop server % rdesktop server
where server is the name of the Terminal Services machine. (If you receive where server is the name of the Terminal Services machine. If you receive
"Connection refused", this probably means that the server does not have "Connection refused", this probably means that the server does not have
Terminal Services enabled, or there is a firewall blocking access.) Terminal Services enabled, or there is a firewall blocking access.
You can also specify a number of options on the command line. These are listed You can also specify a number of options on the command line. These are listed
in the rdesktop manual page (run "man rdesktop"). in the rdesktop manual page (run "man rdesktop").

View File

@ -17,8 +17,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
/* three seperate function for speed when decompressing the bitmaps /* three separate function for speed when decompressing the bitmaps
when modifing one function make the change in the others when modifying one function make the change in the others
jay.sorg@gmail.com */ jay.sorg@gmail.com */
/* indent is confused by this file */ /* indent is confused by this file */

View File

@ -31,9 +31,9 @@ extern int g_pstcache_fd[];
#define IS_SET(idx) (idx >= 0) #define IS_SET(idx) (idx >= 0)
/* /*
* TODO: Test for optimal value of BUMP_COUNT. TO_TOP gives lowest cpu utilisation but using * TODO: Test for optimal value of BUMP_COUNT. TO_TOP gives lowest CPU utilisation but using
* a positive value will hopefully result in less frequently used bitmaps having a greater chance * a positive value will hopefully result in less frequently used bitmaps having a greater chance
* of being evicted from the cache, and therby reducing the need to load bitmaps from disk. * of being evicted from the cache, and thereby reducing the need to load bitmaps from disk.
* (Jeroen) * (Jeroen)
*/ */
#define BUMP_COUNT 40 #define BUMP_COUNT 40
@ -437,7 +437,7 @@ cache_put_cursor(uint16 cache_idx, RD_HCURSOR cursor)
} }
/* BRUSH CACHE */ /* BRUSH CACHE */
/* index 0 is 2 colour brush, index 1 is muti colour brush */ /* index 0 is 2 colour brush, index 1 is multi colour brush */
static BRUSHDATA g_brushcache[2][64]; static BRUSHDATA g_brushcache[2][64];
/* Retrieve brush from cache */ /* Retrieve brush from cache */
@ -454,7 +454,7 @@ cache_get_brush_data(uint8 colour_code, uint8 idx)
} }
/* Store brush in cache */ /* Store brush in cache */
/* this function takes over the data pointer in struct, eg, caller gives it up */ /* this function takes over the data pointer in struct, e.g. caller gives it up */
void void
cache_put_brush_data(uint8 colour_code, uint8 idx, BRUSHDATA * brush_data) cache_put_brush_data(uint8 colour_code, uint8 idx, BRUSHDATA * brush_data)
{ {

2
config.guess vendored
View File

@ -148,7 +148,7 @@ fi
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*) *:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or # NetBSD (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old # switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward # object file format. This provides both forward

View File

@ -179,12 +179,12 @@ enum MCS_PDU_TYPE
#define LICENCE_SIGNATURE_SIZE 16 #define LICENCE_SIGNATURE_SIZE 16
#define LICENCE_TAG_REQUEST 0x01 #define LICENCE_TAG_REQUEST 0x01
#define LICENCE_TAG_PLATFORM_CHALLANGE 0x02 #define LICENCE_TAG_PLATFORM_CHALLENGE 0x02
#define LICENCE_TAG_NEW_LICENCE 0x03 #define LICENCE_TAG_NEW_LICENCE 0x03
#define LICENCE_TAG_UPGRADE_LICENCE 0x04 #define LICENCE_TAG_UPGRADE_LICENCE 0x04
#define LICENCE_TAG_LICENCE_INFO 0x12 #define LICENCE_TAG_LICENCE_INFO 0x12
#define LICENCE_TAG_NEW_LICENCE_REQUEST 0x13 #define LICENCE_TAG_NEW_LICENCE_REQUEST 0x13
#define LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE 0x15 #define LICENCE_TAG_PLATFORM_CHALLENGE_RESPONSE 0x15
#define LICENCE_TAG_ERROR_ALERT 0xff #define LICENCE_TAG_ERROR_ALERT 0xff
#define BB_CLIENT_USER_NAME_BLOB 0x000f #define BB_CLIENT_USER_NAME_BLOB 0x000f
@ -394,7 +394,7 @@ enum RDP_INPUT_DEVICE
#define RDP_INFO_AUTOLOGON 0x00000008 #define RDP_INFO_AUTOLOGON 0x00000008
#define RDP_INFO_UNICODE 0x00000010 #define RDP_INFO_UNICODE 0x00000010
#define RDP_INFO_MAXIMIZESHELL 0x00000020 #define RDP_INFO_MAXIMIZESHELL 0x00000020
#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB histroy buffer */ #define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB history buffer */
#define RDP_INFO_ENABLEWINDOWSKEY 0x00000100 #define RDP_INFO_ENABLEWINDOWSKEY 0x00000100
#define RDP_INFO_COMPRESSION2 0x00000200 /* rdp5 mppc compression with 64kB history buffer */ #define RDP_INFO_COMPRESSION2 0x00000200 /* rdp5 mppc compression with 64kB history buffer */
#define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000 #define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000
@ -682,7 +682,7 @@ enum RDP_PDU_REDIRECT_FLAGS
LB_TARGET_CERTIFICATE = 0x10000 LB_TARGET_CERTIFICATE = 0x10000
}; };
/* desttop orientation */ /* desktop orientation */
enum RDP_DESKTOP_ORIENTATION enum RDP_DESKTOP_ORIENTATION
{ {
ORIENTATION_LANDSCAPE = 0, ORIENTATION_LANDSCAPE = 0,

8
cssp.c
View File

@ -1,6 +1,6 @@
/* -*- c-basic-offset: 8 -*- /* -*- c-basic-offset: 8 -*-
rdesktop: A Remote Desktop Protocol client. rdesktop: A Remote Desktop Protocol client.
CredSSP layer and kerberos support. CredSSP layer and Kerberos support.
Copyright 2012-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB Copyright 2012-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
@ -710,7 +710,7 @@ cssp_connect(char *server, char *user, char *domain, char *password, STREAM s)
return False; return False;
} }
// Establish tls connection to server // Establish TLS connection to server
if (!tcp_tls_connect()) if (!tcp_tls_connect())
{ {
logger(Core, Debug, "cssp_connect(), failed to establish TLS connection"); logger(Core, Debug, "cssp_connect(), failed to establish TLS connection");
@ -751,7 +751,7 @@ cssp_connect(char *server, char *user, char *domain, char *password, STREAM s)
{ {
if (i == 0) if (i == 0)
logger(Core, Notice, logger(Core, Notice,
"Failed to intialize NLA, do you have correct kerberos tgt initialized ?"); "Failed to initialize NLA, do you have correct Kerberos TGT initialized ?");
else else
logger(Core, Error, "cssp_connect(), negotiation failed"); logger(Core, Error, "cssp_connect(), negotiation failed");
@ -764,7 +764,7 @@ cssp_connect(char *server, char *user, char *domain, char *password, STREAM s)
if (!(actual_services & GSS_C_CONF_FLAG)) if (!(actual_services & GSS_C_CONF_FLAG))
{ {
logger(Core, Error, logger(Core, Error,
"cssp_connect(), confidiality service required but is not available"); "cssp_connect(), confidentiality service required but is not available");
goto bail_out; goto bail_out;
} }

8
ctrl.c
View File

@ -82,7 +82,7 @@ _ctrl_slave_new(int sock)
} }
else else
{ {
/* no elemnts in list, lets add first */ /* no elements in list, lets add first */
_ctrl_slaves = ns; _ctrl_slaves = ns;
} }
} }
@ -427,7 +427,7 @@ ctrl_check_fds(fd_set * rfds, fd_set * wfds)
p = strchr(p + 1, '\n'); p = strchr(p + 1, '\n');
} }
/* If we havent found an nonescaped \n we need more data */ /* If we haven't found a nonescaped \n we need more data */
if (p == NULL) if (p == NULL)
continue; continue;
@ -485,12 +485,12 @@ ctrl_send_command(const char *cmd, const char *arg)
if (ret != 0) if (ret != 0)
goto bail_out; goto bail_out;
/* escape the utf-8 string */ /* escape the UTF-8 string */
escaped = utils_string_escape(tmp); escaped = utils_string_escape(tmp);
if ((strlen(escaped) + 1) > CTRL_LINEBUF_SIZE - 1) if ((strlen(escaped) + 1) > CTRL_LINEBUF_SIZE - 1)
goto bail_out; goto bail_out;
/* send escaped utf-8 command to master */ /* send escaped UTF-8 command to master */
send(s, escaped, strlen(escaped), 0); send(s, escaped, strlen(escaped), 0);
send(s, "\n", 1, 0); send(s, "\n", 1, 0);

12
disk.c
View File

@ -276,7 +276,7 @@ open_weak_exclusive(const char *pathname, int flags, mode_t mode)
return ret; return ret;
} }
/* An error occured, and we are using O_EXCL. In case the FS /* An error occurred, and we are using O_EXCL. In case the FS
doesn't support O_EXCL, some kind of error will be doesn't support O_EXCL, some kind of error will be
returned. Unfortunately, we don't know which one. Linux returned. Unfortunately, we don't know which one. Linux
2.6.8 seems to return 524, but I cannot find a documented 2.6.8 seems to return 524, but I cannot find a documented
@ -309,7 +309,7 @@ open_weak_exclusive(const char *pathname, int flags, mode_t mode)
} }
/* Enumeration of devices from rdesktop.c */ /* Enumeration of devices from rdesktop.c */
/* returns numer of units found and initialized. */ /* returns number of units found and initialized. */
/* optarg looks like ':h=/mnt/floppy,b=/mnt/usbdevice1' */ /* optarg looks like ':h=/mnt/floppy,b=/mnt/usbdevice1' */
/* when it arrives to this function. */ /* when it arrives to this function. */
int int
@ -368,7 +368,7 @@ disk_create(uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create
sprintf(path, "%s%s", g_rdpdr_device[device_id].local_path, filename ? filename : ""); sprintf(path, "%s%s", g_rdpdr_device[device_id].local_path, filename ? filename : "");
/* Protect against mailicous servers: /* Protect against malicious servers:
somelongpath/.. not allowed somelongpath/.. not allowed
somelongpath/../b not allowed somelongpath/../b not allowed
somelongpath/..b in principle ok, but currently not allowed somelongpath/..b in principle ok, but currently not allowed
@ -416,7 +416,7 @@ disk_create(uint32 device_id, uint32 accessmask, uint32 sharemode, uint32 create
/*printf("Open: \"%s\" flags: %X, accessmask: %X sharemode: %X create disp: %X\n", path, flags_and_attributes, accessmask, sharemode, create_disposition); */ /*printf("Open: \"%s\" flags: %X, accessmask: %X sharemode: %X create disp: %X\n", path, flags_and_attributes, accessmask, sharemode, create_disposition); */
/* Get information about file and set that flag ourselfs */ /* Get information about file and set that flag ourselves */
if ((stat(path, &filestat) == 0) && (S_ISDIR(filestat.st_mode))) if ((stat(path, &filestat) == 0) && (S_ISDIR(filestat.st_mode)))
{ {
if (flags_and_attributes & FILE_NON_DIRECTORY_FILE) if (flags_and_attributes & FILE_NON_DIRECTORY_FILE)
@ -1168,7 +1168,7 @@ disk_query_volume_information(RD_NTHANDLE handle, uint32 info_class, STREAM out)
out_uint32_le(out, stat_fs.f_blocks); /* Total allocation units low */ out_uint32_le(out, stat_fs.f_blocks); /* Total allocation units low */
out_uint32_le(out, 0); /* Total allocation high units */ out_uint32_le(out, 0); /* Total allocation high units */
out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */ out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */
out_uint32_le(out, 0); /* Available allowcation units */ out_uint32_le(out, 0); /* Available allocation units */
out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */ out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */
out_uint32_le(out, 0x200); /* Bytes per sector */ out_uint32_le(out, 0x200); /* Bytes per sector */
break; break;
@ -1180,7 +1180,7 @@ disk_query_volume_information(RD_NTHANDLE handle, uint32 info_class, STREAM out)
out_uint32_le(out, stat_fs.f_bavail); /* Caller allocation units low */ out_uint32_le(out, stat_fs.f_bavail); /* Caller allocation units low */
out_uint32_le(out, 0); /* Caller allocation units high */ out_uint32_le(out, 0); /* Caller allocation units high */
out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */ out_uint32_le(out, stat_fs.f_bfree); /* Available allocation units */
out_uint32_le(out, 0); /* Available allowcation units */ out_uint32_le(out, 0); /* Available allocation units */
out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */ out_uint32_le(out, stat_fs.f_bsize / 0x200); /* Sectors per allocation unit */
out_uint32_le(out, 0x200); /* Bytes per sector */ out_uint32_le(out, 0x200); /* Bytes per sector */
break; break;

View File

@ -41,15 +41,15 @@ rdesktop (1.8.1)
* Fix issue with reconnect, make use of deactivate variable * Fix issue with reconnect, make use of deactivate variable
* Added 4 new disconnect reasons with exit codes * Added 4 new disconnect reasons with exit codes
* Fix issues of window handling in SeamlessRDP parts of rdesktop * Fix issues of window handling in SeamlessRDP parts of rdesktop
* Fix a backward compability with OpenSSL < 0.9.9 * Fix a backward compatibility with OpenSSL < 0.9.9
* Fix a bug when code needs a x window available but there are none. * Fix a bug when code needs a x window available but there are none.
* Fix a sigsegv zeroing memory * Fix a sigsegv zeroing memory
* Fix a 64bit portability issue * Fix a 64-bit portability issue
-- Henrik Andersson <hean01@users.sourceforge.net> 2013-11-18 -- Henrik Andersson <hean01@users.sourceforge.net> 2013-11-18
rdesktop (1.8.0) rdesktop (1.8.0)
* Support for protocol negotiation eg. SSL/TLSv1 and CredSSP * Support for protocol negotiation e.g. SSL/TLSv1 and CredSSP
* Support for CredSSP + Kerberos authentication (NLA) * Support for CredSSP + Kerberos authentication (NLA)
* Support for smart card single-sign-on * Support for smart card single-sign-on
* Support passing smart card pin as password as argument * Support passing smart card pin as password as argument
@ -67,10 +67,10 @@ rdesktop (1.8.0)
rdesktop (1.7.1) rdesktop (1.7.1)
* Fix clipboard issue when not building with unicode support * Fix clipboard issue when not building with unicode support
* Fix compilation against newer PCSC lite versions * Fix compilation against newer PCSC-lite versions
* Fix for per-device license mode on Windows 2008 R2 terminal server * Fix for per-device license mode on Windows 2008 R2 terminal server
* Fix building 64bit version with static openssl linkage * Fix building 64-bit version with static openssl linkage
* Rewrite of smartcard handling for 64bit support, fixes several bugs * Rewrite of smartcard handling for 64-bit support, fixes several bugs
* Improved license handling using XDG directories * Improved license handling using XDG directories
-- Henrik Andersson <hean01@users.sourceforge.net> 2012-01-09 -- Henrik Andersson <hean01@users.sourceforge.net> 2012-01-09
@ -113,7 +113,7 @@ rdesktop (1.6.0)
rdesktop (1.5.0) rdesktop (1.5.0)
* SeamlessRDP - seamless windows support * SeamlessRDP - seamless windows support
* Keymap fixes * Keymap fixes
* Fix connection issues with Windows XP RTM * Fix connection issues with Microsoft Windows XP RTM
* Keyboard handling improvements and fixes * Keyboard handling improvements and fixes
* SGI/Irix sound-driver fixes * SGI/Irix sound-driver fixes
* Support for clipboard INCR protocol * Support for clipboard INCR protocol
@ -125,7 +125,7 @@ rdesktop (1.5.0)
* Large file support * Large file support
* The default color depth is now the depth of the root window * The default color depth is now the depth of the root window
* Basic support for Windows Vista Beta 2 * Basic support for Windows Vista Beta 2
* Fix high cpu-usage in OSS-driver * Fix high CPU-usage in OSS-driver
-- Peter Astrand <astrand@cendio.se> Wed, 13 Sep 2006 15:11:39 +0200 (CEST) -- Peter Astrand <astrand@cendio.se> Wed, 13 Sep 2006 15:11:39 +0200 (CEST)
@ -162,7 +162,7 @@ rdesktop (1.4.0)
rdesktop (1.3.1) rdesktop (1.3.1)
* Crypto fixes for RDP5 * Crypto fixes for RDP5
* Keyboard and keymap fixes * Keyboard and keymap fixes
* some endianess fixes for high color * some endianness fixes for high color
* portability enhancements * portability enhancements
-- Matthew Chapman <matthewc@cse.unsw.edu.au> Tue, 21 Jan 2004 20:34 -- Matthew Chapman <matthewc@cse.unsw.edu.au> Tue, 21 Jan 2004 20:34
@ -170,7 +170,7 @@ rdesktop (1.3.1)
rdesktop (1.3.0) rdesktop (1.3.0)
* RDP5 * RDP5
* 15, 16 and 24 bit color depths * 15, 16 and 24-bit color depths
* Basic clipboard redirection * Basic clipboard redirection
* Sound * Sound
* IPv6 * IPv6

View File

@ -40,7 +40,7 @@
* Use timestamps in audio packets. * Use timestamps in audio packets.
* Add resampling to supported samplerates of audio-hardware. * Add resampling to supported sample rates of audio-hardware.
* Lower CPU-usage with an audio thread. * Lower CPU-usage with an audio thread.
@ -84,7 +84,7 @@
* Support for sending focus information from client to server. * Support for sending focus information from client to server.
* Implement something similiar to explhook.dll - support for running * Implement something similar to explhook.dll - support for running
explorer.exe in non-shell mode. explorer.exe in non-shell mode.
* Better compatibility with Task Manager. * Better compatibility with Task Manager.

View File

@ -13,7 +13,7 @@ A method call from Slave to the Master have the following syntax:
METHOD [ARG1[ ARG2 [...]]] METHOD [ARG1[ ARG2 [...]]]
Argument string sent for a method call should be escaped as descibed below under Argument string sent for a method call should be escaped as described below under
String escaping section. String escaping section.
@ -30,7 +30,7 @@ One line may not exceed 1024 bytes, including newline.
String escaping String escaping
=============== ===============
Percentage sign has been choosen as escaping character. Percentage sign has been chosen as escaping character.
The rules for escaping are: The rules for escaping are:

View File

@ -5,9 +5,9 @@ The IPv6 support was developed by Mike Dawson <mike@dexy.mine.nu>:
Attached is a patch to tcp.c to enable IPv6 support. Build with Attached is a patch to tcp.c to enable IPv6 support. Build with
'IPv6' defined to enable it. It's so far only been tested on 'IPv6' defined to enable it. It's so far only been tested on
Linux 2.4.21 connecting to Windows XP SP1. Linux 2.4.21 connecting to Microsoft Windows XP SP1.
Since terminal services doesn't seem to bind to the ipv6 interface Since terminal services doesn't seem to bind to the IPv6 interface
on XP I had to run 'netsh interface portproxy add v6tov4 on XP I had to run 'netsh interface portproxy add v6tov4
listenport=3389 connectport=3389' from the windows command prompt listenport=3389 connectport=3389' from the windows command prompt
to get it to work. to get it to work.
@ -20,10 +20,10 @@ rdesktop now supports numeric IPv6 addresses:
rdesktop 2001:1:2:3::4 rdesktop 2001:1:2:3::4
without it getting confused with an ipv4:port specification. I've without it getting confused with an IPv4:port specification. I've
also followed the square bracket convention used by browsers also followed the square bracket convention used by browsers
(http://www.ietf.org/rfc/rfc2732.txt) so if you want to specify a (http://www.ietf.org/rfc/rfc2732.txt) so if you want to specify a
non-standard port with an ipv6 address you can use the format: non-standard port with an IPv6 address you can use the format:
rdesktop [2001:1:2:3::4]:3390 rdesktop [2001:1:2:3::4]:3390

View File

@ -2,7 +2,7 @@ Keyboard mapping
================ ================
This release of rdesktop uses a new, portable keyboard mapping This release of rdesktop uses a new, portable keyboard mapping
implementation. It should hopefully work on all X11 systems. This new implementation. It should hopefully work on all X11 systems. This new
implementation only looks at X11 keysyms: Not on (nonportable) implementation only looks at X11 keysyms: Not on (non-portable)
keycodes or modifier status. This means that rdesktop will obey your keycodes or modifier status. This means that rdesktop will obey your
local keyboard configuration. For example, if you have swapped local keyboard configuration. For example, if you have swapped
CapsLock and Control, rdesktop will use this mapping. CapsLock and Control, rdesktop will use this mapping.
@ -224,7 +224,7 @@ works:
xmodmap -e "keycode 49 = egrave" xmodmap -e "keycode 49 = egrave"
4. Test a char generated with AltGr, such as @ on a swedish keyboard. 4. Test a char generated with AltGr, such as @ on a Swedish keyboard.
5. Test Ctrl-Alt-Delete. 5. Test Ctrl-Alt-Delete.
@ -244,7 +244,7 @@ works:
KEYMAP_PATH, $CWD/keymaps, and from an absolute path. KEYMAP_PATH, $CWD/keymaps, and from an absolute path.
11. Press Shift, then press a key modified by shift, the release 11. Press Shift, then press a key modified by shift, the release
shift, then release the other key. Do this in a speedy fasion. shift, then release the other key. Do this in a speedy fashion.
Make sure the shift state is not stuck down. Make sure the shift state is not stuck down.
12. Test all numpad keys, when not using the -N option. 12. Test all numpad keys, when not using the -N option.

View File

@ -2,7 +2,7 @@
To be able to connect to Microsoft Windows 2000 Terminal Services (and To be able to connect to Microsoft Windows 2000 Terminal Services (and
probably later versions), you'll need to deal with licensing. This is probably later versions), you'll need to deal with licensing. This is
complicated. This file is supposed to contain some information about complicated. This file is supposed to contain some information about
how rdesktop works with Microsofts license systems. how rdesktop works with Microsoft's license systems.
There's a lot of information on the MS web site, for example, There's a lot of information on the MS web site, for example,
http://support.microsoft.com/default.aspx?scid=kb;EN-US;287687. http://support.microsoft.com/default.aspx?scid=kb;EN-US;287687.
@ -19,7 +19,7 @@ Peter Åstrand <astrand@cendio.se>, 2003-02-06
> to A was reached today, and no more connections could be made until we > to A was reached today, and no more connections could be made until we
> changed the client name (by using -n). > changed the client name (by using -n).
> >
> We also have another similiar systems, with Linux machine C and W2K server > We also have another similar systems, with Linux machine C and W2K server
> D. This server has 200 licenses installed of the type "Select". On this > D. This server has 200 licenses installed of the type "Select". On this
> server, the issued licenses seems to be permanent: The expire date is set > server, the issued licenses seems to be permanent: The expire date is set
> to "-", and we have no problem with this system. > to "-", and we have no problem with this system.

View File

@ -102,7 +102,7 @@ Applied (in revision 1.29, 2002/07/14).
URL: URL:
http://bibl4.oru.se/projects/rdesktop/patch19/patches/frank_fasttext.patch.txt http://bibl4.oru.se/projects/rdesktop/patch19/patches/frank_fasttext.patch.txt
Description: Description:
Some kind of performence improvements. Some kind of performance improvements.
Status: Status:
From what I can tell, this patch is no longer necessary. From what I can tell, this patch is no longer necessary.
@ -115,7 +115,7 @@ Description:
rdesktop uses gethostname to figure out the hostname, but gethostname rdesktop uses gethostname to figure out the hostname, but gethostname
under linux returns an error when the hostname is longer than the under linux returns an error when the hostname is longer than the
buffer. This hack gives gethostname a 64 char buffer and then strips buffer. This hack gives gethostname a 64 char buffer and then strips
the first 16 chars or upto the first '.' and puts the result in the first 16 chars or up to the first '.' and puts the result in
hostname[16]. hostname[16].
Status: Status:
@ -134,7 +134,7 @@ anymore.
URL: URL:
http://bibl4.oru.se/projects/rdesktop/patch19/patches/mmihalik_19-7-3-keyfix-4.patch http://bibl4.oru.se/projects/rdesktop/patch19/patches/mmihalik_19-7-3-keyfix-4.patch
Description: Description:
Some kind of new alternative keyboard mapping imlementation. Some kind of new alternative keyboard mapping implementation.
Status: Status:
Not needed anymore, with the new keyboard mapping implementation. Not needed anymore, with the new keyboard mapping implementation.
@ -286,7 +286,7 @@ Not applied yet. TBD.
URL: URL:
http://bibl4.oru.se/projects/rdesktop/patch19/patches/svenni_dis_wmkeybnds.patch http://bibl4.oru.se/projects/rdesktop/patch19/patches/svenni_dis_wmkeybnds.patch
Description: Description:
Commandline flag to disable keyboard grabbing. Command line flag to disable keyboard grabbing.
Status: Status:
Applied. Applied.
@ -311,7 +311,7 @@ URL:
http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_19-7-2.secure.patch http://bibl4.oru.se/projects/rdesktop/patch19/patches/vincent_19-7-2.secure.patch
Description: Description:
Fixes a problem during the connection to a French NT4 TSE (a French Fixes a problem during the connection to a French NT4 TSE (a French
NT4 TSE doesn't use encryptation). NT4 TSE doesn't use encryption).
Status: Status:
Applied. Applied.

View File

@ -1,4 +1,4 @@
.TH rdesktop 1 "November 2005" .TH rdesktop 1 "2017-10-28"
.SH NAME .SH NAME
.I rdesktop .I rdesktop
\- Remote Desktop Protocol client \- Remote Desktop Protocol client
@ -7,9 +7,9 @@
.br .br
.SH DESCRIPTION .SH DESCRIPTION
.I rdesktop .I rdesktop
is a client for Remote Desktop Protocol (RDP), used in a number of Microsoft is a client for Remote Desktop Protocol (RDP), used in a number of Microsoft products.
products including Windows NT Terminal Server, Windows 2000 Server, Windows XP It is known to work with Microsoft Windows server versions ranging from NT 4 terminal
and Windows 2003 Server. server to Windows Server 2012 R2.
.SH OPTIONS .SH OPTIONS
.TP .TP
@ -21,7 +21,7 @@ Domain for authentication.
.TP .TP
.BR "-s <shell>" .BR "-s <shell>"
Startup shell for the user - starts a specific application instead of Explore. Startup shell for the user - starts a specific application instead of Explore.
If SeamlessRDP is enabled this is the application which i started in seamless mode. If SeamlessRDP is enabled this is the application which is started in seamless mode.
.TP .TP
.BR "-c <directory>" .BR "-c <directory>"
The initial working directory for the user. Often used in combination with -s The initial working directory for the user. Often used in combination with -s
@ -77,6 +77,10 @@ support.
The optional DPI parameter should be specified if the screen rdesktop The optional DPI parameter should be specified if the screen rdesktop
is being displayed on is too far from 96 DPI for unscaled Windows to is being displayed on is too far from 96 DPI for unscaled Windows to
be readable. Windows currently accepts values from 96 to 480. be readable. Windows currently accepts values from 96 to 480.
Offset placement of window is optional. Starting point is upper left corner of screen.
Window manager might push into visible area, if a panel would be covered.
The schema is "-g <value>+<xoff>+<yoff>, f.e. "-g 30%+200+600".
.TP .TP
.BR "-i" .BR "-i"
Use password as smartcard pin. If a valid user certificate is matched in smart card Use password as smartcard pin. If a valid user certificate is matched in smart card
@ -107,7 +111,7 @@ launches the desired application through SeamlessRDP.
Example: rdesktop -A 'c:\\seamlessrdp\\seamlessrdpshell.exe' -s 'notepad' mywts.domain.com Example: rdesktop -A 'c:\\seamlessrdp\\seamlessrdpshell.exe' -s 'notepad' mywts.domain.com
Any subsequential call to the above commandline example will make use of the seamless Any subsequential call to the above command line example will make use of the seamless
connection sharing feature which spawns another notepad in the current connection to the connection sharing feature which spawns another notepad in the current connection to the
specified server and then exit. specified server and then exit.
@ -156,7 +160,7 @@ size, in pixels. The special word "standard" means 18 pixels.
Sets the window title. The title must be specified using an UTF-8 string. Sets the window title. The title must be specified using an UTF-8 string.
.TP .TP
.BR "-N" .BR "-N"
Enable numlock syncronization between the Xserver and the remote RDP Enable numlock synchronization between the Xserver and the remote RDP
session. This is useful with applications that looks at the numlock session. This is useful with applications that looks at the numlock
state, but might cause problems with some Xservers like Xvnc. state, but might cause problems with some Xservers like Xvnc.
.TP .TP
@ -180,7 +184,7 @@ theming is enabled, and all other options are disabled (corresponding
to modem (56 Kbps)). Setting experience to b[roadband] enables menu to modem (56 Kbps)). Setting experience to b[roadband] enables menu
animations and full window dragging. Setting experience to l[an] will animations and full window dragging. Setting experience to l[an] will
also enable the desktop wallpaper. Setting experience to m[odem] also enable the desktop wallpaper. Setting experience to m[odem]
disables all (including themes). Experience can also be a hexidecimal disables all (including themes). Experience can also be a hexadecimal
number containing the flags. number containing the flags.
.TP .TP
.BR "-P" .BR "-P"
@ -235,14 +239,14 @@ documentation for more information.
.TP .TP
.BR "-r scard[:<Scard Name>=<Alias Name>[;<Vendor Name>][,...]]" .BR "-r scard[:<Scard Name>=<Alias Name>[;<Vendor Name>][,...]]"
Enables redirection of one or more smart-cards. You can provide Enables redirection of one or more smart-cards. You can provide
static name binding between linux and windows. To do this you static name binding between GNU/Linux and Windows. To do this you
can use optional parameters as described: <Scard Name> - device name in can use optional parameters as described: <Scard Name> - device name in
Linux/Unix enviroment, <Alias Name> - device name shown in Windows enviroment GNU/Linux and UNIX environment, <Alias Name> - device name shown in Windows environment
<Vendor Name> - optional device vendor name. For list of examples run <Vendor Name> - optional device vendor name. For list of examples run
rdesktop without parameters. rdesktop without parameters.
.TP .TP
.BR "-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]" .BR "-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]"
Enable clipboard redirectino. 'PRIMARYCLIPBOARD' looks at both PRIMARY and Enable clipboard redirection. 'PRIMARYCLIPBOARD' looks at both PRIMARY and
CLIPBOARD when sending data to server. 'CLIPBOARD' looks at only 'CLIPBOARD'. CLIPBOARD when sending data to server. 'CLIPBOARD' looks at only 'CLIPBOARD'.
.TP .TP
.BR "-0" .BR "-0"
@ -264,11 +268,11 @@ Enable verbose output
.BR "--sc-csp-name <name>" .BR "--sc-csp-name <name>"
Specify the CSP (Crypto Service Provider) to use on the windows side for the smartcard Specify the CSP (Crypto Service Provider) to use on the windows side for the smartcard
authentication. CSP is the driver for your smartcard and it seems like this is required authentication. CSP is the driver for your smartcard and it seems like this is required
to be specified for CredSSP authentication. For swedish NetID the following CSP name is to be specified for CredSSP authentication. For Swedish NetID the following CSP name is
used; "Net iD - CSP". used; "Net iD - CSP".
.TP .TP
.BR "--sc-container-name <name>" .BR "--sc-container-name <name>"
Specify the container name, usally this is the username for default container and it seems Specify the container name, usually this is the username for default container and it seems
like this is required to be specified for CredSSP authentication. like this is required to be specified for CredSSP authentication.
.TP .TP
.BR "--sc-reader-name <name>" .BR "--sc-reader-name <name>"
@ -284,7 +288,7 @@ Specify the card name for example; "Telia EID IP5a".
.IP "\fB0\fP" .IP "\fB0\fP"
RDP session terminated normally RDP session terminated normally
.IP "\fB1\fP" .IP "\fB1\fP"
Administrator initiated disconnect (also returned for logoff by XP joined to a domain) Administrator initiated disconnect (also returned for logoff by Windows XP joined to a domain)
.IP "\fB2\fP" .IP "\fB2\fP"
Administrator initiated logout Administrator initiated logout
.IP "\fB3\fP" .IP "\fB3\fP"
@ -326,7 +330,7 @@ Network error during licensing protocol
.IP "\fB23\fP" .IP "\fB23\fP"
Licensing protocol was not completed Licensing protocol was not completed
.IP "\fB24\fP" .IP "\fB24\fP"
Incorrect client license enryption Incorrect client license encryption
.IP "\fB25\fP" .IP "\fB25\fP"
Can't upgrade or renew license Can't upgrade or renew license
.IP "\fB26\fP" .IP "\fB26\fP"
@ -336,7 +340,7 @@ The target endpoint chosen by the broker could not be found
.IP "\fB32\fP" .IP "\fB32\fP"
The target endpoint is disconnecting from the broker The target endpoint is disconnecting from the broker
.IP "\fB34\fP" .IP "\fB34\fP"
Error occured while being redirected by broker Error occurred while being redirected by broker
.IP "\fB35\fP" .IP "\fB35\fP"
Error while the endpoint VM was being awakened by the broker Error while the endpoint VM was being awakened by the broker
.IP "\fB36\fP" .IP "\fB36\fP"
@ -364,7 +368,7 @@ Encryption failed
.IP "\fB62\fP" .IP "\fB62\fP"
The local client window was closed The local client window was closed
.IP "\fB63\fP" .IP "\fB63\fP"
Some other, unknown error occured Some other, unknown error occurred
.IP "\fB64\fP" .IP "\fB64\fP"
Command line usage error Command line usage error
.IP "\fB69\fP" .IP "\fB69\fP"

View File

@ -145,7 +145,7 @@ State can have one of three values:
1 : Minimized. 1 : Minimized.
2 : Maximized. 2 : Maximized.
The initial STATE for a window will always be preceeded by one CREATE and one The initial STATE for a window will always be preceded by one CREATE and one
POSITION. Optionally, a TITLE may also be sent before the first STATE. POSITION. Optionally, a TITLE may also be sent before the first STATE.
DEBUG DEBUG
@ -338,7 +338,7 @@ Sets which window has input focus.
Syntax: Syntax:
FOCUS,<SERIAL>,<ID>,<FLAGS> FOCUS,<SERIAL>,<ID>,<FLAGS>
Changes which window that will recieve the keyboard events. Note that this Changes which window that will receive the keyboard events. Note that this
might cause the window to change z order. might cause the window to change z order.
DESTROY DESTROY
@ -354,7 +354,7 @@ Spawn a new application.
Syntax: Syntax:
SPAWN,<SERIAL>,<COMMANDLINE> SPAWN,<SERIAL>,<COMMANDLINE>
Spawns a new application specified by commandline. Spawns a new application specified by command line.
Test Cases Test Cases
@ -371,7 +371,7 @@ Blackbox, IceWM etc). You can also test without a window manager.
3 Open "Open Dialog". Resize, bigger than main window. Verify no 3 Open "Open Dialog". Resize, bigger than main window. Verify no
additional task bar icons. Verify that the Open dialog is focused. additional task bar icons. Verify that the Open dialog is focused.
4 Open File Format box dropdown. Verify that it correctly appears 4 Open File Format box drop-down. Verify that it correctly appears
outside main window. Verify no additional task bar icons. outside main window. Verify no additional task bar icons.
5 Abort Open. Select About Wordpad. Verify no additional task bar 5 Abort Open. Select About Wordpad. Verify no additional task bar
@ -415,9 +415,9 @@ Blackbox, IceWM etc). You can also test without a window manager.
19 Try the menus in Microsoft Office XP, which uses shaded menus. 19 Try the menus in Microsoft Office XP, which uses shaded menus.
20 Test transient windows: Run a program (ie Excel) seamlessly and open 20 Test transient windows: Run a program (i.e. Excel) seamlessly and open
a modal dialog (ie Open). Move the dialog so it partially overlaps a modal dialog (i.e. Open). Move the dialog so it partially overlaps
its parent window. Cover both windows with a third (ie a maximized its parent window. Cover both windows with a third (i.e. a maximized
xterm). Click on Excel's taskbar entry to bring it to the front. xterm). Click on Excel's taskbar entry to bring it to the front.
@ -425,7 +425,7 @@ Blackbox, IceWM etc). You can also test without a window manager.
(...\seamlessrdpshell.exe taskmgr). From Task Manager's File menu, (...\seamlessrdpshell.exe taskmgr). From Task Manager's File menu,
select 'New Task (Run)' and run Notepad. Move Notepad so it select 'New Task (Run)' and run Notepad. Move Notepad so it
partially overlaps Task Manager. Cover both windows with a native partially overlaps Task Manager. Cover both windows with a native
window (ie a maximized xterm). Click on Notepad's taskbar entry to window (i.e. a maximized xterm). Click on Notepad's taskbar entry to
bring it to the front. bring it to the front.
@ -461,7 +461,7 @@ Blackbox, IceWM etc). You can also test without a window manager.
broken WM at startup. broken WM at startup.
26 If running on a 64 bit Windows version, try a 32 bit application: 26 If running on a 64-bit Windows version, try a 32-bit application:
Run Task Manager seamlessly (...\seamlessrdpshell.exe Run Task Manager seamlessly (...\seamlessrdpshell.exe
taskmgr). From Task Manager's File menu, select 'New Task (Run)' taskmgr). From Task Manager's File menu, select 'New Task (Run)'
and run %windir%\syswow64\notepad.exe. Try various window and run %windir%\syswow64\notepad.exe. Try various window

View File

@ -41,7 +41,7 @@ static Atom g_net_wm_state_maximized_vert_atom, g_net_wm_state_maximized_horz_at
Atom g_net_wm_state_atom, g_net_wm_desktop_atom, g_net_wm_ping_atom; Atom g_net_wm_state_atom, g_net_wm_desktop_atom, g_net_wm_ping_atom;
/* /*
Get window property value (32 bit format) Get window property value (32-bit format)
Returns zero on success, -1 on error Returns zero on success, -1 on error
*/ */
static int static int
@ -150,7 +150,7 @@ get_current_workarea(uint32 * x, uint32 * y, uint32 * width, uint32 * height)
if (nitems_return % 4) if (nitems_return % 4)
{ {
logger(GUI, Error, "get_current_workare(),_NET_WORKAREA has bad length"); logger(GUI, Error, "get_current_workarea(),_NET_WORKAREA has bad length");
return (-1); return (-1);
} }

4
iso.c
View File

@ -85,7 +85,7 @@ iso_send_connection_request(char *username, uint32 neg_proto)
if (g_rdp_version >= RDP_V5 && g_negotiate_rdp_protocol) if (g_rdp_version >= RDP_V5 && g_negotiate_rdp_protocol)
{ {
/* optional rdp protocol negotiation request for RDPv5 */ /* optional RDP protocol negotiation request for RDPv5 */
out_uint8(s, RDP_NEG_REQ); out_uint8(s, RDP_NEG_REQ);
out_uint8(s, 0); out_uint8(s, 0);
out_uint16(s, 8); out_uint16(s, 8);
@ -297,7 +297,7 @@ iso_connect(char *server, char *username, char *domain, char *password,
if (reason != NULL) if (reason != NULL)
{ {
logger(Protocol, Warning, logger(Protocol, Warning,
"Protocol negotation failed with reason: %s", "Protocol negotiation failed with reason: %s",
reason); reason);
} }

View File

@ -58,7 +58,7 @@ licence_generate_hwid(uint8 * hwid)
strncpy((char *) (hwid + 4), g_hostname, LICENCE_HWID_SIZE - 4); strncpy((char *) (hwid + 4), g_hostname, LICENCE_HWID_SIZE - 4);
} }
/* Send a lincece info packet to server */ /* Send a licence info packet to server */
static void static void
licence_info(uint8 * client_random, uint8 * rsa_data, licence_info(uint8 * client_random, uint8 * rsa_data,
uint8 * licence_data, int licence_size, uint8 * hwid, uint8 * signature) uint8 * licence_data, int licence_size, uint8 * hwid, uint8 * signature)
@ -188,9 +188,9 @@ licence_process_request(STREAM s)
licence_send_new_licence_request(null_data, null_data, g_username, g_hostname); licence_send_new_licence_request(null_data, null_data, g_username, g_hostname);
} }
/* Send a platform challange response packet */ /* Send a platform challenge response packet */
static void static void
licence_send_platform_challange_response(uint8 * token, uint8 * crypt_hwid, uint8 * signature) licence_send_platform_challenge_response(uint8 * token, uint8 * crypt_hwid, uint8 * signature)
{ {
uint32 sec_flags = SEC_LICENSE_PKT; uint32 sec_flags = SEC_LICENSE_PKT;
uint16 length = 58; uint16 length = 58;
@ -198,7 +198,7 @@ licence_send_platform_challange_response(uint8 * token, uint8 * crypt_hwid, uint
s = sec_init(sec_flags, length + 2); s = sec_init(sec_flags, length + 2);
out_uint8(s, LICENCE_TAG_PLATFORM_CHALLANGE_RESPONSE); out_uint8(s, LICENCE_TAG_PLATFORM_CHALLENGE_RESPONSE);
out_uint8(s, ((g_rdp_version >= RDP_V5) ? 3 : 2)); /* version */ out_uint8(s, ((g_rdp_version >= RDP_V5) ? 3 : 2)); /* version */
out_uint16_le(s, length); out_uint16_le(s, length);
@ -216,9 +216,9 @@ licence_send_platform_challange_response(uint8 * token, uint8 * crypt_hwid, uint
sec_send(s, sec_flags); sec_send(s, sec_flags);
} }
/* Parse an platform challange request packet */ /* Parse an platform challenge request packet */
static RD_BOOL static RD_BOOL
licence_parse_platform_challange(STREAM s, uint8 ** token, uint8 ** signature) licence_parse_platform_challenge(STREAM s, uint8 ** token, uint8 ** signature)
{ {
uint16 tokenlen; uint16 tokenlen;
@ -238,9 +238,9 @@ licence_parse_platform_challange(STREAM s, uint8 ** token, uint8 ** signature)
return s_check_end(s); return s_check_end(s);
} }
/* Process a platform challange packet */ /* Process a platform challenge packet */
static void static void
licence_process_platform_challange(STREAM s) licence_process_platform_challenge(STREAM s)
{ {
uint8 *in_token = NULL, *in_sig; uint8 *in_token = NULL, *in_sig;
uint8 out_token[LICENCE_TOKEN_SIZE], decrypt_token[LICENCE_TOKEN_SIZE]; uint8 out_token[LICENCE_TOKEN_SIZE], decrypt_token[LICENCE_TOKEN_SIZE];
@ -250,7 +250,7 @@ licence_process_platform_challange(STREAM s)
RDSSL_RC4 crypt_key; RDSSL_RC4 crypt_key;
/* Parse incoming packet and save the encrypted token */ /* Parse incoming packet and save the encrypted token */
licence_parse_platform_challange(s, &in_token, &in_sig); licence_parse_platform_challenge(s, &in_token, &in_sig);
memcpy(out_token, in_token, LICENCE_TOKEN_SIZE); memcpy(out_token, in_token, LICENCE_TOKEN_SIZE);
/* Decrypt the token. It should read TEST in Unicode. */ /* Decrypt the token. It should read TEST in Unicode. */
@ -267,7 +267,7 @@ licence_process_platform_challange(STREAM s)
rdssl_rc4_set_key(&crypt_key, g_licence_key, 16); rdssl_rc4_set_key(&crypt_key, g_licence_key, 16);
rdssl_rc4_crypt(&crypt_key, hwid, crypt_hwid, LICENCE_HWID_SIZE); rdssl_rc4_crypt(&crypt_key, hwid, crypt_hwid, LICENCE_HWID_SIZE);
licence_send_platform_challange_response(out_token, crypt_hwid, out_sig); licence_send_platform_challenge_response(out_token, crypt_hwid, out_sig);
} }
/* Process a new licence packet */ /* Process a new licence packet */
@ -327,7 +327,7 @@ licence_process_error_alert(STREAM s)
return; return;
} }
/* handle error codes, for now, jsut report them */ /* handle error codes, for now, just report them */
switch (error_code) switch (error_code)
{ {
case 0x6: // ERR_NO_LICENSE_SERVER case 0x6: // ERR_NO_LICENSE_SERVER
@ -370,8 +370,8 @@ licence_process(STREAM s)
licence_process_request(s); licence_process_request(s);
break; break;
case LICENCE_TAG_PLATFORM_CHALLANGE: case LICENCE_TAG_PLATFORM_CHALLENGE:
licence_process_platform_challange(s); licence_process_platform_challenge(s);
break; break;
case LICENCE_TAG_NEW_LICENCE: case LICENCE_TAG_NEW_LICENCE:

View File

@ -50,7 +50,7 @@ handle_child_line(const char *line, void *data)
if (str_startswith(line, "Class:")) if (str_startswith(line, "Class:"))
{ {
val = line + sizeof("Class:"); val = line + sizeof("Class:");
/* Skip whitespace and second Class: occurance */ /* Skip whitespace and second Class: occurrence */
val += strspn(val, " \t") + sizeof("Class"); val += strspn(val, " \t") + sizeof("Class");
current_device.klass = strtol(val, NULL, 16); current_device.klass = strtol(val, NULL, 16);
} }
@ -121,7 +121,7 @@ lspci_process_line(const char *line, void *data)
} }
else else
{ {
logger(Core, Error, "lspci_process_line(), invlid line '%s'", line); logger(Core, Error, "lspci_process_line(), invalid line '%s'", line);
} }
return True; return True;
} }

4
mppc.c
View File

@ -27,7 +27,7 @@
/* Contacts: */ /* Contacts: */
/* hifn contact mentioned in the faq is */ /* hifn contact mentioned in the FAQ is */
/* Robert Friend rfriend at hifn dot com */ /* Robert Friend rfriend at hifn dot com */
/* if you have questions regarding MPPC */ /* if you have questions regarding MPPC */
@ -41,7 +41,7 @@
/* Algorithm: */ /* Algorithm: */
/* as the rfc states the algorithm seems to */ /* as the RFC states the algorithm seems to */
/* be LZ77 with a sliding buffer */ /* be LZ77 with a sliding buffer */
/* that is empty at init. */ /* that is empty at init. */

View File

@ -35,7 +35,7 @@ extern RDPDR_DEVICE g_rdpdr_device[];
/* Enumeration of devices from rdesktop.c */ /* Enumeration of devices from rdesktop.c */
/* returns numer of units found and initialized. */ /* returns number of units found and initialized. */
/* optarg looks like ':LPT1=/dev/lp0' */ /* optarg looks like ':LPT1=/dev/lp0' */
/* when it arrives to this function. */ /* when it arrives to this function. */
int int
@ -60,7 +60,7 @@ parallel_enum_devices(uint32 * id, char *optarg)
g_rdpdr_device[*id].local_path = xmalloc(strlen(pos2) + 1); g_rdpdr_device[*id].local_path = xmalloc(strlen(pos2) + 1);
strcpy(g_rdpdr_device[*id].local_path, pos2); strcpy(g_rdpdr_device[*id].local_path, pos2);
logger(Core, Debug, "parallell_enum_devices(), %s to %s", optarg, pos2); logger(Core, Debug, "parallel_enum_devices(), %s to %s", optarg, pos2);
/* set device type */ /* set device type */
g_rdpdr_device[*id].device_type = DEVICE_TYPE_PARALLEL; g_rdpdr_device[*id].device_type = DEVICE_TYPE_PARALLEL;
@ -88,13 +88,13 @@ parallel_create(uint32 device_id, uint32 access, uint32 share_mode, uint32 dispo
parallel_fd = open(g_rdpdr_device[device_id].local_path, O_RDWR); parallel_fd = open(g_rdpdr_device[device_id].local_path, O_RDWR);
if (parallel_fd == -1) if (parallel_fd == -1)
{ {
logger(Core, Error, "parallell_create(), open failed: %s", strerror(errno)); logger(Core, Error, "parallel_create(), open failed: %s", strerror(errno));
return RD_STATUS_ACCESS_DENIED; return RD_STATUS_ACCESS_DENIED;
} }
/* all read and writes should be non blocking */ /* all read and writes should be non blocking */
if (fcntl(parallel_fd, F_SETFL, O_NONBLOCK) == -1) if (fcntl(parallel_fd, F_SETFL, O_NONBLOCK) == -1)
logger(Core, Error, "parallell_create(), fcntl failed: %s", strerror(errno)); logger(Core, Error, "parallel_create(), fcntl failed: %s", strerror(errno));
#if defined(LPABORT) #if defined(LPABORT)
/* Retry on errors */ /* Retry on errors */

View File

@ -132,7 +132,7 @@ pstcache_enumerate(uint8 id, HASH_KEY * keylist)
{ {
memcpy(keylist[idx], cellhdr.key, sizeof(HASH_KEY)); memcpy(keylist[idx], cellhdr.key, sizeof(HASH_KEY));
/* Pre-cache (not possible for 8 bit colour depth cause it needs a colourmap) */ /* Pre-cache (not possible for 8-bit colour depth cause it needs a colourmap) */
if (g_bitmap_cache_precache && cellhdr.stamp && g_server_depth > 8) if (g_bitmap_cache_precache && cellhdr.stamp && g_server_depth > 8)
pstcache_load_bitmap(id, idx); pstcache_load_bitmap(id, idx);

View File

@ -49,7 +49,7 @@
#include "ssl.h" #include "ssl.h"
/* Reconnect timeout based on approxiamted cookie life-time */ /* Reconnect timeout based on approximated cookie life-time */
#define RECONNECT_TIMEOUT (3600+600) #define RECONNECT_TIMEOUT (3600+600)
#define RDESKTOP_LICENSE_STORE "/.local/share/rdesktop/licenses" #define RDESKTOP_LICENSE_STORE "/.local/share/rdesktop/licenses"
@ -171,7 +171,7 @@ usage(char *program)
fprintf(stderr, " -p: password (- to prompt)\n"); fprintf(stderr, " -p: password (- to prompt)\n");
fprintf(stderr, " -n: client hostname\n"); fprintf(stderr, " -n: client hostname\n");
fprintf(stderr, " -k: keyboard layout on server (en-us, de, sv, etc.)\n"); fprintf(stderr, " -k: keyboard layout on server (en-us, de, sv, etc.)\n");
fprintf(stderr, " -g: desktop geometry (WxH[@dpi])\n"); fprintf(stderr, " -g: desktop geometry (WxH[@DPI][+X[+Y]])\n");
#ifdef WITH_SCARD #ifdef WITH_SCARD
fprintf(stderr, " -i: enables smartcard authentication, password is used as pin\n"); fprintf(stderr, " -i: enables smartcard authentication, password is used as pin\n");
#endif #endif
@ -190,7 +190,7 @@ usage(char *program)
fprintf(stderr, " -S: caption button size (single application mode)\n"); fprintf(stderr, " -S: caption button size (single application mode)\n");
fprintf(stderr, " -T: window title\n"); fprintf(stderr, " -T: window title\n");
fprintf(stderr, " -t: disable use of remote ctrl\n"); fprintf(stderr, " -t: disable use of remote ctrl\n");
fprintf(stderr, " -N: enable numlock syncronization\n"); fprintf(stderr, " -N: enable numlock synchronization\n");
fprintf(stderr, " -X: embed into another window with a given id.\n"); fprintf(stderr, " -X: embed into another window with a given id.\n");
fprintf(stderr, " -a: connection colour depth\n"); fprintf(stderr, " -a: connection colour depth\n");
fprintf(stderr, " -z: enable rdp compression\n"); fprintf(stderr, " -z: enable rdp compression\n");
@ -229,14 +229,14 @@ usage(char *program)
fprintf(stderr, " '-r scard[:\"Scard Name\"=\"Alias Name[;Vendor Name]\"[,...]]\n"); fprintf(stderr, " '-r scard[:\"Scard Name\"=\"Alias Name[;Vendor Name]\"[,...]]\n");
fprintf(stderr, " example: -r scard:\"eToken PRO 00 00\"=\"AKS ifdh 0\"\n"); fprintf(stderr, " example: -r scard:\"eToken PRO 00 00\"=\"AKS ifdh 0\"\n");
fprintf(stderr, fprintf(stderr,
" \"eToken PRO 00 00\" -> Device in Linux/Unix enviroment\n"); " \"eToken PRO 00 00\" -> Device in GNU/Linux and UNIX environment\n");
fprintf(stderr, fprintf(stderr,
" \"AKS ifdh 0\" -> Device shown in Windows enviroment \n"); " \"AKS ifdh 0\" -> Device shown in Windows environment \n");
fprintf(stderr, " example: -r scard:\"eToken PRO 00 00\"=\"AKS ifdh 0;AKS\"\n"); fprintf(stderr, " example: -r scard:\"eToken PRO 00 00\"=\"AKS ifdh 0;AKS\"\n");
fprintf(stderr, fprintf(stderr,
" \"eToken PRO 00 00\" -> Device in Linux/Unix enviroment\n"); " \"eToken PRO 00 00\" -> Device in GNU/Linux and UNIX environment\n");
fprintf(stderr, fprintf(stderr,
" \"AKS ifdh 0\" -> Device shown in Windows enviroment \n"); " \"AKS ifdh 0\" -> Device shown in Microsoft Windows environment \n");
fprintf(stderr, fprintf(stderr,
" \"AKS\" -> Device vendor name \n"); " \"AKS\" -> Device vendor name \n");
#endif #endif
@ -250,7 +250,7 @@ usage(char *program)
fprintf(stderr, fprintf(stderr,
" is used to authenticate the user by smartcard\n"); " is used to authenticate the user by smartcard\n");
fprintf(stderr, fprintf(stderr,
" sc-container-name Specifies the container name, this is usally the username\n"); " sc-container-name Specifies the container name, this is usually the username\n");
fprintf(stderr, " sc-reader-name Smartcard reader name to use\n"); fprintf(stderr, " sc-reader-name Smartcard reader name to use\n");
fprintf(stderr, fprintf(stderr,
" sc-card-name Specifies the card name of the smartcard to use\n"); " sc-card-name Specifies the card name of the smartcard to use\n");
@ -403,7 +403,7 @@ handle_disconnect_reason(RD_BOOL deactivated, uint16 reason)
break; break;
case ERRINFO_CB_REDIRECTING_TO_DESTINATION: case ERRINFO_CB_REDIRECTING_TO_DESTINATION:
text = "Error occured while being redirected by broker"; text = "Error occurred while being redirected by broker";
retval = EXRD_CB_REDIR_DEST; retval = EXRD_CB_REDIR_DEST;
break; break;
@ -569,7 +569,7 @@ parse_server_and_port(char *server)
} }
else else
{ {
/* dns name or IPv4 style address format - server.example.com:port or 1.2.3.4:port */ /* DNS name or IPv4 style address format - server.example.com:port or 1.2.3.4:port */
p = strchr(server, ':'); p = strchr(server, ':');
if (p != NULL) if (p != NULL)
{ {
@ -678,7 +678,7 @@ main(int argc, char *argv[])
STRNCPY(g_password, optarg, sizeof(g_password)); STRNCPY(g_password, optarg, sizeof(g_password));
flags |= RDP_INFO_AUTOLOGON; flags |= RDP_INFO_AUTOLOGON;
/* try to overwrite argument so it won't appear in ps */ /* try to overwrite argument so it won't appear in `ps` */
p = optarg; p = optarg;
while (*p) while (*p)
*(p++) = 'X'; *(p++) = 'X';
@ -723,7 +723,7 @@ main(int argc, char *argv[])
if (g_height <= 0) if (g_height <= 0)
{ {
logger(Core, Error, "invalid geometry heigth specified"); logger(Core, Error, "invalid geometry height specified");
return EX_USAGE; return EX_USAGE;
} }
@ -866,7 +866,7 @@ main(int argc, char *argv[])
g_rdp5_performanceflags = (PERF_DISABLE_WALLPAPER | g_rdp5_performanceflags = (PERF_DISABLE_WALLPAPER |
PERF_ENABLE_FONT_SMOOTHING); PERF_ENABLE_FONT_SMOOTHING);
} }
else if (str_startswith(optarg, "l")) /* lan */ else if (str_startswith(optarg, "l")) /* LAN */
{ {
g_rdp5_performanceflags = PERF_ENABLE_FONT_SMOOTHING; g_rdp5_performanceflags = PERF_ENABLE_FONT_SMOOTHING;
} }
@ -1499,7 +1499,7 @@ hexdump(unsigned char *p, unsigned int len)
Needle may be escaped by a backslash, in Needle may be escaped by a backslash, in
that case we ignore that particular needle. that case we ignore that particular needle.
return value: returns next src pointer, for return value: returns next src pointer, for
succesive executions, like in a while loop successive executions, like in a while loop
if retval is 0, then there are no more args. if retval is 0, then there are no more args.
pitfalls: pitfalls:
src is modified. 0x00 chars are inserted to src is modified. 0x00 chars are inserted to
@ -1830,7 +1830,7 @@ rd_create_ui()
{ {
if (!ui_have_window()) if (!ui_have_window())
{ {
/* create a window if we dont have one intialized */ /* create a window if we don't have one initialized */
if (!ui_create_window()) if (!ui_create_window())
exit(EX_OSERR); exit(EX_OSERR);
} }

View File

@ -164,7 +164,7 @@
((tvp)->tv_sec = (tvp)->tv_usec = 0) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
#endif #endif
/* If configure does not define the endianess, try /* If configure does not define the endianness, try
to find it out */ to find it out */
#if !defined(L_ENDIAN) && !defined(B_ENDIAN) #if !defined(L_ENDIAN) && !defined(B_ENDIAN)
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN

View File

@ -10,8 +10,7 @@ Packager: Peter Åstrand <astrand@cendio.se>
%description %description
rdesktop is a client for Remote Desktop Protocol (RDP), used in a number of rdesktop is a client for Remote Desktop Protocol (RDP), used in a number of
Microsoft products including Windows NT Terminal Server, Windows 2000 Server, Microsoft products. It is known to work with Microsoft Windows server versions ranging from NT 4 terminal server to Windows Server 2012 R2.
Windows XP, Windows 2003 Server and Windows 2008r2.
%prep %prep
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT

14
rdp.c
View File

@ -354,7 +354,7 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
{ {
flags |= RDP_INFO_AUTOLOGON; flags |= RDP_INFO_AUTOLOGON;
len_password = g_redirect_cookie_len; len_password = g_redirect_cookie_len;
len_password -= 2; /* substract 2 bytes which is added below */ len_password -= 2; /* subtract 2 bytes which is added below */
logger(Protocol, Debug, logger(Protocol, Debug,
"rdp_send_logon_info(), Using %d bytes redirect cookie as password", "rdp_send_logon_info(), Using %d bytes redirect cookie as password",
g_redirect_cookie_len); g_redirect_cookie_len);
@ -375,8 +375,8 @@ rdp_send_logon_info(uint32 flags, char *domain, char *user,
2 + len_program + /* AlternateShell */ 2 + len_program + /* AlternateShell */
2 + len_directory + /* WorkingDir */ 2 + len_directory + /* WorkingDir */
/* size of TS_EXTENDED_INFO_PACKET */ /* size of TS_EXTENDED_INFO_PACKET */
2 + /* clientAdressFamily */ 2 + /* clientAddressFamily */
2 + /* cbClientAdress */ 2 + /* cbClientAddress */
len_ip + /* clientAddress */ len_ip + /* clientAddress */
2 + /* cbClientDir */ 2 + /* cbClientDir */
len_dll + /* clientDir */ len_dll + /* clientDir */
@ -566,7 +566,7 @@ rdp_send_suppress_output_pdu(enum RDP_SUPPRESS_STATUS allowupdates)
current_status = allowupdates; current_status = allowupdates;
} }
/* Send persistent bitmap cache enumeration PDU's */ /* Send persistent bitmap cache enumeration PDUs */
static void static void
rdp_enum_bmpcache2(void) rdp_enum_bmpcache2(void)
{ {
@ -1741,14 +1741,14 @@ process_redirect_pdu(STREAM s, RD_BOOL enhanced_redirect /*, uint32 * ext_disc_r
{ {
in_uint32_le(s, len); in_uint32_le(s, len);
/* Let target fqdn replace target ip address */ /* Let target FQDN replace target IP address */
if (g_redirect_server) if (g_redirect_server)
{ {
free(g_redirect_server); free(g_redirect_server);
g_redirect_server = NULL; g_redirect_server = NULL;
} }
/* read fqdn string */ /* read FQDN string */
rdp_in_unistr(s, len, &g_redirect_server, &g_redirect_server_len); rdp_in_unistr(s, len, &g_redirect_server, &g_redirect_server_len);
} }
@ -1806,7 +1806,7 @@ rdp_main_loop(RD_BOOL * deactivated, uint32 * ext_disc_reason)
} }
} }
/* used in uiports and rdp_main_loop, processes the rdp packets waiting */ /* used in uiports and rdp_main_loop, processes the RDP packets waiting */
RD_BOOL RD_BOOL
rdp_loop(RD_BOOL * deactivated, uint32 * ext_disc_reason) rdp_loop(RD_BOOL * deactivated, uint32 * ext_disc_reason)
{ {

View File

@ -83,7 +83,7 @@ char *g_rdpdr_clientname = NULL;
/* Used to store incoming io request, until they are ready to be completed */ /* Used to store incoming io request, until they are ready to be completed */
/* using a linked list ensures that they are processed in the right order, */ /* using a linked list ensures that they are processed in the right order, */
/* if multiple ios are being done on the same fd */ /* if multiple IOs are being done on the same FD */
struct async_iorequest struct async_iorequest
{ {
uint32 fd, major, minor, offset, device, id, length, partial_len; uint32 fd, major, minor, offset, device, id, length, partial_len;
@ -929,7 +929,7 @@ rdpdr_init()
void void
rdpdr_add_fds(int *n, fd_set * rfds, fd_set * wfds, struct timeval *tv, RD_BOOL * timeout) rdpdr_add_fds(int *n, fd_set * rfds, fd_set * wfds, struct timeval *tv, RD_BOOL * timeout)
{ {
uint32 select_timeout = 0; /* Timeout value to be used for select() (in millisecons). */ uint32 select_timeout = 0; /* Timeout value to be used for select() (in milliseconds). */
struct async_iorequest *iorq; struct async_iorequest *iorq;
char c; char c;

View File

@ -224,7 +224,7 @@ rdpsnd_process_negotiate(STREAM in)
uint32 flags = TSSNDCAPS_VOLUME; uint32 flags = TSSNDCAPS_VOLUME;
/* if sound is enabled, set snd caps to alive to enable /* if sound is enabled, set snd caps to alive to enable
transmision of audio from server */ transmission of audio from server */
if (g_rdpsnd) if (g_rdpsnd)
{ {
flags |= TSSNDCAPS_ALIVE; flags |= TSSNDCAPS_ALIVE;

View File

@ -228,12 +228,12 @@ rdpsnd_dsp_resample(unsigned char **out, unsigned char *in, unsigned int size,
} }
/* Expand 8bit input-samples to 16bit */ /* Expand 8-bit input-samples to 16-bit */
#ifndef HAVE_LIBSAMPLERATE /* libsamplerate needs 16bit samples */ #ifndef HAVE_LIBSAMPLERATE /* libsamplerate needs 16-bit samples */
if (format->wBitsPerSample != resample_to_bitspersample) if (format->wBitsPerSample != resample_to_bitspersample)
#endif #endif
{ {
/* source: 8 bit, dest: 16bit */ /* source: 8 bit, dest: 16 bit */
if (format->wBitsPerSample == 8) if (format->wBitsPerSample == 8)
{ {
tmp = tmpdata; tmp = tmpdata;
@ -259,7 +259,7 @@ rdpsnd_dsp_resample(unsigned char **out, unsigned char *in, unsigned int size,
if (src_converter == NULL) if (src_converter == NULL)
{ {
logger(Sound, Warning, logger(Sound, Warning,
"rdpsndp_dsp_resample_set(), no samplerate converter available"); "rdpsndp_dsp_resample_set(), no sample rate converter available");
return 0; return 0;
} }
@ -368,8 +368,8 @@ rdpsnd_dsp_resample(unsigned char **out, unsigned char *in, unsigned int size,
if (tmpdata != NULL) if (tmpdata != NULL)
xfree(tmpdata); xfree(tmpdata);
/* Shrink 16bit output-samples to 8bit */ /* Shrink 16-bit output-samples to 8-bit */
#ifndef HAVE_LIBSAMPLERATE /* libsamplerate produces 16bit samples */ #ifndef HAVE_LIBSAMPLERATE /* libsamplerate produces 16-bit samples */
if (format->wBitsPerSample != resample_to_bitspersample) if (format->wBitsPerSample != resample_to_bitspersample)
#endif #endif
{ {

View File

@ -13,7 +13,7 @@
0x61 - 0x79: Normal 0x61 - 0x79: Normal
0xfa - : keyboard drivers interpret these as responses from the 8042 chip 0xfa - : keyboard drivers interpret these as responses from the 8042 chip
We use bit 7 to indicate 0xe0 prefix instead of two-byte sequence (0xe0, something). Eq., We use bit 7 to indicate 0xe0 prefix instead of two-byte sequence (0xe0, something). E.g.
0xe 0x38 is defined as (0x80 | 0x38) 0xe 0x38 is defined as (0x80 | 0x38)
*/ */

16
scard.c
View File

@ -265,10 +265,10 @@ scard_enum_devices(uint32 * id, char *optarg)
typedef struct _scard_handle_list_t typedef struct _scard_handle_list_t
{ {
struct _scard_handle_list_t *next; struct _scard_handle_list_t *next;
/* pcsc handles is datatype long which /* PCSC handle is datatype long which
is arch sizedependent */ is arch size-dependent */
long handle; long handle;
/* rdp server handles are always 32bit */ /* RDP server handles are always 32 bit */
uint32_t server; uint32_t server;
} _scard_handle_list_t; } _scard_handle_list_t;
@ -284,7 +284,7 @@ void
_scard_handle_list_add(long handle) _scard_handle_list_add(long handle)
{ {
_scard_handle_list_t *list = g_scard_handle_list; _scard_handle_list_t *list = g_scard_handle_list;
/* we dont care of order of list so to simplify the add /* we don't care of order of list so to simplify the add
we add new items to front of list */ we add new items to front of list */
_scard_handle_list_t *item = xmalloc(sizeof(_scard_handle_list_t)); _scard_handle_list_t *item = xmalloc(sizeof(_scard_handle_list_t));
item->next = list; item->next = list;
@ -730,7 +730,7 @@ TS_SCardEstablishContext(STREAM in, STREAM out)
bail_out: bail_out:
out_uint32_le(out, 0x00000004); out_uint32_le(out, 0x00000004);
out_uint32_le(out, hContext); /* must not be 0 (Seems to be pointer), don't know what is this (I use hContext as value) */ out_uint32_le(out, hContext); /* must not be 0 (Seems to be pointer), don't know what is this (I use hContext as value) */
/* i hope it's not a pointer because i just downcasted it - jlj */ /* I hope it's not a pointer because i just downcasted it - jlj */
out_uint32_le(out, 0x00000004); out_uint32_le(out, 0x00000004);
out_uint32_le(out, hContext); out_uint32_le(out, hContext);
outForceAlignment(out, 8); outForceAlignment(out, 8);
@ -1251,7 +1251,7 @@ TS_SCardGetStatusChange(STREAM in, STREAM out, RD_BOOL wide)
memset(myRsArray, 0, dwCount * sizeof(SERVER_SCARD_READERSTATE_A)); memset(myRsArray, 0, dwCount * sizeof(SERVER_SCARD_READERSTATE_A));
copyReaderState_ServerToMyPCSC(rsArray, myRsArray, (SERVER_DWORD) dwCount); copyReaderState_ServerToMyPCSC(rsArray, myRsArray, (SERVER_DWORD) dwCount);
/* Workaround for a bug in pcsclite, timeout value of 0 is handled as INFINIT /* Workaround for a bug in pcsc-lite, timeout value of 0 is handled as INFINIT
but is by Windows PCSC spec. used for polling current state. but is by Windows PCSC spec. used for polling current state.
*/ */
if (dwTimeout == 0) if (dwTimeout == 0)
@ -2292,7 +2292,7 @@ scard_device_control(RD_NTHANDLE handle, uint32 request, STREAM in, STREAM out)
out_uint32_le(out, 0xCCCCCCCC); out_uint32_le(out, 0xCCCCCCCC);
psize = out->p; psize = out->p;
out_uint32_le(out, 0x00000000); /* Size of data portion */ out_uint32_le(out, 0x00000000); /* Size of data portion */
out_uint32_le(out, 0x00000000); /* Zero bytes (may be usefull) */ out_uint32_le(out, 0x00000000); /* Zero bytes (may be useful) */
pStatusCode = out->p; pStatusCode = out->p;
out_uint32_le(out, 0x00000000); /* Status Code */ out_uint32_le(out, 0x00000000); /* Status Code */
@ -2590,7 +2590,7 @@ SC_deviceControl(PSCThreadData data)
buffer_len = (size_t) data->out->p - (size_t) data->out->data; buffer_len = (size_t) data->out->p - (size_t) data->out->data;
/* if iorequest belongs to another epoch, don't send response /* if iorequest belongs to another epoch, don't send response
back to server due to it's considered as abdonend. back to server due to it's considered as abandoned.
*/ */
if (data->epoch == curEpoch) if (data->epoch == curEpoch)
rdpdr_send_completion(data->device, data->id, 0, buffer_len, data->out->data, rdpdr_send_completion(data->device, data->id, 0, buffer_len, data->out->data,

View File

@ -359,7 +359,7 @@ seamless_line_handler(const char *line, void *data)
{ {
if (!seamless_process_line(line, data)) if (!seamless_process_line(line, data))
{ {
logger(Core, Warning, "seamless_line_handler(), invlid request '%s'", line); logger(Core, Warning, "seamless_line_handler(), invalid request '%s'", line);
} }
return True; return True;
} }

View File

@ -882,7 +882,7 @@ sec_recv(uint8 * rdpver)
{ {
/* for some reason the PDU and the length seem to be swapped. /* for some reason the PDU and the length seem to be swapped.
This isn't good, but we're going to do a byte for byte This isn't good, but we're going to do a byte for byte
swap. So the first foure value appear as: 00 04 XX YY, swap. So the first four value appear as: 00 04 XX YY,
where XX YY is the little endian length. We're going to where XX YY is the little endian length. We're going to
use 04 00 as the PDU type, so after our swap this will look use 04 00 as the PDU type, so after our swap this will look
like: XX YY 04 00 */ like: XX YY 04 00 */
@ -941,7 +941,7 @@ sec_connect(char *server, char *username, char *domain, char *password, RD_BOOL
mcs_data.p = mcs_data.data = (uint8 *) xmalloc(mcs_data.size); mcs_data.p = mcs_data.data = (uint8 *) xmalloc(mcs_data.size);
sec_out_mcs_connect_initial_pdu(&mcs_data, selected_proto); sec_out_mcs_connect_initial_pdu(&mcs_data, selected_proto);
/* finialize the MCS connect sequence */ /* finalize the MCS connect sequence */
if (!mcs_connect_finalize(&mcs_data)) if (!mcs_connect_finalize(&mcs_data))
return False; return False;

View File

@ -92,14 +92,14 @@
/* SERIAL_WAIT_ON_MASK */ /* SERIAL_WAIT_ON_MASK */
#define SERIAL_EV_RXCHAR 0x0001 /* Any Character received */ #define SERIAL_EV_RXCHAR 0x0001 /* Any Character received */
#define SERIAL_EV_RXFLAG 0x0002 /* Received certain character */ #define SERIAL_EV_RXFLAG 0x0002 /* Received certain character */
#define SERIAL_EV_TXEMPTY 0x0004 /* Transmitt Queue Empty */ #define SERIAL_EV_TXEMPTY 0x0004 /* Transmit Queue Empty */
#define SERIAL_EV_CTS 0x0008 /* CTS changed state */ #define SERIAL_EV_CTS 0x0008 /* CTS changed state */
#define SERIAL_EV_DSR 0x0010 /* DSR changed state */ #define SERIAL_EV_DSR 0x0010 /* DSR changed state */
#define SERIAL_EV_RLSD 0x0020 /* RLSD changed state */ #define SERIAL_EV_RLSD 0x0020 /* RLSD changed state */
#define SERIAL_EV_BREAK 0x0040 /* BREAK received */ #define SERIAL_EV_BREAK 0x0040 /* BREAK received */
#define SERIAL_EV_ERR 0x0080 /* Line status error occurred */ #define SERIAL_EV_ERR 0x0080 /* Line status error occurred */
#define SERIAL_EV_RING 0x0100 /* Ring signal detected */ #define SERIAL_EV_RING 0x0100 /* Ring signal detected */
#define SERIAL_EV_PERR 0x0200 /* Printer error occured */ #define SERIAL_EV_PERR 0x0200 /* Printer error occurred */
#define SERIAL_EV_RX80FULL 0x0400 /* Receive buffer is 80 percent full */ #define SERIAL_EV_RX80FULL 0x0400 /* Receive buffer is 80 percent full */
#define SERIAL_EV_EVENT1 0x0800 /* Provider specific event 1 */ #define SERIAL_EV_EVENT1 0x0800 /* Provider specific event 1 */
#define SERIAL_EV_EVENT2 0x1000 /* Provider specific event 2 */ #define SERIAL_EV_EVENT2 0x1000 /* Provider specific event 2 */
@ -502,7 +502,7 @@ set_termios(SERIAL_DEVICE * pser_inf, RD_NTHANDLE serial_fd)
} }
/* Enumeration of devices from rdesktop.c */ /* Enumeration of devices from rdesktop.c */
/* returns numer of units found and initialized. */ /* returns number of units found and initialized. */
/* optarg looks like ':com1=/dev/ttyS0' */ /* optarg looks like ':com1=/dev/ttyS0' */
/* when it arrives to this function. */ /* when it arrives to this function. */
/* :com1=/dev/ttyS0,com2=/dev/ttyS1 */ /* :com1=/dev/ttyS0,com2=/dev/ttyS1 */
@ -1057,7 +1057,7 @@ serial_get_event(RD_NTHANDLE handle, uint32 * result)
return ret; return ret;
} }
/* Read timeout for a given file descripter (device) when adding fd's to select() */ /* Read timeout for a given file descriptor (device) when adding FDs to select() */
RD_BOOL RD_BOOL
serial_get_timeout(RD_NTHANDLE handle, uint32 length, uint32 * timeout, uint32 * itv_timeout) serial_get_timeout(RD_NTHANDLE handle, uint32 length, uint32 * timeout, uint32 * itv_timeout)
{ {

2
ssl.c
View File

@ -170,7 +170,7 @@ rdssl_cert_to_rkey(RDSSL_CERT * cert, uint32 * key_len)
/* By some reason, Microsoft sets the OID of the Public RSA key to /* By some reason, Microsoft sets the OID of the Public RSA key to
the oid for "MD5 with RSA Encryption" instead of "RSA Encryption" the oid for "MD5 with RSA Encryption" instead of "RSA Encryption"
Kudos to Richard Levitte for the following (. intiutive .) Kudos to Richard Levitte for the following (. intuitive .)
lines of code that resets the OID and let's us extract the key. */ lines of code that resets the OID and let's us extract the key. */
X509_PUBKEY *key = NULL; X509_PUBKEY *key = NULL;

View File

@ -1,7 +1,7 @@
This is the nanox ui port This is the nanox ui port
tested with versions 0.90 tested with versions 0.90
makefile_nanox can be edited to change file localtions makefile_nanox can be edited to change file locations
run make -f makefile_nanox in this directory to compile it run make -f makefile_nanox in this directory to compile it
nanoxreadme.txt - notes, this file nanoxreadme.txt - notes, this file

View File

@ -19,7 +19,7 @@
/* /*
problems with nanox lib problems with nanox lib
opcodes don't work, can only rely on copy opcodes don't work, can only rely on copy
stipple orgins don't work stipple origins don't work
clip seems to affect source too, it should only affect dest clip seems to affect source too, it should only affect dest
in copyarea functions in copyarea functions
*/ */
@ -261,7 +261,7 @@ void ui_set_clip(int x, int y, int cx, int cy)
region = GrNewRegion(); region = GrNewRegion();
GrUnionRectWithRegion(region, &g_clip); GrUnionRectWithRegion(region, &g_clip);
GrSetGCRegion(g_gc, region); /* can't destroy region here, i guess gc */ GrSetGCRegion(g_gc, region); /* can't destroy region here, i guess gc */
/* takes owership, if you destroy it */ /* takes ownership, if you destroy it */
/* clip is reset, hum */ /* clip is reset, hum */
} }
@ -282,7 +282,7 @@ void ui_bell(void)
} }
/*****************************************************************************/ /*****************************************************************************/
/* gota convert the rdp glyph to nanox glyph */ /* have to convert the RDP glyph to nanox glyph */
void * ui_create_glyph(int width, int height, uint8 * data) void * ui_create_glyph(int width, int height, uint8 * data)
{ {
char * p, * q, * r; char * p, * q, * r;

View File

@ -3,7 +3,7 @@ qt should be installed in /usr/local/qt
you may need to have LD_LIBRARY_PATH and QTDIR defined to run qtrdesktop you may need to have LD_LIBRARY_PATH and QTDIR defined to run qtrdesktop
tested with versions 2.3, 3.1 tested with versions 2.3, 3.1
makefile_qte can be edited to change file localtions makefile_qte can be edited to change file locations
run make -f makefile_qte in this directory to compile it run make -f makefile_qte in this directory to compile it
qtereadme.txt - notes, this file qtereadme.txt - notes, this file

View File

@ -1094,7 +1094,7 @@ void set_pixel(int x, int y, int pixel, int op = 0xc)
} }
/******************************************************************************/ /******************************************************************************/
// adjust coordinates for cliping rect // adjust coordinates for clipping rect
bool WarpCoords(int * x, int * y, int * cx, int * cy, int * srcx, int * srcy) bool WarpCoords(int * x, int * y, int * cx, int * cy, int * srcx, int * srcy)
{ {
int dx, dy; int dx, dy;

View File

@ -3,7 +3,7 @@ qt should be installed in /usr/local/qt
you may need to have LD_LIBRARY_PATH defined to run qtrdesktop you may need to have LD_LIBRARY_PATH defined to run qtrdesktop
tested with versions 2.3.2, 3.1.2 tested with versions 2.3.2, 3.1.2
makefile_qt can be edited to change file localtions makefile_qt can be edited to change file locations
run make -f makefile_qt in this directory to compile it run make -f makefile_qt in this directory to compile it
qtreadme.txt - notes, this file qtreadme.txt - notes, this file

View File

@ -747,7 +747,7 @@ void ui_destroy_colourmap(RD_HCOLOURMAP map)
/*****************************************************************************/ /*****************************************************************************/
void ui_set_colourmap(void * map) void ui_set_colourmap(void * map)
{ {
// destoy old colormap // destroy old colormap
ui_destroy_colourmap(g_CM); ui_destroy_colourmap(g_CM);
g_CM = (QColorMap*)map; g_CM = (QColorMap*)map;
} }
@ -813,7 +813,7 @@ RD_HBITMAP ui_create_bitmap(int width, int height, uint8 * data)
} }
//****************************************************************************** //******************************************************************************
// adjust coordinates for cliping rect // adjust coordinates for clipping rect
int WarpCoords(int * x, int * y, int * cx, int * cy, int * srcx, int * srcy) int WarpCoords(int * x, int * y, int * cx, int * cy, int * srcx, int * srcy)
{ {
int dx, dy; int dx, dy;

View File

@ -10,7 +10,7 @@ see xxxreadme.txt for info on a blank empty uiport
see qtreadme.txt for info on the Qt/X11 uiport see qtreadme.txt for info on the Qt/X11 uiport
see qtereadme.txt for info on the Qt embeded uiport see qtereadme.txt for info on the Qt embedded uiport
see svgareadme.txt for info on the svga uiport see svgareadme.txt for info on the svga uiport

View File

@ -1,5 +1,5 @@
This is the svga ui port This is the svga ui port
send any fixes or improvments to me Jay Sorg(j@american-data.com) send any fixes or improvements to me Jay Sorg(j@american-data.com)
svgalib should be installed svgalib should be installed
tested with versions 1.4.3, 1.9.x tested with versions 1.4.3, 1.9.x
@ -17,10 +17,10 @@ svgalib has some support for acceleration but most drivers
do not support it. I hope they fix this. do not support it. I hope they fix this.
The ones that do are Cirus Logic and ATI Mach 32 cards. The ones that do are Cirus Logic and ATI Mach 32 cards.
If running on really slow hardware(486), use one of these cards, If running on really slow hardware(486), use one of these cards,
it improves performance alot. it improves performance a lot.
run ./svgardesktop with no parameters to see a list of run ./svgardesktop with no parameters to see a list of
commnad line options command line options
You will need to modify the libvga.config file most likely. You will need to modify the libvga.config file most likely.
Its in /etc/vga. Its in /etc/vga.

View File

@ -74,7 +74,7 @@ static int scrolllock;
// this is non null if vgalib has non accel functions available // this is non null if vgalib has non accel functions available
// reading from video memory is sooo slow // reading from video memory is sooo slow
static uint8* sdata = 0; static uint8* sdata = 0;
static int g_save_mem = 0; // for video memory use eg sdata == 0 static int g_save_mem = 0; // for video memory use e.g. sdata == 0
// video acceleration // video acceleration
static int use_accel = 1; static int use_accel = 1;
@ -1819,7 +1819,7 @@ void out_params(void)
fprintf(stderr, " -t: tcp port\n"); fprintf(stderr, " -t: tcp port\n");
fprintf(stderr, " -u: user name\n"); fprintf(stderr, " -u: user name\n");
fprintf(stderr, " -n: client hostname\n"); fprintf(stderr, " -n: client hostname\n");
fprintf(stderr, " -d: disable accel funcs\n"); fprintf(stderr, " -d: disable acceleration functions\n");
fprintf(stderr, " -a: connection colour depth\n"); fprintf(stderr, " -a: connection colour depth\n");
fprintf(stderr, " -l: low memory\n"); fprintf(stderr, " -l: low memory\n");
fprintf(stderr, "\n"); fprintf(stderr, "\n");

View File

@ -170,7 +170,7 @@ utils_mkdir_p(const char *path, int mask)
return 0; return 0;
} }
/* Convert from system locale string to utf-8 */ /* Convert from system locale string to UTF-8 */
int int
utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os) utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os)
{ {
@ -206,7 +206,7 @@ utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os)
goto pass_trough_as_is; goto pass_trough_as_is;
} }
/* Out couldn't hold the entire convertion */ /* Out couldn't hold the entire conversion */
if (is != 0) if (is != 0)
return -1; return -1;
@ -228,7 +228,7 @@ utils_locale_to_utf8(const char *src, size_t is, char *dest, size_t os)
static char *level[] = { static char *level[] = {
"debug", "debug",
"verbose", /* Verbose mesasge for end user, no prefixed lines */ "verbose", /* Verbose message for end user, no prefixed lines */
"warning", "warning",
"error", "error",
"notice" /* Normal messages for end user, no prefixed lines */ "notice" /* Normal messages for end user, no prefixed lines */

16
xclip.c
View File

@ -154,7 +154,7 @@ utf16_lf2crlf(uint8 * data, uint32 * size)
{ {
uint8 *result; uint8 *result;
uint16 *inptr, *outptr; uint16 *inptr, *outptr;
RD_BOOL swap_endianess; RD_BOOL swap_endianness;
/* Worst case: Every char is LF */ /* Worst case: Every char is LF */
result = xmalloc((*size * 2) + 2); result = xmalloc((*size * 2) + 2);
@ -165,16 +165,16 @@ utf16_lf2crlf(uint8 * data, uint32 * size)
outptr = (uint16 *) result; outptr = (uint16 *) result;
/* Check for a reversed BOM */ /* Check for a reversed BOM */
swap_endianess = (*inptr == 0xfffe); swap_endianness = (*inptr == 0xfffe);
uint16 uvalue_previous = 0; /* Kept so we'll avoid translating CR-LF to CR-CR-LF */ uint16 uvalue_previous = 0; /* Kept so we'll avoid translating CR-LF to CR-CR-LF */
while ((uint8 *) inptr < data + *size) while ((uint8 *) inptr < data + *size)
{ {
uint16 uvalue = *inptr; uint16 uvalue = *inptr;
if (swap_endianess) if (swap_endianness)
uvalue = ((uvalue << 8) & 0xff00) + (uvalue >> 8); uvalue = ((uvalue << 8) & 0xff00) + (uvalue >> 8);
if ((uvalue == 0x0a) && (uvalue_previous != 0x0d)) if ((uvalue == 0x0a) && (uvalue_previous != 0x0d))
*outptr++ = swap_endianess ? 0x0d00 : 0x0d; *outptr++ = swap_endianness ? 0x0d00 : 0x0d;
uvalue_previous = uvalue; uvalue_previous = uvalue;
*outptr++ = *inptr++; *outptr++ = *inptr++;
} }
@ -873,7 +873,7 @@ xclip_handle_SelectionRequest(XSelectionRequestEvent * event)
is offered by the RDP server (and when it is pasted inside RDP, there's no network is offered by the RDP server (and when it is pasted inside RDP, there's no network
roundtrip). roundtrip).
This event (SelectionClear) symbolizes this rdesktop lost onwership of the clipboard This event (SelectionClear) symbolizes this rdesktop lost ownership of the clipboard
to some other X client. We should find out what clipboard formats this other to some other X client. We should find out what clipboard formats this other
client offers and announce that to RDP. */ client offers and announce that to RDP. */
void void
@ -902,7 +902,7 @@ xclip_handle_PropertyNotify(XPropertyEvent * event)
while (bytes_left > 0) while (bytes_left > 0)
{ {
/* Unlike the specification, we don't set the 'delete' arugment to True /* Unlike the specification, we don't set the 'delete' argument to True
since we slurp the INCR's chunks in even-smaller chunks of 4096 bytes. */ since we slurp the INCR's chunks in even-smaller chunks of 4096 bytes. */
if ((XGetWindowProperty if ((XGetWindowProperty
(g_display, g_wnd, rdesktop_clipboard_target_atom, offset, 4096L, (g_display, g_wnd, rdesktop_clipboard_target_atom, offset, 4096L,
@ -967,11 +967,11 @@ ui_clip_format_announce(uint8 * data, uint32 length)
XSetSelectionOwner(g_display, primary_atom, g_wnd, acquire_time); XSetSelectionOwner(g_display, primary_atom, g_wnd, acquire_time);
if (XGetSelectionOwner(g_display, primary_atom) != g_wnd) if (XGetSelectionOwner(g_display, primary_atom) != g_wnd)
logger(Clipboard, Warning, "failed to aquire ownership of PRIMARY clipboard"); logger(Clipboard, Warning, "failed to acquire ownership of PRIMARY clipboard");
XSetSelectionOwner(g_display, clipboard_atom, g_wnd, acquire_time); XSetSelectionOwner(g_display, clipboard_atom, g_wnd, acquire_time);
if (XGetSelectionOwner(g_display, clipboard_atom) != g_wnd) if (XGetSelectionOwner(g_display, clipboard_atom) != g_wnd)
logger(Clipboard, Warning, "failed to aquire ownership of CLIPBOARD clipboard"); logger(Clipboard, Warning, "failed to acquire ownership of CLIPBOARD clipboard");
if (formats_data) if (formats_data)
xfree(formats_data); xfree(formats_data);

View File

@ -208,7 +208,7 @@ add_sequence(char *rest, char *mapname)
return; return;
} }
logger(Keyboard, Debug, "add_sequence(), adding squence for keysym '%s' (0x%lx)", keyname, logger(Keyboard, Debug, "add_sequence(), adding sequence for keysym '%s' (0x%lx)", keyname,
keysym); keysym);
entry = new_key_translation_entry(keysym); entry = new_key_translation_entry(keysym);

26
xwin.c
View File

@ -151,7 +151,7 @@ static RD_BOOL g_compatible_arch;
RDP(LE) <-> host(BE) <-> X-Server(LE) RDP(LE) <-> host(BE) <-> X-Server(LE)
('host' is the machine running rdesktop; the host simply memcpy's ('host' is the machine running rdesktop; the host simply memcpy's
so its endianess doesn't matter) so its endianness doesn't matter)
*/ */
static RD_BOOL g_no_translate_image = False; static RD_BOOL g_no_translate_image = False;
@ -576,9 +576,9 @@ sw_configurenotify_p(Display * display, XEvent * xevent, XPointer arg)
throwing away crucial events like DestroyNotify. throwing away crucial events like DestroyNotify.
After a ConfigureWindow, according to ICCCM section 4.1.5, we After a ConfigureWindow, according to ICCCM section 4.1.5, we
should recieve a ConfigureNotify, either a real or synthetic should receive a ConfigureNotify, either a real or synthetic
one. This indicates that the configure has been "completed". one. This indicates that the configure has been "completed".
However, some WMs such as several versions of Metacity fails to However, some WMs such as several versions of Metacity fail to
send synthetic events. See bug send synthetic events. See bug
http://bugzilla.gnome.org/show_bug.cgi?id=322840. We need to use a http://bugzilla.gnome.org/show_bug.cgi?id=322840. We need to use a
timeout to avoid a hang. Tk uses the same approach. */ timeout to avoid a hang. Tk uses the same approach. */
@ -873,7 +873,7 @@ translate_colour(uint32 colour)
/* *INDENT-OFF* */ /* *INDENT-OFF* */
/* repeat and unroll, similar to bitmap.c */ /* repeat and unroll, similar to bitmap.c */
/* potentialy any of the following translate */ /* potentially any of the following translate */
/* functions can use repeat but just doing */ /* functions can use repeat but just doing */
/* the most common ones */ /* the most common ones */
@ -1883,8 +1883,8 @@ ui_init(void)
} }
{ {
uint16 endianess_test = 1; uint16 endianness_test = 1;
g_host_be = !(RD_BOOL) (*(uint8 *) (&endianess_test)); g_host_be = !(RD_BOOL) (*(uint8 *) (&endianness_test));
} }
g_old_error_handler = XSetErrorHandler(error_handler); g_old_error_handler = XSetErrorHandler(error_handler);
@ -2314,7 +2314,7 @@ handle_button_event(XEvent xevent, RD_BOOL down)
if (xevent.type == ButtonRelease) if (xevent.type == ButtonRelease)
{ {
/* Release the mouse button outside the minimize button, to prevent the /* Release the mouse button outside the minimize button, to prevent the
actual minimazation to happen */ actual minimization to happen */
rdp_send_input(time(NULL), input_type, button, 1, 1); rdp_send_input(time(NULL), input_type, button, 1, 1);
XIconifyWindow(g_display, g_wnd, DefaultScreen(g_display)); XIconifyWindow(g_display, g_wnd, DefaultScreen(g_display));
return; return;
@ -2939,7 +2939,7 @@ get_pixel(uint32 idx, uint8 * andmask, uint8 * xormask, int bpp, uint8 * xor_fla
{ {
// If we have an xor bit is high and // If we have an xor bit is high and
// andmask bit is low, we should // andmask bit is low, we should
// render a black pixle due to we can // render a black pixel due to we can
// not xor blit in X11. // not xor blit in X11.
argb = 0xff000000; argb = 0xff000000;
*xor_flag = 1; *xor_flag = 1;
@ -2965,7 +2965,7 @@ get_pixel(uint32 idx, uint8 * andmask, uint8 * xormask, int bpp, uint8 * xor_fla
return argb; return argb;
} }
/* Copies the pixles from src to dest with given color and offset */ /* Copies the pixels from src to dest with given color and offset */
static inline void static inline void
xcursor_stencil(XcursorImage * src, XcursorImage * dst, int dx, int dy, uint32 argb) xcursor_stencil(XcursorImage * src, XcursorImage * dst, int dx, int dy, uint32 argb)
{ {
@ -3674,7 +3674,7 @@ ui_ellipse(uint8 opcode,
break; break;
default: default:
logger(GUI, Warning, "Unimplemented brush styke %d", brush->style); logger(GUI, Warning, "Unimplemented brush style %d", brush->style);
} }
RESET_FUNCTION(opcode); RESET_FUNCTION(opcode);
@ -4093,7 +4093,7 @@ ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long p
if (parent == 0xFFFFFFFF) if (parent == 0xFFFFFFFF)
{ {
XSetTransientForHint(g_display, wnd, RootWindowOfScreen(g_screen)); XSetTransientForHint(g_display, wnd, RootWindowOfScreen(g_screen));
/* Some buggy wm:s (kwin) do not handle the above, so fake it /* Some buggy WMs (kwin) do not handle the above, so fake it
using some other hints. */ using some other hints. */
ewmh_set_window_popup(wnd); ewmh_set_window_popup(wnd);
} }
@ -4104,13 +4104,13 @@ ui_seamless_create_window(unsigned long id, unsigned long group, unsigned long p
if (sw_parent) if (sw_parent)
XSetTransientForHint(g_display, wnd, sw_parent->wnd); XSetTransientForHint(g_display, wnd, sw_parent->wnd);
else else
logger(GUI, Warning, "ui_seamles_create_window(): no parent window 0x%lx\n", logger(GUI, Warning, "ui_seamless_create_window(): no parent window 0x%lx\n",
parent); parent);
} }
if (flags & SEAMLESSRDP_CREATE_MODAL) if (flags & SEAMLESSRDP_CREATE_MODAL)
{ {
/* We do this to support buggy wm:s (*cough* metacity *cough*) /* We do this to support buggy WMs (*cough* Metacity *cough*)
somewhat at least */ somewhat at least */
if (parent == 0x00000000) if (parent == 0x00000000)
XSetTransientForHint(g_display, wnd, RootWindowOfScreen(g_screen)); XSetTransientForHint(g_display, wnd, RootWindowOfScreen(g_screen));