diff options
| author | speidy <speidy@gmail.com> | 2014-02-05 10:38:25 +0200 |
|---|---|---|
| committer | speidy <speidy@gmail.com> | 2014-02-05 10:38:25 +0200 |
| commit | 423c583cddc31df98a01c8b5ed39558d691c19eb (patch) | |
| tree | a1f08e936ca911d53b21b1741251afb5bc9a9f1c | |
| parent | b8cffeefe1c13838271cf517dfb255785aab5685 (diff) | |
| download | xrdp-proprietary-423c583cddc31df98a01c8b5ed39558d691c19eb.tar.gz xrdp-proprietary-423c583cddc31df98a01c8b5ed39558d691c19eb.zip | |
libxrdp: xrdp_sec: added CS_CORE process func for future use.
| -rw-r--r-- | libxrdp/xrdp_sec.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libxrdp/xrdp_sec.c b/libxrdp/xrdp_sec.c index d1bd49de..df2cc653 100644 --- a/libxrdp/xrdp_sec.c +++ b/libxrdp/xrdp_sec.c @@ -901,7 +901,39 @@ xrdp_sec_send(struct xrdp_sec *self, struct stream *s, int chan) DEBUG((" out xrdp_sec_send")); return 0; } +/*****************************************************************************/ +/* returns error */ +static int APP_CC +xrdp_sec_process_mcs_cli_info(struct xrdp_sec *self, struct stream *s) +{ + in_uint8s(s, 4); /* RDP client version */ + in_uint8s(s, 2); /* desktopWidth */ + in_uint8s(s, 2); /* desktopHeight */ + in_uint8s(s, 2); /* colorDepth */ + in_uint8s(s, 2); + in_uint8s(s, 4); + in_uint8s(s, 4); + in_uint8s(s, 32); + in_uint8s(s, 4); + in_uint8s(s, 4); + in_uint8s(s, 64); + in_uint8s(s, 2); + in_uint8s(s, 2); + in_uint8s(s, 4); + in_uint8s(s, 2); + in_uint8s(s, 2); + in_uint8s(s, 2); /* earlyCapabilityFlags */ + in_uint8s(s, 64); + in_uint8s(s, 1); + in_uint8s(s, 1); /* pad1octet */ + in_uint8s(s, 4); + in_uint8s(s, 4); + in_uint8s(s, 4); + in_uint8s(s, 2); + in_uint8s(s, 4); + in_uint8s(s, 4); +} /*****************************************************************************/ /* this adds the mcs channels in the list of channels to be used when creating the server mcs data */ @@ -1043,6 +1075,10 @@ xrdp_sec_process_mcs_data(struct xrdp_sec *self) switch (tag) { case SEC_TAG_CLI_INFO: + if (xrdp_sec_process_mcs_cli_info(self, s) != 0) + { + return 1; + } break; case SEC_TAG_CLI_CRYPT: break; |
