Commit Graph

518 Commits

Author SHA1 Message Date
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 ebc21fe180 Added -c / --config to xrdp 2020-10-16 10:55:23 +01:00
matt335672 68f0fa7e4d
Merge pull request #1668 from bolkedebruin/enable_token_sso
Add support for token authentication
2020-09-09 10:10:13 +01:00
metalefty 8822771169
Merge pull request #1662 from aquesnel/fix_chunk_assembly
Adding checks to prevent buffer overruns during data chunk re-assembly
2020-09-01 08:37:11 +09:00
Bolke de Bruin a6a0e5e004 Allow domain name to be concatenated to username
If a server is multihomed (i.e. mutiple domains) the
users are identified by their domain name. This change
allows to concat the domain name to the username with
a specific separator.
2020-08-30 21:56:16 +02:00
Bolke de Bruin b0bca1363e Add support for token authentication
This feature allows to embed a token in the username field. Tokens
are separated from the username by the ASCII field separator character
0x1F (unicode 0x001F).
2020-08-29 10:40:22 +02:00
Alexandre Quesnel 33d9e1d5d7 Adding checks to prevent buffer overruns during data chunk re-assembly 2020-08-24 00:03:08 +00:00
bolkedebruin 5cd36c511c Set max character buffer len to 512 per MS specification
The MS specs determine that the character buffer lenngths
for usernames, domains, passwords, alternate shells, etc
can be up to 512 characters including the mandatory null
terminator.
2020-08-17 10:35:35 +02:00
matt335672 3c4b42b1aa Implemented resize and multimon support for VNC backend 2020-06-04 15:10:35 +01:00
matt335672 1c99d0a366
Merge pull request #1595 from matt335672/reset-improvements
Prevent chansrv input channels being scanned during a server reset
2020-06-03 12:15:07 +01:00
matt335672 81e037e964 Prevent chansrv input channels being scanned during a server reset 2020-06-03 11:57:25 +01:00
matt335672 bfffc40cba Ignore TS_MULTIFRAGMENTUPDATE_CAPABILITYSET from client if fp disabled 2020-05-26 12:02:11 +01:00
matt335672 da3114007c Address possible memory out-of-bounds accesses 2020-04-15 09:57:05 +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
Jay Sorg 0fbbc47092 cleanup refresh rect and check stream bounds 2019-11-07 02:03:57 +00:00
Jay Sorg f4aebe021a add caps for refreshRect and suppressOutput 2019-04-25 14:54:25 -07:00
Jay Sorg 21f90e3ca2 work on suppress 2019-04-25 14:54:25 -07:00
Jay Sorg 9e9cada4ec work on suppress 2019-04-25 14:54:25 -07:00
Jay Sorg ecf4acf5f1 work on suppress 2019-04-25 14:54:25 -07:00
Koichiro IWAO 062699334e
Fix typo s/BITMACACHE/BITMAPCACHE/ 2018-12-13 17:27:25 +09:00
Koichiro IWAO c5d04a1133
Also rename constants in debug messages and comments 2018-12-13 17:25:57 +09:00
Koichiro IWAO f714124b78
Fix constants mistakenly replaced
Pointed out by daixj-shterm.
2018-12-13 17:19:06 +09:00
Koichiro IWAO 0e9e25f100
use MS name for PDU types
RDP_PDU_REDIRECT has been removed as it is not found in MS-RDPBCGR and
not used anywhere.
2018-12-12 17:40:58 +09:00
Koichiro IWAO b2a7bb0cf0
use MS for orderType constants 2018-12-12 17:40:58 +09:00
Koichiro IWAO 1ba921c5ed
Fix and / or mistake 2018-11-28 09:55:39 +09:00
Koichiro IWAO 83d3349c5a
add some more constants and use them 2018-11-27 15:08:22 +09:00
Koichiro IWAO d188519c0c
constify more magic numbers 2018-11-27 15:08:22 +09:00
Koichiro IWAO f1f699b954
remove redundunt comments 2018-11-27 15:08:22 +09:00
Koichiro IWAO 43f6ac0723
use MS name for constants 2018-11-27 15:08:22 +09:00
daixj fcb1b825c5 neutrinordp: don't enable remote_app if the INFO_RAIL flag is not set 2018-11-23 17:18:26 +08:00
daixj bc150c2e56 set use_cache_glyph_v2 on if the client support 2018-10-25 17:02:43 +08:00
daixj b3a1889200 Support Cache Glyph Revison 2, issue #367 2018-10-25 10:34:00 +08:00
jsorg71 ae1514c167
dynamic virtual channel improvements
remove not used chansrv <-> xrdp messages
move static channel disable control into libxrdp
remove some blocking read, write chansrv calls
add drdynvc calls to libxrdp
add drdynvc calls to chansrv
channel cleanup
2018-10-11 22:09:20 -07:00
daixj 828079b442 libxrdp: fix memory leak 2018-02-13 16:44:37 +09:00
Koichiro IWAO b17c45d86f
fix potential fd leak
In most cases, checking fd > 0 is not valid. open(2) returns -1 on
error, 0 on stdin, 1 on stdout, 2 on stderr, >2 . The border should be
between -1 and 0. Additionally, between 2 and 3.

Pointed out by: #919
2018-01-17 09:38:28 +09:00
Koichiro IWAO a20d5c29e8 xrdp_caps: remove unneeded comment on case statement 2017-12-01 11:20:42 +09:00
Koichiro IWAO 64f15d6553 xrdp_caps: constify and sort capability set 2017-12-01 11:20:42 +09:00
Koichiro IWAO 788ae1467a xrdp_sec: constify color depth value 2017-12-01 11:20:42 +09:00
Koichiro IWAO 391c69731c libxrdp: advertise horizontal mouse wheel capability 2017-11-06 16:18:42 +09:00
Jay Sorg 9d36983ae7 fix for protocol error when 32 bit and non rfx 2017-07-12 15:03:08 +09:00
Jay Sorg 8d63c32899 move openssl calls to common/libssl.c, check for defines 2017-06-22 11:47:48 +09:00
Koichiro IWAO a1b0344db5 Use the words "cannot read" rather than "cannot open"
as the code actually tests readability.
2017-06-12 16:57:04 +09:00
Koichiro IWAO 4f7969b562 Check certificate/privkey readability not existence
to fail RDP security negotiation if certificate/privkey is not readable
2017-06-12 16:57:04 +09:00
Koichiro IWAO 65c1fe87d7 Log user-friendly message when certificate/privkey is inaccessible
We shouldn't assume that xrdp daemon is running under root privilege.
In many cases, root privilege is not really needed for xrdp daemon.
xrdp may fail to load certificate/privkey due to lack of permissions
when running under user privilege. Checking existence of files is not
enough and xrdp should output user-friendly log in such case.

Reported by Debian user in bug 856436 [1].

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856436
2017-06-12 16:57:04 +09:00
Pavel Roskin 148afd1170 Rename file_loc.h to xrdp_sockets.h, install it
Include xrdp_sockets.h directly, not through headers.
2017-03-28 00:59:16 -07:00
speidy 1c70e4915f xrdp_orders_rail: fix resulting unicode length 2017-03-24 15:36:36 +09:00
speidy 22f0b05b03 libxrdp: window update, simplify length checks 2017-03-24 15:36:36 +09:00
speidy 954b68314d xrdp_orders_rail: fix g_mbstowcs error handling 2017-03-24 15:36:36 +09:00
speidy dfd639a3a9 RAIL: use fixed size length for window texts 2017-03-24 15:36:36 +09:00
Jay Sorg fdb6195bbc rail, text length checks 2017-03-24 15:36:36 +09:00
Jay Sorg 3c95a2aef2 rail, text length checks 2017-03-24 15:36:36 +09:00
speidy 2f382d2a16 libxrdp: print connected client name to log 2017-03-21 22:02:29 -07:00
speidy 9d578d9c5f libxrdp: fix misleading variable name 2017-03-21 22:02:29 -07:00
speidy b905967ba6 libxrdp: improve unicode_in 2017-03-21 22:02:29 -07:00
Pavel Roskin 43899b7e0c Allocate space for tls_ciphers dynamically 2017-03-21 10:39:40 -07:00
Pavel Roskin 6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 2017-03-14 00:21:48 -07:00
Pavel Roskin 9cdcb38d87 Fix memory leak in tls_ciphers parsing 2017-03-13 17:17:06 +09:00
Koichiro IWAO 08ba9ed4a8 Remove useless comment, no logic change
Now client addr and port are properly logged.
2017-03-09 15:42:14 +09:00
Pavel Roskin 30a7a947b1 Don't include config_ac.h from any header files 2017-03-04 00:52:34 -08:00
Pavel Roskin b2d3dcf169 Include config_ac.h from all source files 2017-03-04 00:52:34 -08:00
Pavel Roskin 1c355409a7 Fix compilation on MacOS
xrdp_rdp.c includes openssl/ssl.h now, make sure the OpenSSL include path
is used.
2017-03-01 20:39:48 -08:00
Koichiro IWAO 096baec331 no cast is needed for NULL 2017-02-27 14:17:25 +09:00
Koichiro IWAO 849c1a22a2 TLS: switch ssl_protocols to a comma separated list 2017-02-27 14:17:25 +09:00
Koichiro IWAO c64e9992e6 TLS: warn if no SSL/TLS protocols enabled 2017-02-27 14:17:25 +09:00
Koichiro IWAO e94ab10e14 TLS: new method to specify SSL/TLS version
SSL/TLS protocols only listed in ssl_protocols should be used.
The name "ssl_protocols" comes from nginx.

Resolves #428.
2017-02-27 14:17:25 +09:00
Jay Sorg 7825246d7a fix warning new since stdint.h change 2017-02-22 20:39:56 -08:00
Pavel Roskin 0bb048d35e Fix several cases of discarding return values 2017-01-25 23:22:29 -08:00
Idan Freiberg 482671fd18 Merge pull request #625 from speidy/proxy_session_info
Pass session info in proxy mode
2017-01-23 08:15:18 +02:00
Idan Freiberg 19375dda7a Merge pull request #426 from metalefty/log-tls-version-and-cipher
TLS: log TLS version and cipher
2017-01-16 07:26:51 +02:00
speidy b7da395b5e libxrdp: use constant RDP_DATA_PDU_LOGON 2017-01-15 08:51:43 +02:00
speidy 0a5bc44a0b libxrdp: use log_message 2017-01-15 08:46:04 +02:00
Jay Sorg 6f74efa70a add session_info
Conflicts:
	libxrdp/libxrdp.h
2017-01-15 08:20:50 +02:00
Koichiro IWAO f29a98b243 TLS: log client port in addition to ssl protocol and cipher 2017-01-13 17:59:29 +09:00
speidy 6810aa3f79 libxrdp: libxrdp_send_to_channel, improve error message 2017-01-06 08:32:30 +02:00
speidy 58d8cb0fd2 libxrdp: ignore incoming channels with empty names 2017-01-06 08:01:33 +02:00
speidy 94cdbdcee6 libxrdp: change channel_code into a meaningful name 2017-01-06 07:59:49 +02:00
Pavel Roskin bcaa1709e0 Fix all warnings in TurboJPEG code
Actually use the error code from tjCompress() by logging the errors.

Make sure width is more than zero before filling the pad with the last
pixel data.
2017-01-05 17:27:12 -08:00
jsorg71 5194311d9d Merge pull request #611 from volth/support-enable-xrdpdebug=yes-2
fix build with --enable-xrdpdebug=yes
2017-01-05 16:00:51 -08:00
volth 26a26ef906 fix build with --enable-xrdpdebug=yes 2017-01-04 19:20:44 +00:00
speidy 70e9132ab1 xrdp: add some logging, remove unused var 2016-12-29 08:38:59 -05:00
speidy a62c467f71 libxrdp: frame acks, make sure max unacked frames value is valid. 2016-12-29 00:33:17 -05:00
speidy a96c91b38e libxrdp: fix Fast-Path Synchronize Update message 2016-12-27 09:53:53 +02:00
speidy 38253f1371 libxrdp: add XRDP_RFXCODEC to Makefile.am 2016-12-22 11:43:41 -05:00
metalefty 1753f6317c Merge pull request #550 from jsorg71/bitmap_update
fixes for bitmap update
2016-12-20 17:01:32 +09:00
metalefty 25e5243ecf Merge pull request #553 from jsorg71/libpainter
add libpainter for drawing when client does not have minimum orders
2016-12-20 17:00:48 +09:00
Pavel Roskin c21b9a78f4 Distribute all files except git and github specific data
It is better to distribute a few useless file than not to distribute
needed files.
2016-12-18 00:00:11 -08:00
jsorg71 9584e22ba6 Merge pull request #549 from jsorg71/rlelimit
fixes for rle bitmap compress limits and raw bitmaps
2016-12-17 11:58:57 -08:00
Jay Sorg 74ec00a6a6 some code cleanup 2016-12-15 21:52:05 -08:00
jsorg71 870f028692 Merge pull request #546 from proski/jpeg-warning
Fix a warning in jpeg compression code with --enable-jpeg
2016-12-15 21:33:25 -08:00
Jay Sorg 1f51586769 add libpainter for drawing when client does not have minimum orders 2016-12-15 21:17:50 -08:00
Jay Sorg 81e72fc99c code cleanup, add some comments 2016-12-15 14:47:37 -08:00
Jay Sorg 519359a823 fixes for bitmap update 2016-12-15 00:39:13 -08:00
Jay Sorg 492116d535 fixes for rle bitmap compress limits and raw bitmaps 2016-12-14 23:55:13 -08:00
Pavel Roskin 380729e982 Fix a warning in jpeg compression code with --enable-jpeg
If the image width is not divisible by 4, the image is padded to the next
multiple of 4. The additional pixels are filled with the colors of the
last pixel in the row.

The last pixel colors may not be initialized if the width is 0. In this
case, the would be no padding, but the compiler doesn't know that.

Add a check that the width is more that 0 before filling the padding.
2016-12-14 22:35:08 -08:00
speidy a614b60157 lixrdp: typo fix 2016-12-13 18:19:32 -05:00
speidy 917aadd2d1 libxrdp: more constants 2016-12-13 18:18:34 -05:00
speidy 3dc0f2860c Merge branch 'surface_cmds' of git://github.com/speidy/xrdp into surface_cmds 2016-12-13 15:08:37 -05:00
speidy 5e39bb1f87 libxrdp: caps, group caps require fastpath output, use FASTPATH_OUTPUT_SUPPORTED constant 2016-12-13 15:05:39 -05:00
speidy d6a470e973 libxrdp: improve messages 2016-12-13 14:31:27 -05:00