Commit Graph

63 Commits

Author SHA1 Message Date
matt335672 697dcbb24d Start the drdynvc channel within xrdp_wm
The responsibility for starting the drdynvc channel is moved out of
libxrdp into the application. This will make it easier to allow the
application to check the channel is enabled before starting it.
2024-03-11 11:00:53 +00:00
matt335672 bc70a86de6 Rework xrdp to support new module resize interface
This commit compiles.
2024-02-15 16:48:13 +00:00
Jay Sorg c250529e8e add large cursor support, posix shm 2023-05-16 10:20:24 -07:00
Nexarian edb8fa7946 Add planar compression
Used for the bitmaps transmitted for the login screen over the egfx
channels.
2023-03-15 22:17:05 -04:00
Nexarian db5ea2f214 Initial EGFX tests.
- Rearranging imports.
- Remove unnecessary check to g_is_wait_obj_set.
- Use g_get_term everywhere.
- Misc updates.
2023-01-23 23:05:24 -05:00
matt335672 d5445e9dc1 Parse more physical monitor size information
To implement a scalable login screen, we need to be able to ascertain
the DPI of the connected primary monitor.

At present, in a multi-monitor situation, this information is available in
the struct display_size_description, which can be searched for the primary
monitor. This is only the case however if the Display Control Channel
Extension is in use ([MS-RDPEDISP]), and a DISPLAYCONTROL_MONITOR_LAYOUT
has been received.

This PR retrieves physical monitor size information from the following
two additional places.

1) The TS_UD_CS_CORE PDU. Physical size information is optionally
   included in this PDU for single-screen configurations.
2) The TS_UD_CS_MONITOR_EX PDU. This includes physical size
   information for multiple-screen configurations.
2022-07-29 10:48:04 +01:00
Christopher Pitstick bd9147d18f Updating to refactor xrdp_client_info
- Eliminate duplicaiton for display_size_description
- monitorCount needs to be uint32_t
- width/height -> session_width/session_height
- Update CLIENT_INFO_CURRENT_VERSION
- Also some misc unit test updates.
- Minor log updates.
2022-03-27 16:38:32 -04:00
Christopher Pitstick 4a0db63be7 Unify monitor processing logic.
There are two places where monitor descriptions are passed through the
RDP protocol:

- TS_UD_CS_MONITOR ([MS-RDPBCGR] 2.2.1.3.6 Client Monitor Data)
- DISPLAYCONTROL_PDU_TYPE_MONITOR_LAYOUT ([MS-RDPEDISP] 2.2.2.2)

The processing logic for both of them is similar enough that they should be unified.

Also update to define the constants for the maximum and minimum desktop width/height for monitors and total area.

Also a large number of clarifications for the constants and protocol
requirements.

Note that this is also the first step to making resizing work with the extension GFX channel as well as an important
foundational step to enable HiDPI compatibility.

Also some misc logging updates.
2022-03-26 23:45:16 -04:00
matt335672 94cda679f5 Added libxrdp_get_channel_count() 2021-02-04 10:29:56 +00:00
matt335672 ebc21fe180 Added -c / --config to xrdp 2020-10-16 10:55:23 +01:00
matt335672 81e037e964 Prevent chansrv input channels being scanned during a server reset 2020-06-03 11:57:25 +01: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
Pavel Roskin 6ed4c969f4 Eliminate APP_CC and DEFAULT_CC 2017-03-14 00:21:48 -07:00
Jay Sorg 7825246d7a fix warning new since stdint.h change 2017-02-22 20:39:56 -08:00
Jay Sorg 6f74efa70a add session_info
Conflicts:
	libxrdp/libxrdp.h
2017-01-15 08:20:50 +02:00
Pavel Roskin aeeb3d2c2e Fix warnings detected by -Wwrite-strings 2016-07-08 04:29:42 +00:00
Pavel Roskin ca9cbcafc8 Typo fixes 2016-05-04 23:33:30 -07:00
Pavel Roskin 92a6833e9b Fix typos 2016-02-13 20:41:07 -08:00
Jay Sorg b56aa9832e work on main loop changes 2015-07-05 23:14:46 -07:00
Jay Sorg 33167a7c74 add frame acks and h264 codec mode basics 2015-03-28 18:34:25 -07:00
Jay Sorg d672eb8995 no logic change, indent 2014-06-02 22:00:51 -07:00
Jay Sorg 6d7e315b0c work on surface command 2014-03-18 00:07:11 -07:00
Jay Sorg 9414467af2 libxrdp: export jpeg compress for codec mode 2014-03-16 15:54:13 -07:00
Jay Sorg 932d785deb fast path changes, iso never reads now 2014-03-04 18:11:55 -08:00
Jay Sorg e9e14f22f9 started work on fastpath, restructure PDU in 2014-02-25 20:47:34 -08:00
Jim Grandy 981741f55c Hand-apply patch (compositing) from Authentic8: 5d5e470 81c9c29 b0c2c10 27d8a01 a96a217 e512090 a9a6762 9c02bfa bd26fcc c0d29d9 676dd35 3b26737 2013-08-22 12:54:10 -07:00
Jim Grandy 45b0bc9f17 Hand-apply patches (glyph cache) from Authentic8 branch: 653869c 30f23d4 74b015d 4e51e6d 2829087 2013-08-22 12:52:24 -07:00
Jay Sorg c6fa03102f copyright year update 2013-06-08 10:51:53 -07:00
Jay Sorg 494150f1a9 work on new(color) cursors 2013-03-12 22:50:10 -07:00
Laxmikant Rashinkar 1123323fda o moved from GNU General Public License to Apache License, Version 2.0
o applied new coding standards to all .c files
o moved some files around
2012-09-19 20:51:34 -07:00
Jay Sorg 62777d43b1 work on bitmap cache v3 2012-07-17 15:24:11 -07:00
Jay Sorg dc6be76b11 rail: proxy rail 2012-06-24 18:10:49 -07:00
Jay Sorg 900a2541ca offscreen bitmaps: implement the delete list 2012-05-22 08:27:09 -07:00
Jay Sorg e09f14e6d4 don't jpeg compress fonts 2012-05-21 10:38:32 -07:00
Jay Sorg d88291c9dd -xorg: work on off screen bitmaps 2012-05-20 21:14:15 -07:00
Jay Sorg cc3754a2bd xorg: work on offscreen bitmaps 2012-05-17 18:48:28 -07:00
Jay Sorg e0fc7297f5 pass the client_info(caps) on to module and xserver 2012-05-13 13:56:15 -07:00
Jay Sorg 6333cdd865 added non standard jpeg support off by default 2012-04-07 22:41:46 -07:00
Jay Sorg 12ce9c136f add max bpp option to xrdp.ini 2011-08-24 22:45:02 -07:00
Nicola Ruggero d797b2cf49 Implemented client IP logging 2010-11-04 12:14:03 +01:00
Nicola Ruggero 4cf06dbbcb Major code cleanup:
- Initialized and zeroed out local variables
- Check for some null pointers
- Fixed some typos
- Other minor changes (beautify, etc.)
2010-11-03 16:59:26 +01:00
Nicola Ruggero 104f762e5d Added bell (pcspeaker) support 2010-10-26 13:08:28 +02:00
jsorg71 e266d7ed04 update copyright year 2010-07-04 06:14:50 +00:00
jsorg71 574355f3e3 use trans 2010-05-04 09:24:24 +00:00
jsorg71 859dc139f0 update copyright year 2009-01-25 02:11:15 +00:00
jsorg71 8090df64a5 channel changes 2008-12-16 02:18:36 +00:00
jsorg71 bfe555e3b6 added brush cache bits for clients that support it 2008-06-24 05:43:10 +00:00
jsorg71 38b789e81f update copyright year 2008-01-30 07:30:10 +00:00
jsorg71 fc4fe616d1 read the rdp5 performance flags and some 64 bit warning fixes 2007-09-25 23:57:35 +00:00
jsorg71 a70ceb1caa added some debug messages and some mce stuff 2007-01-16 05:57:37 +00:00