diff options
author | Jay Sorg <jay.sorg@gmail.com> | 2012-05-13 13:56:15 -0700 |
---|---|---|
committer | Jay Sorg <jay.sorg@gmail.com> | 2012-05-13 13:56:15 -0700 |
commit | e0fc7297f5bd0c4297e6b6b8ca2d7cd80251b1c9 (patch) | |
tree | c59520c6fa41aede3b3e9940518474cade61dc56 /xorg | |
parent | 67bd319adf4fafabcb1ea9124b8d64209d3ebcf7 (diff) | |
download | xrdp-proprietary-e0fc7297f5bd0c4297e6b6b8ca2d7cd80251b1c9.tar.gz xrdp-proprietary-e0fc7297f5bd0c4297e6b6b8ca2d7cd80251b1c9.zip |
pass the client_info(caps) on to module and xserver
Diffstat (limited to 'xorg')
-rw-r--r-- | xorg/X11R7.6/rdp/rdp.h | 3 | ||||
-rw-r--r-- | xorg/X11R7.6/rdp/rdpup.c | 22 |
2 files changed, 24 insertions, 1 deletions
diff --git a/xorg/X11R7.6/rdp/rdp.h b/xorg/X11R7.6/rdp/rdp.h index 9548f76b..98c0c067 100644 --- a/xorg/X11R7.6/rdp/rdp.h +++ b/xorg/X11R7.6/rdp/rdp.h @@ -70,6 +70,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "exevents.h" #include "xserver-properties.h" #include "xkbsrv.h" +#include "../../../common/xrdp_client_info.h" //#include "colormapst.h" @@ -133,6 +134,8 @@ struct _rdpScreenInfoRec int rdp_bpp; int rdp_Bpp; int rdp_Bpp_mask; + + struct xrdp_client_info client_info; }; typedef struct _rdpScreenInfoRec rdpScreenInfoRec; typedef rdpScreenInfoRec* rdpScreenInfoPtr; diff --git a/xorg/X11R7.6/rdp/rdpup.c b/xorg/X11R7.6/rdp/rdpup.c index c0845a2e..338e0751 100644 --- a/xorg/X11R7.6/rdp/rdpup.c +++ b/xorg/X11R7.6/rdp/rdpup.c @@ -413,6 +413,7 @@ rdpup_process_msg(struct stream* s) int param2; int param3; int param4; + int bytes; in_uint16_le(s, msg_type); if (msg_type == 103) @@ -494,9 +495,28 @@ param4 %d\n", msg, param1, param2, param3, param4)); break; } } + else if (msg_type == 104) + { + in_uint32_le(s, bytes); + if (bytes > sizeof(g_rdpScreen.client_info)) + { + bytes = sizeof(g_rdpScreen.client_info); + } + memcpy(&(g_rdpScreen.client_info), s->p - 4, bytes); + g_rdpScreen.client_info.size = bytes; + ErrorF("rdpup_process_msg: got client info bytes %d\n", bytes); + ErrorF(" jpeg support %d\n", + g_rdpScreen.client_info.jpeg); + ErrorF(" offscreen support %d\n", + g_rdpScreen.client_info.offscreen_support_level); + ErrorF(" offscreen size %d\n", + g_rdpScreen.client_info.offscreen_cache_size); + ErrorF(" offscreen entries %d\n", + g_rdpScreen.client_info.offscreen_cache_entries); + } else { - rdpLog("unknown message type in rdpup_process_msg\n"); + rdpLog("unknown message type in rdpup_process_msg %d\n", msg_type); } return 0; } |