libxrdp: enforce server security layer when rdpNegData is not exists

ulab-next-nosound
Idan Freiberg 11 years ago
parent 4ded149eb5
commit 5fcf6beffa

@ -305,12 +305,10 @@ xrdp_iso_incoming(struct xrdp_iso *self)
} }
} }
int serverSecurityLayer = self->mcs_layer->sec_layer->rdp_layer->client_info.security_layer;
/* security layer negotiation */ /* security layer negotiation */
if (self->rdpNegData) if (self->rdpNegData)
{ {
int
serverSecurityLayer =
self->mcs_layer->sec_layer->rdp_layer->client_info.security_layer;
self->selectedProtocol = PROTOCOL_RDP; /* set default security layer */ self->selectedProtocol = PROTOCOL_RDP; /* set default security layer */
switch (serverSecurityLayer) switch (serverSecurityLayer)
@ -371,6 +369,11 @@ xrdp_iso_incoming(struct xrdp_iso *self)
self->failureCode = INCONSISTENT_FLAGS; //TODO: ? self->failureCode = INCONSISTENT_FLAGS; //TODO: ?
} }
} }
else if (self->requestedProtocol != serverSecurityLayer)
{
/* enforce server security */
return 1;
}
/* set things for tls connection */ /* set things for tls connection */

Loading…
Cancel
Save