Commit Graph

68 Commits

Author SHA1 Message Date
matt335672 f4d73054a9 Use client earlyCapabilities to determine channel join count
We always now indicate we support skipping channel joins. If the client
indicates this too, expect no channel join requests from the client.

If we do get some, process them anyway.
2024-09-29 14:51:38 +01:00
matt335672 fcc82c3499 Announce server RNS_UD_SC_SKIP_CHANNELJOIN_SUPPORTED 2024-09-29 14:20:48 +01:00
matt335672 7eb586d1ae Combine code paths for handling channel joins
The existing code contains separate TLS and non-TLS code paths for
hadling channel join PDUs. This was introduced in
8fdc1ba216 and was based on a
misunderstanding of where in the connection sequence the TLS client hello
is processed (if a TLS connection is negotiated). The assumption was
the TLS client hello is received after the channel join PDUs. However,
it is actually received immediately after the X.224 Connection Confirm
PDU some time before channel join requests are processed.

Consequently, there is no reason not to adopt a single code path for
handling channel joins.
2024-09-29 14:11:02 +01:00
firewave fb9c175b11 enabled and fixed `-Wmissing-prototypes` compiler warnings
Co-authored-by: matt335672 <30179339+matt335672@users.noreply.github.com>
2024-04-23 18:38:20 +02:00
a1346054 7fe18cc1c0
fix typos 2022-09-03 02:01:48 +00:00
matt335672 8fdc1ba216 Relaxed Channel Join PDU requirements for non-TLS
Windows 10 RDS is quite relaxed about missing channel join PDUs,
whereas we have to adhere quite tightly to the specification to
make sure we get a TLS "Client hello" where appropriate. This makes
us incompatible with older RDP clients. For example, the Wyse sx0
thin client does not send a channel join PDU for the user channel.
Older, non-TLS versions of xrdp supported these devices.

This commit re-implements the xrdp v0.6.1 behaviour for non-TLS
connections only, allowing system administrators to use these devices
on trusted networks. These devices are in any case too old to
establish a modern TLS connection.
2022-05-18 12:18:23 +01:00
matt335672 28da2045d9 Send MS-compatible user channel
The Windows 10 RDS sets the user channel ID to be one more than the
ID of the last allocated static virtual channel. Currently we set it to
1002 (0x03ea) which is allocated to the server channel. This change
makes xrdp emulate RDS more closely.
2022-05-18 12:18:23 +01:00
matt335672 7eb44bd54c Update channel logging 2022-05-18 12:18:23 +01:00
matt335672 dc72ca269b Set closed RDP socket to -1 rather than 0 2022-04-01 13:00:33 +01:00
aquesnel 0ec471b02d
Add detailed logging to libxrdp (#1742)
* Added s_rem(s) for getting the remaining bytes in a stream
* Added s_rem_out() macro
* Fixed 15bpp pointer error checking
* Combined the 512 and 2048 bit certificate sending  code paths
* Other detailed comments and logging added following MS-RDPBCGR
2021-02-04 10:11:54 +00:00
Alexandre Quesnel a82ee03d4d Changing LOG_DEVEL to LOG to avoid silent failures. 2020-12-05 19:22:50 +00:00
Alexandre Quesnel 2d6d249f76 Fixing code formatting with astyle 2020-11-30 05:04:11 +00:00
Alexandre Quesnel 51905d765a Migrating logging to LOG() and LOG_DEVEL() in libxrdp/* 2020-11-30 05:04:10 +00:00
matt335672 81e037e964 Prevent chansrv input channels being scanned during a server reset 2020-06-03 11:57:25 +01:00
matt335672 6f881d47d3 Rationalise ms- constants
Constants from MS documents (MS-RDPBCGR etc) moved out of
common/xrdp_constants.h into includes named after the documents.

Similar includes moved from sesman/chansrv to the common area.
2020-01-06 15:46:37 +00:00
Pavel Roskin 6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 2017-03-14 00:21:48 -07:00
Pavel Roskin b2d3dcf169 Include config_ac.h from all source files 2017-03-04 00:52:34 -08:00
Pavel Roskin ae5bb5bf9c Fix incorrect use of "it's" and "its", adjust wording 2016-06-21 16:30:15 -07:00
Pavel Roskin 92a6833e9b Fix typos 2016-02-13 20:41:07 -08:00
Pavel Roskin 964e860072 Run through codespell 2016-01-14 08:47:50 -08:00
Jay Sorg 25809f4f1c libxrdp: no logic change, tabs to spaces 2014-12-23 20:04:20 -08:00
Jay Sorg 605df27103 libxrdp: remove a global, remove some tabs 2014-11-06 16:51:39 -08:00
Jay Sorg c7144744a4 security change for none 2014-08-05 14:41:59 -07:00
Jay Sorg 821bf3e2a5 no logic change, convert tabs to spaces 2014-08-05 11:59:52 -07:00
Idan Freiberg 0795400fe2 libxrdp: mcs, delete temp hexdump 2014-07-23 15:51:21 +03:00
Idan Freiberg afdf638c7b libxrdp, common: work on TLS mode 2014-07-23 15:31:45 +03:00
speidy 1acdc3085e libxrdp: work on TLS mode, temporary changes 2014-07-21 07:00:12 +03:00
Idan Freiberg 7ab1d887ae libxrdp: work on TLS support 2014-07-17 14:29:23 +03:00
Idan Freiberg f0b6c6b1d1 libxrdp: started adding TLS support 2014-07-15 18:29:40 +03:00
Jay Sorg bd810c0695 support 2048 bit RSA keys 2014-06-18 22:02:58 -07:00
Jay Sorg 4cae44ce3b libxrdp: keep rdp packets < 16K 2014-03-09 21:07:08 -07:00
Jay Sorg 932d785deb fast path changes, iso never reads now 2014-03-04 18:11:55 -08:00
speidy 43f4d439ec libxrdp: work on fastpath, length issue 2014-03-04 10:19:19 +02:00
speidy 1f1e803140 Merge ../../neutrinolabs/xrdp into fastpath
Conflicts:
	libxrdp/libxrdp.c
	libxrdp/libxrdp.h
	libxrdp/xrdp_iso.c
	libxrdp/xrdp_sec.c
	libxrdp/xrdp_tcp.c
	xrdp/xrdp.ini
2014-03-02 01:39:34 +02:00
Jay Sorg e9e14f22f9 started work on fastpath, restructure PDU in 2014-02-25 20:47:34 -08:00
Jay Sorg 8e4520b3c3 libxrdp: work on fips 2014-02-22 22:44:58 -08:00
speidy 80204e2536 libxrdp: work on fastpath input, added fastpath option to xrdp.ini 2014-02-11 00:28:43 +02:00
speidy 9a98299e2b libxrdp: work on fastpath 2014-02-08 20:55:41 +02:00
speidy 113f2696fe libxrdp: work on fastpath 2014-02-08 13:34:01 +02:00
speidy 8cc619c223 libxrdp: work on multimon 2013-10-30 19:41:59 +02:00
Jay Sorg 086481395c Merge branch 'multimon' of git://github.com/speidy/xrdp into speidy-multimon
Conflicts:
	common/xrdp_client_info.h
	libxrdp/xrdp_iso.c
	libxrdp/xrdp_sec.c
2013-10-09 14:15:50 -07:00
speidy 0d86544819 libxrdp: work on multimon, added monitor data processing 2013-10-05 12:03:15 +03:00
Jay Sorg 6848cbbc04 VUL: add some more buffer checks 2013-09-10 23:17:18 -07:00
Jay Sorg 369b090e38 VUL: fix some possible buffer overruns 2013-09-10 16:02:35 -07:00
Jay Sorg 39ed446e15 VUL: fix some possible buffer overruns 2013-09-10 16:00:30 -07:00
speidy a8e5b3fee5 libxrdp: work on multi-mon support 2013-07-15 10:13:03 +03:00
Jay Sorg c6fa03102f copyright year update 2013-06-08 10:51:53 -07:00
ArvidNorr 72c99794ee Merge pull request #59 from ArvidNorr/morelogging
More logging for debug and trace.
2013-01-31 11:22:43 -08:00
ArvidNorr 975d44e99f More logging added 2013-01-18 10:24:25 +01:00
ArvidNorr a2bbbd8cc3 Display PAM error in gateway setup, use domain name as IP/DNS, changed how the socket is closed 2013-01-16 01:28:35 -08:00