"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libxrdp/xrdp_sec.c" between
xrdp-0.9.13.1.tar.gz and xrdp-0.9.14.tar.gz

About: xrdp is a remote desktop protocol (rdp) server (accepting connections from rdesktop and Microsoft’s own terminal server / remote desktop clients).

xrdp_sec.c  (xrdp-0.9.13.1):xrdp_sec.c  (xrdp-0.9.14)
skipping to change at line 738 skipping to change at line 738
DEBUG(("flag RDP_COMPRESSION not set")); DEBUG(("flag RDP_COMPRESSION not set"));
} }
} }
if (!s_check_rem(s, 2)) if (!s_check_rem(s, 2))
{ {
return 1; return 1;
} }
in_uint16_le(s, len_domain); in_uint16_le(s, len_domain);
if (len_domain > 511) if (len_domain >= INFO_CLIENT_MAX_CB_LEN)
{ {
DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_domain > 511")); DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_domain > 511"));
return 1; return 1;
} }
if (!s_check_rem(s, 2)) if (!s_check_rem(s, 2))
{ {
return 1; return 1;
} }
in_uint16_le(s, len_user); in_uint16_le(s, len_user);
skipping to change at line 760 skipping to change at line 760
/* /*
* Microsoft's itap client running on Mac OS/Android * Microsoft's itap client running on Mac OS/Android
* always sends autologon credentials, even when user has not * always sends autologon credentials, even when user has not
* configured any * configured any
*/ */
if (len_user == 0) if (len_user == 0)
{ {
self->rdp_layer->client_info.rdp_autologin = 0; self->rdp_layer->client_info.rdp_autologin = 0;
} }
if (len_user > 511) if (len_user >= INFO_CLIENT_MAX_CB_LEN)
{ {
DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_user > 511")); DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_user > 511"));
return 1; return 1;
} }
if (!s_check_rem(s, 2)) if (!s_check_rem(s, 2))
{ {
return 1; return 1;
} }
in_uint16_le(s, len_password); in_uint16_le(s, len_password);
if (len_password > 511) if (len_password >= INFO_CLIENT_MAX_CB_LEN)
{ {
DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_password > 511")); DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_password > 511"));
return 1; return 1;
} }
if (!s_check_rem(s, 2)) if (!s_check_rem(s, 2))
{ {
return 1; return 1;
} }
in_uint16_le(s, len_program); in_uint16_le(s, len_program);
if (len_program > 511) if (len_program >= INFO_CLIENT_MAX_CB_LEN)
{ {
DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_program > 511")); DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_program > 511"));
return 1; return 1;
} }
if (!s_check_rem(s, 2)) if (!s_check_rem(s, 2))
{ {
return 1; return 1;
} }
in_uint16_le(s, len_directory); in_uint16_le(s, len_directory);
if (len_directory > 511) if (len_directory >= INFO_CLIENT_MAX_CB_LEN)
{ {
DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_directory > 511")); DEBUG(("ERROR [xrdp_sec_process_logon_info()]: len_directory > 511"));
return 1; return 1;
} }
if (unicode_utf16_in(s, len_domain, self->rdp_layer->client_info.domain, siz eof(self->rdp_layer->client_info.domain) - 1) != 0) if (unicode_utf16_in(s, len_domain, self->rdp_layer->client_info.domain, siz eof(self->rdp_layer->client_info.domain) - 1) != 0)
{ {
return 1; return 1;
} }
DEBUG(("domain %s", self->rdp_layer->client_info.domain)); DEBUG(("domain %s", self->rdp_layer->client_info.domain));
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)