Browse Source

xrdp_0.9.12.orig.tar.gz

tags/upstream/0.9.12^0
mirabilos mirabilos 1 year ago
parent
commit
2539505076
No known key found for this signature in database GPG Key ID: 8950C1895EB8D3B3
65 changed files with 7479 additions and 3803 deletions
  1. +94
    -6
      NEWS.md
  2. +1
    -1
      README.md
  3. +169
    -0
      common/os_calls.c
  4. +5
    -0
      common/os_calls.h
  5. +55
    -4
      common/trans.c
  6. +3
    -1
      common/trans.h
  7. +1
    -0
      common/xrdp_client_info.h
  8. +1
    -0
      common/xrdp_constants.h
  9. +35
    -10
      configure
  10. +7
    -1
      configure.ac
  11. +14
    -0
      docs/man/sesman.ini.5.in
  12. +4
    -4
      docs/man/xrdp-sesman.8.in
  13. +2
    -2
      docs/man/xrdp-sesrun.8.in
  14. +0
    -1
      file-loc.txt
  15. +1
    -2
      instfiles/Makefile.am
  16. +38
    -82
      instfiles/Makefile.in
  17. +659
    -0
      instfiles/km-00000406.ini
  18. +6
    -0
      instfiles/pam.d/mkpamrules
  19. +0
    -153
      instfiles/xrdp.sh
  20. +10
    -10
      librfxcodec/configure
  21. +1
    -1
      librfxcodec/configure.ac
  22. +10
    -10
      librfxcodec/src/rfxencode_rgb_to_yuv.c
  23. +2
    -1
      libxrdp/xrdp_caps.c
  24. +111
    -27
      libxrdp/xrdp_rdp.c
  25. +26
    -0
      neutrinordp/xrdp-neutrinordp.c
  26. +6
    -3
      neutrinordp/xrdp-neutrinordp.h
  27. +13
    -1
      sesman/chansrv/Makefile.am
  28. +30
    -14
      sesman/chansrv/Makefile.in
  29. +518
    -0
      sesman/chansrv/audin.c
  30. +34
    -0
      sesman/chansrv/audin.h
  31. +20
    -7
      sesman/chansrv/chansrv.c
  32. +1344
    -1933
      sesman/chansrv/chansrv_fuse.c
  33. +76
    -28
      sesman/chansrv/chansrv_fuse.h
  34. +909
    -0
      sesman/chansrv/chansrv_xfs.c
  35. +321
    -0
      sesman/chansrv/chansrv_xfs.h
  36. +149
    -136
      sesman/chansrv/clipboard.c
  37. +1219
    -586
      sesman/chansrv/devredir.c
  38. +49
    -297
      sesman/chansrv/devredir.h
  39. +51
    -16
      sesman/chansrv/irp.c
  40. +66
    -10
      sesman/chansrv/irp.h
  41. +44
    -0
      sesman/chansrv/ms-erref.h
  42. +64
    -0
      sesman/chansrv/ms-fscc.h
  43. +125
    -0
      sesman/chansrv/ms-rdpefs.h
  44. +79
    -0
      sesman/chansrv/ms-smb2.h
  45. +1
    -1
      sesman/chansrv/smartcard.c
  46. +75
    -59
      sesman/chansrv/sound.c
  47. +21
    -25
      sesman/config.c
  48. +12
    -6
      sesman/config.h
  49. +1
    -1
      sesman/libscp/libscp_v1s.c
  50. +21
    -11
      sesman/sesman.c
  51. +6
    -0
      sesman/sesman.ini
  52. +5
    -0
      sesman/session.c
  53. +84
    -36
      vnc/vnc.c
  54. +7
    -3
      vnc/vnc.h
  55. +21
    -13
      xrdp/xrdp.c
  56. +4
    -1
      xrdp/xrdp.h
  57. +27
    -2
      xrdp/xrdp.ini
  58. +3
    -0
      xrdp/xrdp_keyboard.ini
  59. +689
    -285
      xrdp/xrdp_listen.c
  60. +35
    -2
      xrdp/xrdp_mm.c
  61. +12
    -6
      xrdp/xrdp_types.h
  62. +5
    -0
      xrdp/xrdp_wm.c
  63. +3
    -3
      xrdp/xrdpwin.c
  64. +71
    -0
      xup/xup.c
  65. +4
    -2
      xup/xup.h

+ 94
- 6
NEWS.md View File

@@ -1,29 +1,117 @@
# Release notes for xrdp v0.9.9 (2018/12/25)
# Release notes for xrdp v0.9.12 (2019/12/28)

# Release cycle
## Bug fixes
* Fix "The log reference is NULL" error when sesman startup #1425
* Fix behavior when shmem_id changes #1439
* Make vsock config accept -1 for cid and port #1441
* Cleanup refresh rect and check stream bounds #1437
* Significant improvements in drive redirection #1449
* Fix build on macOS Catalina #1462

## Other changes
* Proprietary microphone redirection via rdpsnd is now default off
RDP compatible microphone redirection is on instead #1427
* Skip connecting to chansrv when no channels enabled #1393
* Add openSUSE's pam rules #1442
* Do not terminate xrdp daemon when caught SIGHUP #1319

## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965

# Release notes for xrdp v0.9.11 (2019/08/19)

## New features
* Suppress output (do not draw screen when client window is minimized) #1330
* Audio input (microphone) redirection compatible with [MS-RDPEAI](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpeai/d04ffa42-5a0f-4f80-abb1-cc26f71c9452) #1369
* Now xrdp can listen on more than one port #1124 #1366

## Bug fixes
* Fix the issue audio redirection sometimes sounds with long delay #1363
* Check term event for more responsive shutdown #1372

## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965

-----------------------

# Release notes for xrdp v0.9.11 (2019/08/19)

## New features
* Suppress output (do not draw screen when client window is minimized) #1330
* Audio input (microphone) redirection compatible with [MS-RDPEAI](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpeai/d04ffa42-5a0f-4f80-abb1-cc26f71c9452) #1369
* Now xrdp can listen on more than one port #1124 #1366

## Bug fixes
* Fix the issue audio redirection sometimes sounds with long delay #1363
* Check term event for more responsive shutdown #1372

## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965

-----------------------

# Release notes for xrdp v0.9.10 (2019/04/18)

## Special thanks
Thank you for matt335672 contributing to lots of improvements in drive redirection!

## New features
* Restrict outbound (server->client) clipboard transfer, configured in `sesman.ini` #1298

## Bug fixes
* Fix the issue libscp v1 not setting width but height twice #1293
* Fix the issue reconnecting to session causes duplicate drive entries in fuse fs #1299
* Fix default_wm and reconnect_sh refer wrong path after sesman caught SIGUP #1315 #1331
* Shutdown xrdp more responsively #1325
* Improve remote file lookup in drive redirection #996 #1327
* Overwriting & appending to existing files is are now supported #1327

## Other changes
* Add Danish Keyboard #1290
* Put xrdp- prefix to some executables appear in man page #1313
* Replace some URLs from SF.net to xrdp.org #1313

## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965

-----------------------

## Release notes for xrdp v0.9.9 (2018/12/25)

## Release cycle
From the next release, release cycle will be changed from quarterly to every
4 months. xrdp will be released in April, August, December.

# New features
## New features
* Disconnection by idle timeout (requires xorgxrdp v0.2.9 or later) #1227
* Glyph cache v2 (fixes no font issue on iOS/macOS/Android client) #367 #1235

# Bug fixes
## Bug fixes
* Fix xrdp-chansrv crashes caused in drive redirection #1202 #1225
* Fix build with FDK AAC v2 #1257
* Do not enable RemoteApp if the INFO_RAIL flag is not set (RDP-RDP proxy) #1253

# Other changes
## Other changes
* Add Spanish Latin Amarican keyboard #1237 #1240 #1244
* Dynamic channel improvements #1222 #1224
* Remove some deprecated sesman session types #1232
* Refactoring and cleanups

# Known issues
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965

-----------------------

# Release notes for xrdp v0.9.8 (2018/09/25)

## Deprecation notice


+ 1
- 1
README.md View File

@@ -2,7 +2,7 @@
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/neutrinolabs/xrdp)
![Apache-License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)

*Current Version:* 0.9.9
*Current Version:* 0.9.12

# xrdp - an open source RDP server



+ 169
- 0
common/os_calls.c View File

@@ -1041,6 +1041,25 @@ g_sck_vsock_bind(int sck, const char *port)
#endif
}

/*****************************************************************************/
int
g_sck_vsock_bind_address(int sck, const char *port, const char *address)
{
#if defined(XRDP_ENABLE_VSOCK)
struct sockaddr_vm s;

g_memset(&s, 0, sizeof(struct sockaddr_vm));
s.svm_family = AF_VSOCK;
s.svm_port = atoi(port);
s.svm_cid = atoi(address);

return bind(sck, (struct sockaddr *)&s, sizeof(struct sockaddr_vm));
#else
return -1;
#endif
}


#if defined(XRDP_ENABLE_IPV6)
/*****************************************************************************/
/* Helper function for g_tcp_bind_address. */
@@ -3823,3 +3842,153 @@ g_mirror_memcpy(void *dst, const void *src, int len)
return 0;
}

/*****************************************************************************/
int
g_tcp4_socket(void)
{
#if defined(XRDP_ENABLE_IPV6ONLY)
return -1;
#else
int rv;
int option_value;
socklen_t option_len;

rv = socket(AF_INET, SOCK_STREAM, 0);
if (rv < 0)
{
return -1;
}
option_len = sizeof(option_value);
if (getsockopt(rv, SOL_SOCKET, SO_REUSEADDR,
(char *) &option_value, &option_len) == 0)
{
if (option_value == 0)
{
option_value = 1;
option_len = sizeof(option_value);
if (setsockopt(rv, SOL_SOCKET, SO_REUSEADDR,
(char *) &option_value, option_len) < 0)
{
}
}
}
return rv;
#endif
}

/*****************************************************************************/
int
g_tcp4_bind_address(int sck, const char *port, const char *address)
{
#if defined(XRDP_ENABLE_IPV6ONLY)
return -1;
#else
struct sockaddr_in s;

memset(&s, 0, sizeof(s));
s.sin_family = AF_INET;
s.sin_addr.s_addr = htonl(INADDR_ANY);
s.sin_port = htons((uint16_t) atoi(port));
if (inet_aton(address, &s.sin_addr) < 0)
{
return -1; /* bad address */
}
if (bind(sck, (struct sockaddr*) &s, sizeof(s)) < 0)
{
return -1;
}
return 0;
#endif
}

/*****************************************************************************/
int
g_tcp6_socket(void)
{
#if defined(XRDP_ENABLE_IPV6)
int rv;
int option_value;
socklen_t option_len;

rv = socket(AF_INET6, SOCK_STREAM, 0);
if (rv < 0)
{
return -1;
}
option_len = sizeof(option_value);
if (getsockopt(rv, IPPROTO_IPV6, IPV6_V6ONLY,
(char *) &option_value, &option_len) == 0)
{
#if defined(XRDP_ENABLE_IPV6ONLY)
if (option_value == 0)
{
option_value = 1;
#else
if (option_value != 0)
{
option_value = 0;
#endif
option_len = sizeof(option_value);
if (setsockopt(rv, IPPROTO_IPV6, IPV6_V6ONLY,
(char *) &option_value, option_len) < 0)
{
}
}
}
option_len = sizeof(option_value);
if (getsockopt(rv, SOL_SOCKET, SO_REUSEADDR,
(char *) &option_value, &option_len) == 0)
{
if (option_value == 0)
{
option_value = 1;
option_len = sizeof(option_value);
if (setsockopt(rv, SOL_SOCKET, SO_REUSEADDR,
(char *) &option_value, option_len) < 0)
{
}
}
}
return rv;
#else
return -1;
#endif
}

/*****************************************************************************/
int
g_tcp6_bind_address(int sck, const char *port, const char *address)
{
#if defined(XRDP_ENABLE_IPV6)
int rv;
int error;
struct addrinfo hints;
struct addrinfo *list;
struct addrinfo *i;

rv = -1;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_flags = 0;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
error = getaddrinfo(address, port, &hints, &list);
if (error == 0)
{
i = list;
while ((i != NULL) && (rv < 0))
{
rv = bind(sck, i->ai_addr, i->ai_addrlen);
i = i->ai_next;
}
freeaddrinfo(list);
}
else
{
return -1;
}
return rv;
#else
return -1;
#endif
}

+ 5
- 0
common/os_calls.h View File

@@ -71,6 +71,7 @@ int g_sck_set_non_blocking(int sck);
int g_tcp_bind(int sck, const char *port);
int g_sck_local_bind(int sck, const char* port);
int g_sck_vsock_bind(int sck, const char* port);
int g_sck_vsock_bind_address(int sck, const char *port, const char *address);
int g_tcp_bind_address(int sck, const char* port, const char* address);
int g_sck_listen(int sck);
int g_tcp_accept(int sck);
@@ -183,6 +184,10 @@ void * g_shmat(int shmid);
int g_shmdt(const void *shmaddr);
int g_gethostname(char *name, int len);
int g_mirror_memcpy(void *dst, const void *src, int len);
int g_tcp4_socket(void);
int g_tcp4_bind_address(int sck, const char *port, const char *address);
int g_tcp6_socket(void);
int g_tcp6_bind_address(int sck, const char *port, const char *address);

/* glib-style wrappers */
#define g_new(struct_type, n_structs) \


+ 55
- 4
common/trans.c View File

@@ -712,13 +712,21 @@ trans_connect(struct trans *self, const char *server, const char *port,
now = g_time3();
if (now - start_time < timeout)
{
g_sleep(timeout / 5);
g_sleep(100);
}
else
{
self->status = TRANS_STATUS_DOWN;
return 1;
}
if (self->is_term != NULL)
{
if (self->is_term())
{
self->status = TRANS_STATUS_DOWN;
return 1;
}
}
}
}
}
@@ -748,13 +756,21 @@ trans_connect(struct trans *self, const char *server, const char *port,
now = g_time3();
if (now - start_time < timeout)
{
g_sleep(timeout / 5);
g_sleep(100);
}
else
{
self->status = TRANS_STATUS_DOWN;
return 1;
}
if (self->is_term != NULL)
{
if (self->is_term())
{
self->status = TRANS_STATUS_DOWN;
return 1;
}
}
}
}
}
@@ -859,7 +875,43 @@ trans_listen_address(struct trans *self, char *port, const char *address)

g_tcp_set_non_blocking(self->sck);

if (g_sck_vsock_bind(self->sck, port) == 0)
if (g_sck_vsock_bind_address(self->sck, port, address) == 0)
{
if (g_tcp_listen(self->sck) == 0)
{
self->status = TRANS_STATUS_UP; /* ok */
self->type1 = TRANS_TYPE_LISTENER; /* listener */
return 0;
}
}
}
else if (self->mode == TRANS_MODE_TCP4) /* tcp4 */
{
self->sck = g_tcp4_socket();
if (self->sck < 0)
{
return 1;
}
g_tcp_set_non_blocking(self->sck);
if (g_tcp4_bind_address(self->sck, port, address) == 0)
{
if (g_tcp_listen(self->sck) == 0)
{
self->status = TRANS_STATUS_UP; /* ok */
self->type1 = TRANS_TYPE_LISTENER; /* listener */
return 0;
}
}
}
else if (self->mode == TRANS_MODE_TCP6) /* tcp6 */
{
self->sck = g_tcp6_socket();
if (self->sck < 0)
{
return 1;
}
g_tcp_set_non_blocking(self->sck);
if (g_tcp6_bind_address(self->sck, port, address) == 0)
{
if (g_tcp_listen(self->sck) == 0)
{
@@ -869,7 +921,6 @@ trans_listen_address(struct trans *self, char *port, const char *address)
}
}
}

return 1;
}



+ 3
- 1
common/trans.h View File

@@ -24,9 +24,11 @@
#include "arch.h"
#include "parse.h"

#define TRANS_MODE_TCP 1
#define TRANS_MODE_TCP 1 /* tcp6 if defined, else tcp4 */
#define TRANS_MODE_UNIX 2
#define TRANS_MODE_VSOCK 3
#define TRANS_MODE_TCP4 4 /* tcp4 only */
#define TRANS_MODE_TCP6 6 /* tcp6 only */

#define TRANS_TYPE_LISTENER 1
#define TRANS_TYPE_SERVER 2


+ 1
- 0
common/xrdp_client_info.h View File

@@ -156,6 +156,7 @@ struct xrdp_client_info
int no_orders_supported;
int use_cache_glyph_v2;
int rail_enable;
int suppress_output;
};

#endif

+ 1
- 0
common/xrdp_constants.h View File

@@ -543,6 +543,7 @@
#define RDP_DATA_PDU_POINTER 27
#define RDP_DATA_PDU_INPUT 28
#define RDP_DATA_PDU_SYNCHRONISE 31
#define PDUTYPE2_REFRESH_RECT 33
#define RDP_DATA_PDU_PLAY_SOUND 34
#define RDP_DATA_PDU_LOGON 38
#define RDP_DATA_PDU_FONT2 39


+ 35
- 10
configure View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xrdp 0.9.9.
# Generated by GNU Autoconf 2.69 for xrdp 0.9.12.
#
# Report bugs to <xrdp-devel@googlegroups.com>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xrdp'
PACKAGE_TARNAME='xrdp'
PACKAGE_VERSION='0.9.9'
PACKAGE_STRING='xrdp 0.9.9'
PACKAGE_VERSION='0.9.12'
PACKAGE_STRING='xrdp 0.9.12'
PACKAGE_BUGREPORT='xrdp-devel@googlegroups.com'
PACKAGE_URL=''

@@ -658,6 +658,8 @@ OPENSSL
OPENSSL_LIBS
OPENSSL_CFLAGS
DLOPEN_LIBS
XRDP_RDPSNDAUDIN_FALSE
XRDP_RDPSNDAUDIN_TRUE
XRDP_RFXCODEC_FALSE
XRDP_RFXCODEC_TRUE
XRDP_PAINTER_FALSE
@@ -856,6 +858,7 @@ enable_mp3lame
enable_pixman
enable_painter
enable_rfxcodec
enable_rdpsndaudin
with_x
enable_strict_locations
with_pkgconfigdir
@@ -1424,7 +1427,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures xrdp 0.9.9 to adapt to many kinds of systems.
\`configure' configures xrdp 0.9.12 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -1498,7 +1501,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of xrdp 0.9.9:";;
short | recursive ) echo "Configuration of xrdp 0.9.12:";;
esac
cat <<\_ACEOF

@@ -1541,6 +1544,7 @@ Optional Features:
--disable-painter Do not use included painter library (default: no)
--disable-rfxcodec Do not use included librfxcodec library (default:
no)
--enable-rdpsndaudin Use rdpsnd audio in (default: no)
--enable-strict-locations
Use standard Autoconf install directories unless
overridden (default: use /etc and /var)
@@ -1663,7 +1667,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
xrdp configure 0.9.9
xrdp configure 0.9.12
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2032,7 +2036,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by xrdp $as_me 0.9.9, which was
It was created by xrdp $as_me 0.9.12, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
@@ -2897,7 +2901,7 @@ fi

# Define the identity of the package.
PACKAGE='xrdp'
VERSION='0.9.9'
VERSION='0.9.12'


cat >>confdefs.h <<_ACEOF
@@ -12962,6 +12966,22 @@ else
fi


# Check whether --enable-rdpsndaudin was given.
if test "${enable_rdpsndaudin+set}" = set; then :
enableval=$enable_rdpsndaudin;
else
enable_rdpsndaudin=no
fi

if test x$enable_rdpsndaudin = xyes; then
XRDP_RDPSNDAUDIN_TRUE=
XRDP_RDPSNDAUDIN_FALSE='#'
else
XRDP_RDPSNDAUDIN_TRUE='#'
XRDP_RDPSNDAUDIN_FALSE=
fi


# Don't fail without working nasm if rfxcodec is not enabled
if test "x$enable_rfxcodec" != xyes; then
with_simd=no
@@ -14654,6 +14674,10 @@ if test -z "${XRDP_RFXCODEC_TRUE}" && test -z "${XRDP_RFXCODEC_FALSE}"; then
as_fn_error $? "conditional \"XRDP_RFXCODEC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${XRDP_RDPSNDAUDIN_TRUE}" && test -z "${XRDP_RDPSNDAUDIN_FALSE}"; then
as_fn_error $? "conditional \"XRDP_RDPSNDAUDIN\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi

: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
@@ -15051,7 +15075,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by xrdp $as_me 0.9.9, which was
This file was extended by xrdp $as_me 0.9.12, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
@@ -15117,7 +15141,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
xrdp config.status 0.9.9
xrdp config.status 0.9.12
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

@@ -16993,6 +17017,7 @@ echo " vsock $enable_vsock"
echo " pam $enable_pam"
echo " kerberos $enable_kerberos"
echo " debug $enable_xrdpdebug"
echo " rdpsndaudin $enable_rdpsndaudin"
echo ""
echo " strict_locations $enable_strict_locations"
echo " prefix $prefix"


+ 7
- 1
configure.ac View File

@@ -1,7 +1,7 @@
# Process this file with autoconf to produce a configure script

AC_PREREQ(2.65)
AC_INIT([xrdp], [0.9.9], [xrdp-devel@googlegroups.com])
AC_INIT([xrdp], [0.9.12], [xrdp-devel@googlegroups.com])
AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
AM_INIT_AUTOMAKE([1.7.2 foreign])
AC_CONFIG_MACRO_DIR([m4])
@@ -150,6 +150,11 @@ AC_ARG_ENABLE(rfxcodec, AS_HELP_STRING([--disable-rfxcodec],
[], [enable_rfxcodec=yes])
AM_CONDITIONAL(XRDP_RFXCODEC, [test x$enable_rfxcodec = xyes])

AC_ARG_ENABLE(rdpsndaudin, AS_HELP_STRING([--enable-rdpsndaudin],
[Use rdpsnd audio in (default: no)]),
[], [enable_rdpsndaudin=no])
AM_CONDITIONAL(XRDP_RDPSNDAUDIN, [test x$enable_rdpsndaudin = xyes])

# Don't fail without working nasm if rfxcodec is not enabled
if test "x$enable_rfxcodec" != xyes; then
with_simd=no
@@ -390,6 +395,7 @@ echo " vsock $enable_vsock"
echo " pam $enable_pam"
echo " kerberos $enable_kerberos"
echo " debug $enable_xrdpdebug"
echo " rdpsndaudin $enable_rdpsndaudin"
echo ""
echo " strict_locations $enable_strict_locations"
echo " prefix $prefix"


+ 14
- 0
docs/man/sesman.ini.5.in View File

@@ -196,6 +196,12 @@ login for all users is enabled.
\fIThis option is currently ignored!\fR Only members of this group can
have session management rights.

.TP
\fBRestrictOutboundClipboard\fR=\fI[true|false]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR, will restrict the clipboard
outbound from the server, to prevent data copied inside the xrdp session
to be be pasted in the client host. Default value is \fBfalse\fR.

.TP
\fBAlwaysGroupCheck\fR=\fI[true|false]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR, require group membership even
@@ -219,6 +225,14 @@ Following parameters can be used in the \fB[Chansrv]\fR section.
Directory for drive redirection, relative to the user home directory.
Created if it doesn't exist. If not specified, defaults to \fIxrdp_client\fR.

.TP
\fBFileUmask\fR=\fImode\fR
Additional umask to apply to files in the \fBFuseMountName\fR directory.
The default value of 077 prevents other users on the system from reading
files on your redirected drives. This may not be approprate for all
environents, and so you can change this value to allow other users to
access your remote files if required.

.SH "SESSIONS VARIABLES"
All entries in the \fB[SessionVariables]\fR section are set as
environment variables in the user's session.


+ 4
- 4
docs/man/xrdp-sesman.8.in View File

@@ -23,15 +23,15 @@ Kills running \fBxrdp\-sesman\fR daemon.
Output help information and exit.

.SH "FILES"
@bindir@/sesman
@bindir@/xrdp\-sesman
.br
@bindir@/sesrun
@bindir@/xrdp\-sesrun
.br
@sysconfdir@/xrdp/sesman.ini
.br
@localstatedir@/log/sesman.log
@localstatedir@/log/xrdp\-sesman.log
.br
@localstatedir@/run/sesman.pid
@localstatedir@/run/xrdp\-sesman.pid

.SH "AUTHORS"
Jay Sorg <jsorg71@users.sourceforge.net>


+ 2
- 2
docs/man/xrdp-sesrun.8.in View File

@@ -32,9 +32,9 @@ Screen height
Session color depth

.SH "FILES"
@bindir@/sesman
@bindir@/xrdp\-sesman
.br
@bindir@/sesrun
@bindir@/xrdp\-sesrun

.SH "AUTHORS"
Jay Sorg <jsorg71@users.sourceforge.net>


+ 0
- 1
file-loc.txt View File

@@ -30,7 +30,6 @@ default build will install the following
startwm.sh
xrdp.ini
xrdp_keyboard.ini
xrdp.sh

/etc/xrdp/pulse
default.pa


+ 1
- 2
instfiles/Makefile.am View File

@@ -1,6 +1,5 @@
EXTRA_DIST = \
keymap-names.txt \
xrdp.sh \
xrdp-sesman.service.in \
xrdp.service.in

@@ -30,6 +29,7 @@ SUFFIXES = .in
startscriptdir=$(sysconfdir)/xrdp

dist_startscript_DATA = \
km-00000406.ini \
km-00000407.ini \
km-00000409.ini \
km-0000040a.ini \
@@ -60,7 +60,6 @@ if LINUX
SUBDIRS += \
pam.d \
pulse
dist_startscript_SCRIPTS = xrdp.sh
if HAVE_SYSTEMD
systemdsystemunit_DATA = \
xrdp-sesman.service \


+ 38
- 82
instfiles/Makefile.in View File

@@ -14,7 +14,6 @@

@SET_MAKE@


VPATH = @srcdir@
am__is_gnu_make = { \
if test -z '$(MAKELEVEL)'; then \
@@ -118,14 +117,39 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_append_compile_flags.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
$(am__dist_startscript_SCRIPTS_DIST) $(dist_startscript_DATA) \
DIST_COMMON = $(srcdir)/Makefile.am $(dist_startscript_DATA) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config_ac.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__dist_startscript_SCRIPTS_DIST = xrdp.sh
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -154,36 +178,7 @@ am__uninstall_files_from_dir = { \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(startscriptdir)" \
"$(DESTDIR)$(startscriptdir)" \
"$(DESTDIR)$(systemdsystemunitdir)"
SCRIPTS = $(dist_startscript_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(dist_startscript_DATA) $(systemdsystemunit_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
@@ -385,7 +380,6 @@ top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
keymap-names.txt \
xrdp.sh \
xrdp-sesman.service.in \
xrdp.service.in

@@ -412,6 +406,7 @@ SUFFIXES = .in
#
startscriptdir = $(sysconfdir)/xrdp
dist_startscript_DATA = \
km-00000406.ini \
km-00000407.ini \
km-00000409.ini \
km-0000040a.ini \
@@ -440,7 +435,6 @@ dist_startscript_DATA = \
#
SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \
$(am__append_4)
@LINUX_TRUE@dist_startscript_SCRIPTS = xrdp.sh
@HAVE_SYSTEMD_TRUE@@LINUX_TRUE@systemdsystemunit_DATA = \
@HAVE_SYSTEMD_TRUE@@LINUX_TRUE@ xrdp-sesman.service \
@HAVE_SYSTEMD_TRUE@@LINUX_TRUE@ xrdp.service
@@ -478,41 +472,6 @@ $(top_srcdir)/configure: $(am__configure_deps)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_startscriptSCRIPTS: $(dist_startscript_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(dist_startscript_SCRIPTS)'; test -n "$(startscriptdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(startscriptdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(startscriptdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(startscriptdir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(startscriptdir)$$dir" || exit $$?; \
} \
; done

uninstall-dist_startscriptSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(dist_startscript_SCRIPTS)'; test -n "$(startscriptdir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(startscriptdir)'; $(am__uninstall_files_from_dir)

mostlyclean-libtool:
-rm -f *.lo
@@ -721,10 +680,10 @@ distdir-am: $(DISTFILES)
done
check-am: all-am
check: check-recursive
all-am: Makefile $(SCRIPTS) $(DATA)
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(startscriptdir)" "$(DESTDIR)$(startscriptdir)" "$(DESTDIR)$(systemdsystemunitdir)"; do \
for dir in "$(DESTDIR)$(startscriptdir)" "$(DESTDIR)$(systemdsystemunitdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -780,7 +739,7 @@ info: info-recursive
info-am:

install-data-am: install-dist_startscriptDATA \
install-dist_startscriptSCRIPTS install-systemdsystemunitDATA
install-systemdsystemunitDATA
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-recursive
@@ -826,7 +785,6 @@ ps: ps-recursive
ps-am:

uninstall-am: uninstall-dist_startscriptDATA \
uninstall-dist_startscriptSCRIPTS \
uninstall-systemdsystemunitDATA

.MAKE: $(am__recursive_targets) install-am install-data-am \
@@ -837,17 +795,15 @@ uninstall-am: uninstall-dist_startscriptDATA \
ctags-am distclean distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-data-hook install-dist_startscriptDATA \
install-dist_startscriptSCRIPTS install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
install-systemdsystemunitDATA installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
install-data-hook install-dist_startscriptDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip install-systemdsystemunitDATA installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-dist_startscriptDATA \
uninstall-dist_startscriptSCRIPTS \
uninstall-systemdsystemunitDATA

.PRECIOUS: Makefile


+ 659
- 0
instfiles/km-00000406.ini View File

@@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=168:168
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=230:230
Key48=248:248
Key49=189:189
Key50=65505:0
Key51=39:39
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

[shift]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=94:94
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=198:198
Key48=216:216
Key49=167:167
Key50=65505:0
Key51=42:42
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

[altgr]
Key8=0:0
Key9=65307:27
Key10=161:161
Key11=64:64
Key12=163:163
Key13=36:36
Key14=8364:8364
Key15=165:165
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=124:124
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=174:174
Key28=254:254
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5053:339
Key33=254:254
Key34=65111:168
Key35=126:126
Key36=65293:13
Key37=65507:0
Key38=170:170
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=248:248
Key48=230:230
Key49=182:182
Key50=65505:0
Key51=180:180
Key52=171:171
Key53=187:187
Key54=169:169
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=65115:184
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=0:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

[capslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=214:214
Key48=196:196
Key49=167:167
Key50=65505:0
Key51=39:39
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=65106:94
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=246:246
Key48=228:228
Key49=189:189
Key50=65505:0
Key51=42:42
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

+ 6
- 0
instfiles/pam.d/mkpamrules View File

@@ -8,6 +8,7 @@ outfile="$3"

service="xrdp-sesman"
pamdir="/etc/pam.d"
pamdir_suse="/usr/etc/pam.d"

guess_rules ()
{
@@ -16,6 +17,11 @@ guess_rules ()
return
fi

if test -s "$pamdir_suse/common-account"; then
rules="suse"
return
fi

if test -s "$pamdir/common-account"; then
if grep "^@include" "$pamdir/passwd" >/dev/null 2>&1; then
rules="debian"


+ 0
- 153
instfiles/xrdp.sh View File

@@ -1,153 +0,0 @@
#!/bin/sh
# xrdp control script
# Written : 1-13-2006 - Mark Balliet - posicat@pobox.com
# maintaned by Jay Sorg
# chkconfig: 2345 11 89
# description: starts xrdp

### BEGIN INIT INFO
# Provides: xrdp
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop xrdp
# Description: starts xrdp
### END INIT INFO

SBINDIR=/usr/local/sbin
LOG=/dev/null
CFGDIR=/etc/xrdp

if ! test -x $SBINDIR/xrdp
then
echo "xrdp is not executable"
exit 0
fi
if ! test -x $SBINDIR/xrdp-sesman
then
echo "xrdp-sesman is not executable"
exit 0
fi
if ! test -x $CFGDIR/startwm.sh
then
echo "startwm.sh is not executable"
exit 0
fi

xrdp_start()
{
echo -n "Starting: xrdp and sesman . . "
$SBINDIR/xrdp >> $LOG
$SBINDIR/xrdp-sesman >> $LOG
echo "."
sleep 1
return 0;
}

xrdp_stop()
{
echo -n "Stopping: xrdp and sesman . . "
$SBINDIR/xrdp-sesman --kill >> $LOG
$SBINDIR/xrdp --kill >> $LOG
echo "."
return 0;
}

is_xrdp_running()
{
ps u --noheading -C xrdp | grep -q -i xrdp
if test $? -eq 0
then
return 1;
else
return 0;
fi
}

is_sesman_running()
{
ps u --noheading -C xrdp-sesman | grep -q -i xrdp-sesman
if test $? -eq 0
then
return 1;
else
return 0;
fi
}

check_up()
{
# Cleanup : If sesman isn't running, but the pid exists, erase it.
is_sesman_running
if test $? -eq 0
then
if test -e /var/run/xrdp-sesman.pid
then
rm /var/run/xrdp-sesman.pid
fi
fi
# Cleanup : If xrdp isn't running, but the pid exists, erase it.
is_xrdp_running
if test $? -eq 0
then
if test -e /var/run/xrdp.pid
then
rm /var/run/xrdp.pid
fi
fi
return 0;
}

case "$1" in
start)
check_up
is_xrdp_running
if ! test $? -eq 0
then
echo "xrdp is already loaded"
exit 1
fi
is_sesman_running
if ! test $? -eq 0
then
echo "sesman is already loaded"
exit 1
fi
xrdp_start
;;
stop)
check_up
is_xrdp_running
if test $? -eq 0
then
echo "xrdp is not loaded."
fi
is_sesman_running
if test $? -eq 0
then
echo "sesman is not loaded."
fi
xrdp_stop
;;
force-reload|restart)
check_up
echo "Restarting xrdp ..."
xrdp_stop
is_xrdp_running
while ! test $? -eq 0
do
check_up
sleep 1
is_xrdp_running
done
xrdp_start
;;
*)
echo "Usage: xrdp.sh {start|stop|restart|force-reload}"
exit 1
esac

exit 0

+ 10
- 10
librfxcodec/configure View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for rfxcodec 0.1.4.
# Generated by GNU Autoconf 2.69 for rfxcodec 0.1.5.
#
# Report bugs to <xrdp-devel@googlegroups.com>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='rfxcodec'
PACKAGE_TARNAME='rfxcodec'
PACKAGE_VERSION='0.1.4'
PACKAGE_STRING='rfxcodec 0.1.4'
PACKAGE_VERSION='0.1.5'
PACKAGE_STRING='rfxcodec 0.1.5'
PACKAGE_BUGREPORT='xrdp-devel@googlegroups.com'
PACKAGE_URL=''

@@ -1321,7 +1321,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures rfxcodec 0.1.4 to adapt to many kinds of systems.
\`configure' configures rfxcodec 0.1.5 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -1391,7 +1391,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of rfxcodec 0.1.4:";;
short | recursive ) echo "Configuration of rfxcodec 0.1.5:";;
esac
cat <<\_ACEOF

@@ -1504,7 +1504,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
rfxcodec configure 0.1.4
rfxcodec configure 0.1.5
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1782,7 +1782,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by rfxcodec $as_me 0.1.4, which was
It was created by rfxcodec $as_me 0.1.5, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
@@ -2647,7 +2647,7 @@ fi

# Define the identity of the package.
PACKAGE='rfxcodec'
VERSION='0.1.4'
VERSION='0.1.5'


cat >>confdefs.h <<_ACEOF
@@ -13160,7 +13160,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by rfxcodec $as_me 0.1.4, which was
This file was extended by rfxcodec $as_me 0.1.5, which was
generated by GNU Autoconf 2.69. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
@@ -13226,7 +13226,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
rfxcodec config.status 0.1.4
rfxcodec config.status 0.1.5
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"



+ 1
- 1
librfxcodec/configure.ac View File

@@ -1,7 +1,7 @@
# Process this file with autoconf to produce a configure script

AC_PREREQ(2.59)
AC_INIT([rfxcodec], [0.1.4], [xrdp-devel@googlegroups.com])
AC_INIT([rfxcodec], [0.1.5], [xrdp-devel@googlegroups.com])
AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
AM_INIT_AUTOMAKE([1.6 foreign])
AC_CONFIG_MACRO_DIR([m4])


+ 10
- 10
librfxcodec/src/rfxencode_rgb_to_yuv.c View File

@@ -84,9 +84,9 @@ rfx_encode_format_rgb(const char *rgb_data, int width, int height,
}
while (x < 64)
{
*lr_buf++ = r;
*lb_buf++ = b;
*lg_buf++ = g;
*lb_buf++ = r;
*lr_buf++ = r;
x++;
}
}
@@ -155,9 +155,9 @@ rfx_encode_format_rgb(const char *rgb_data, int width, int height,
}
while (x < 64)
{
*lr_buf++ = r;
*lg_buf++ = g;
*lb_buf++ = b;
*lg_buf++ = g;
*lr_buf++ = r;
x++;
}
}
@@ -257,10 +257,10 @@ rfx_encode_format_argb(const char *argb_data, int width, int height,
}
while (x < 64)
{
*la_buf++ = a;
*lr_buf++ = r;
*lb_buf++ = b;
*lg_buf++ = g;
*lb_buf++ = r;
*lr_buf++ = r;
*la_buf++ = a;
x++;
}
}
@@ -298,10 +298,10 @@ rfx_encode_format_argb(const char *argb_data, int width, int height,
}
while (x < 64)
{
*la_buf++ = a;
*lr_buf++ = r;
*lg_buf++ = g;
*lb_buf++ = b;
*la_buf++ = a;
x++;
}
}
@@ -336,9 +336,9 @@ rfx_encode_format_argb(const char *argb_data, int width, int height,
}
while (x < 64)
{
*lr_buf++ = r;
*lg_buf++ = g;
*lb_buf++ = b;
*lg_buf++ = g;
*lr_buf++ = r;
x++;
}
}


+ 2
- 1
libxrdp/xrdp_caps.c View File

@@ -810,7 +810,8 @@ xrdp_caps_send_demand_active(struct xrdp_rdp *self)
out_uint16_le(s, 0); /* Update capability */
out_uint16_le(s, 0); /* Remote unshare capability */
out_uint16_le(s, 0); /* Compression level */
out_uint16_le(s, 0); /* Pad */
out_uint8(s, 1); /* refreshRectSupport */
out_uint8(s, 1); /* suppressOutputSupport */

/* Output bitmap capability set */
caps_count++;


+ 111
- 27
libxrdp/xrdp_rdp.c View File

@@ -1044,9 +1044,12 @@ xrdp_rdp_process_data_sync(struct xrdp_rdp *self)
}

/*****************************************************************************/
/* 2.2.11.2.1 Refresh Rect PDU Data (TS_REFRESH_RECT_PDU) */
static int
xrdp_rdp_process_screen_update(struct xrdp_rdp *self, struct stream *s)
{
int index;
int num_rects;
int left;
int top;
int right;