summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Sorg <jay.sorg@gmail.com>2014-03-07 15:18:17 -0800
committerJay Sorg <jay.sorg@gmail.com>2014-03-07 15:18:17 -0800
commit4f83a979eba76f90da33d2936ac15be744b57ef8 (patch)
treeeba076d7a917eaff0f29b7f5f0d8de970902fb96
parentff8821c308be44e20a340a02d84de3359fcdc700 (diff)
downloadxrdp-proprietary-4f83a979eba76f90da33d2936ac15be744b57ef8.tar.gz
xrdp-proprietary-4f83a979eba76f90da33d2936ac15be744b57ef8.zip
libxrdp: fix for fastpath output and fips
-rw-r--r--libxrdp/xrdp_sec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libxrdp/xrdp_sec.c b/libxrdp/xrdp_sec.c
index 9db0594f..15c784d8 100644
--- a/libxrdp/xrdp_sec.c
+++ b/libxrdp/xrdp_sec.c
@@ -1288,14 +1288,15 @@ xrdp_sec_send_fastpath(struct xrdp_sec *self, struct stream *s)
LLOGLN(10, ("xrdp_sec_send_fastpath: fips"));
pdulen = (int)(s->end - s->p);
datalen = pdulen - 15;
+ pad = (8 - (datalen % 8)) & 7;
secFlags = 0x2;
fpOutputHeader = secFlags << 6;
out_uint8(s, fpOutputHeader);
+ pdulen += pad;
pdulen |= 0x8000;
out_uint16_be(s, pdulen);
out_uint16_le(s, 16); /* crypto header size */
out_uint8(s, 1); /* fips version */
- pad = (8 - (datalen % 8)) & 7;
g_memset(s->end, 0, pad);
s->end += pad;
out_uint8(s, pad); /* fips pad */