diff options
| author | Jay Sorg <jay.sorg@gmail.com> | 2014-03-07 15:18:17 -0800 |
|---|---|---|
| committer | Jay Sorg <jay.sorg@gmail.com> | 2014-03-07 15:18:17 -0800 |
| commit | 4f83a979eba76f90da33d2936ac15be744b57ef8 (patch) | |
| tree | eba076d7a917eaff0f29b7f5f0d8de970902fb96 | |
| parent | ff8821c308be44e20a340a02d84de3359fcdc700 (diff) | |
| download | xrdp-proprietary-4f83a979eba76f90da33d2936ac15be744b57ef8.tar.gz xrdp-proprietary-4f83a979eba76f90da33d2936ac15be744b57ef8.zip | |
libxrdp: fix for fastpath output and fips
| -rw-r--r-- | libxrdp/xrdp_sec.c | 3 |
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 */ |
