From f748345ea0942642c58eb3a8deb93f11d184d8da Mon Sep 17 00:00:00 2001 From: ArvidNorr Date: Fri, 16 May 2014 08:17:11 +0200 Subject: [PATCH 1/8] Numlock out of sync fix --- neutrinordp/xrdp-neutrinordp.c | 25 +++++++++++++++++++++---- neutrinordp/xrdp-neutrinordp.h | 2 ++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/neutrinordp/xrdp-neutrinordp.c b/neutrinordp/xrdp-neutrinordp.c index 3602e57c..997a0c0c 100644 --- a/neutrinordp/xrdp-neutrinordp.c +++ b/neutrinordp/xrdp-neutrinordp.c @@ -27,7 +27,7 @@ #ifdef XRDP_DEBUG #define LOG_LEVEL 99 #else -#define LOG_LEVEL 10 +#define LOG_LEVEL 0 #endif #define LLOG(_level, _args) \ @@ -195,14 +195,31 @@ lxrdp_event(struct mod *mod, int msg, long param1, long param2, switch (msg) { case 15: /* key down */ + // Before we handle the first character we synchronize + // capslock and numlock. + // We collect the state during the first synchronize ( see msg 17) + if(!mod->bool_keyBoardSynced) + { + LLOGLN(0, ("Additional Sync event handled : %d",mod->keyBoardLockInfo)); + mod->inst->input->SynchronizeEvent(mod->inst->input, mod->keyBoardLockInfo); + mod->bool_keyBoardSynced = 1; + } mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3); break; case 16: /* key up */ mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3); break; - case 17: /*Synchronize*/ - LLOGLN(11, ("Synchronized event handled")); - mod->inst->input->SynchronizeEvent(mod->inst->input, 0); + case 17: /*Synchronize*/ + LLOGLN(11, ("Synchronized event handled : %d",param1)); + // In some situations the Synchronize event come to early. + // Therefore we store this information and use it when we + // receive the first keyboard event + // Without this fix numlock and capslock can come out of sync. + mod->inst->input->SynchronizeEvent(mod->inst->input, param1); + if(!mod->bool_keyBoardSynced) + { + mod->keyBoardLockInfo = param1 ; + } break; case 100: /* mouse move */ LLOGLN(12, ("mouse move %d %d", param1, param2)); diff --git a/neutrinordp/xrdp-neutrinordp.h b/neutrinordp/xrdp-neutrinordp.h index 9cd3a8c3..e09c0419 100644 --- a/neutrinordp/xrdp-neutrinordp.h +++ b/neutrinordp/xrdp-neutrinordp.h @@ -172,6 +172,8 @@ struct mod int vrev; char username[256]; char password[256]; + int bool_keyBoardSynced ; /*Numlock can be out of sync, we hold state here to resolve */ + int keyBoardLockInfo ; /* Holds initial numlock capslock state */ struct xrdp_client_info client_info; From b30e5ca14a444ae6af85f9f4db6d6229f5a36ed2 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Mon, 19 May 2014 12:45:49 -0700 Subject: [PATCH 2/8] neutrinordp: minor changes, coding style, log level --- neutrinordp/xrdp-neutrinordp.c | 28 +++++++++++++++------------- neutrinordp/xrdp-neutrinordp.h | 2 +- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/neutrinordp/xrdp-neutrinordp.c b/neutrinordp/xrdp-neutrinordp.c index 997a0c0c..96502000 100644 --- a/neutrinordp/xrdp-neutrinordp.c +++ b/neutrinordp/xrdp-neutrinordp.c @@ -27,7 +27,7 @@ #ifdef XRDP_DEBUG #define LOG_LEVEL 99 #else -#define LOG_LEVEL 0 +#define LOG_LEVEL 1 #endif #define LLOG(_level, _args) \ @@ -195,12 +195,13 @@ lxrdp_event(struct mod *mod, int msg, long param1, long param2, switch (msg) { case 15: /* key down */ - // Before we handle the first character we synchronize - // capslock and numlock. - // We collect the state during the first synchronize ( see msg 17) - if(!mod->bool_keyBoardSynced) + /* Before we handle the first character we synchronize + capslock and numlock. */ + /* We collect the state during the first synchronize + ( see msg 17) */ + if (!mod->bool_keyBoardSynced) { - LLOGLN(0, ("Additional Sync event handled : %d",mod->keyBoardLockInfo)); + LLOGLN(11, ("Additional Sync event handled : %d", mod->keyBoardLockInfo)); mod->inst->input->SynchronizeEvent(mod->inst->input, mod->keyBoardLockInfo); mod->bool_keyBoardSynced = 1; } @@ -209,16 +210,17 @@ lxrdp_event(struct mod *mod, int msg, long param1, long param2, case 16: /* key up */ mod->inst->input->KeyboardEvent(mod->inst->input, param4, param3); break; - case 17: /*Synchronize*/ + case 17: /* Synchronize */ LLOGLN(11, ("Synchronized event handled : %d",param1)); - // In some situations the Synchronize event come to early. - // Therefore we store this information and use it when we - // receive the first keyboard event - // Without this fix numlock and capslock can come out of sync. + /* In some situations the Synchronize event come to early. + Therefore we store this information and use it when we + receive the first keyboard event + Without this fix numlock and capslock can come + out of sync. */ mod->inst->input->SynchronizeEvent(mod->inst->input, param1); - if(!mod->bool_keyBoardSynced) + if (!mod->bool_keyBoardSynced) { - mod->keyBoardLockInfo = param1 ; + mod->keyBoardLockInfo = param1; } break; case 100: /* mouse move */ diff --git a/neutrinordp/xrdp-neutrinordp.h b/neutrinordp/xrdp-neutrinordp.h index e09c0419..aaff6d5a 100644 --- a/neutrinordp/xrdp-neutrinordp.h +++ b/neutrinordp/xrdp-neutrinordp.h @@ -172,7 +172,7 @@ struct mod int vrev; char username[256]; char password[256]; - int bool_keyBoardSynced ; /*Numlock can be out of sync, we hold state here to resolve */ + int bool_keyBoardSynced ; /* Numlock can be out of sync, we hold state here to resolve */ int keyBoardLockInfo ; /* Holds initial numlock capslock state */ struct xrdp_client_info client_info; From acb7248dba624174736fa81900dd5939c94ab0c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aeneas=20Jai=C3=9Fle?= Date: Thu, 29 May 2014 14:02:58 +0200 Subject: [PATCH 3/8] Update faq-compile.txt --- faq-compile.txt | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/faq-compile.txt b/faq-compile.txt index 1394c1cf..09f57d84 100644 --- a/faq-compile.txt +++ b/faq-compile.txt @@ -1,24 +1,34 @@ Compile FAQ -Q. I get error: security/pam_appl.h: File or directory doesn't exist +Q. I get one of the following errors: + - "security/pam_appl.h: File or directory doesn't exist" + - "configure: error: please install libpam0g-dev or pam-devel" What is wrong? -A. You need to install pam development package. +A. You need to install the pam development package. For Debian / Ubuntu this package is called libpam0g-dev. - For Red Hat / Suse this package is called pam-devel. + For Red Hat / SUSE this package is called pam-devel. -Q. I get error : -A. You need to install opensll development package. +Q. I get an error: "configure: error: please install libssl-dev or openssl-devel" + +A. You need to install the openssl development package. For Debian / Ubuntu this package is called libssl-dev. - For Red Hat / Suze this package is called openssl-devel. + For Red Hat / Fedora this package is called openssl-devel. + For SUSE / openSUSE this package is called libopenssl-devel. + + +Q. I get one of the following errors: + - "configure: error: please install libx11-dev or libX11-devel" + - "configure: error: please install libx11-dev and libxfixes-dev or libXfixes-devel" + +A. You need to install the X11 and X11 Xfixes development package(s). + For Debian: libx11-dev and libxfixes-dev. + For Red Hat / SUSE: libX11-devel and libXfixes-devel. + -Q. +Q. I get an error: "rail.c:31:35: fatal error: X11/extensions/Xrandr.h: No such file or directory" -A.i -Red Hat - libX11-devel - libXfixes-devel -Debian - libx11-dev - libxfixes-dev +A. You need to install the Xrandr development package. + For Debian / Ubuntu this package is called libxrandr-dev. + For SUSE / openSUSE this package is called libXrandr-devel. From aa4783e9338e6b1b8cb8ab4a81bb3ed391c39ea4 Mon Sep 17 00:00:00 2001 From: seabres Date: Wed, 4 Jun 2014 18:21:55 +0200 Subject: [PATCH 4/8] Change to allow authentication against all authentication methods. --- instfiles/pam.d/xrdp-sesman.other | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/instfiles/pam.d/xrdp-sesman.other b/instfiles/pam.d/xrdp-sesman.other index 56c8d56a..b3ed0f54 100644 --- a/instfiles/pam.d/xrdp-sesman.other +++ b/instfiles/pam.d/xrdp-sesman.other @@ -1,4 +1,5 @@ #%PAM-1.0 -auth required pam_unix.so shadow nullok -auth required pam_env.so readenv=1 -account required pam_unix.so +auth include system-auth +account include system-auth +password include system-auth +session include system-auth From 533cc5b12845a4e180bad0da5b58a6499bf3e4c6 Mon Sep 17 00:00:00 2001 From: anthonyagresta Date: Mon, 4 Aug 2014 15:01:48 -0400 Subject: [PATCH 5/8] Add details for crypt_level=fips to man page --- docs/man/xrdp.ini.5 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/man/xrdp.ini.5 b/docs/man/xrdp.ini.5 index 7b32a9f0..131c0796 100644 --- a/docs/man/xrdp.ini.5 +++ b/docs/man/xrdp.ini.5 @@ -54,7 +54,7 @@ If set to \fB0\fR, \fBfalse\fR or \fBno\fR this option disables all channels \fB See section \fBCHANNELS\fP below for more fine grained options. .TP -\fBcrypt_level\fP=\fIlow|medium|high\fP +\fBcrypt_level\fP=\fIlow|medium|high|fips\fP .\" RDP connection are controlled by two encryption settings: \fIEncryption Level\fP and \fIEncryption Method\fP. The only supported \fIEncryption Method\fP is \fB40BIT_ENCRYPTION\fP, \fB128BIT_ENCRYPTION\fP and \fB56BIT_ENCRYPTION\fP are currently not supported. @@ -70,6 +70,10 @@ All data sent between the client and the server is protected by encryption based .TP .B high All data sent between the client and server is protected by encryption based on the server's maximum key strength. +.TP +.B fips +All data sent between the client and server is protected using Federal Information Processing Standard 140-1 validated encryption methods. +.I This level is required for Windows clients (mstsc.exe) if the client's group policy enforces FIPS-compliance mode. .RE .TP From 9c48b7bc7cbb8d265af208f9a7097681cf7a3834 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Mon, 4 Jan 2016 13:22:22 -0800 Subject: [PATCH 6/8] update xorgxrdp --- xorgxrdp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorgxrdp b/xorgxrdp index 6edf9e51..3379d2c4 160000 --- a/xorgxrdp +++ b/xorgxrdp @@ -1 +1 @@ -Subproject commit 6edf9e519765e0257221c24b01f0a7eeb2aee1dc +Subproject commit 3379d2c483599b00b1af34a2f6ae5bbc358299a6 From d2b0786d34318306c6c85cfb6254a83143165d68 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Thu, 5 Feb 2015 22:04:39 -0800 Subject: [PATCH 7/8] add keyboard options to xrdp_client_info --- common/xrdp_client_info.h | 1 + 1 file changed, 1 insertion(+) diff --git a/common/xrdp_client_info.h b/common/xrdp_client_info.h index 7e906c92..8313d0ae 100644 --- a/common/xrdp_client_info.h +++ b/common/xrdp_client_info.h @@ -132,6 +132,7 @@ struct xrdp_client_info char model[16]; char layout[16]; char variant[16]; + char options[256]; }; From f4224615c97668236826d115fa37b6ce805bea96 Mon Sep 17 00:00:00 2001 From: Jay Sorg Date: Wed, 2 Mar 2016 00:09:58 -0800 Subject: [PATCH 8/8] xorgxrdp=68412e5 --- xorgxrdp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xorgxrdp b/xorgxrdp index 3379d2c4..68412e5b 160000 --- a/xorgxrdp +++ b/xorgxrdp @@ -1 +1 @@ -Subproject commit 3379d2c483599b00b1af34a2f6ae5bbc358299a6 +Subproject commit 68412e5b93d9c41c1e0f3f0e6c4d11c68754fe5f