예제 #1
0
파일: nego.c 프로젝트: ydal/FreeRDP
void nego_attempt_tls(rdpNego* nego)
{
    nego->requested_protocols = PROTOCOL_TLS;

    DEBUG_NEGO("Attempting TLS security");

    if (!nego_tcp_connect(nego))
    {
        nego->state = NEGO_STATE_FAIL;
        return;
    }

    if (!nego_send_negotiation_request(nego))
    {
        nego->state = NEGO_STATE_FAIL;
        return;
    }

    if (!nego_recv_response(nego))
    {
        nego->state = NEGO_STATE_FAIL;
        return;
    }

    if (nego->state != NEGO_STATE_FINAL)
    {
        nego_tcp_disconnect(nego);

        if (nego->enabled_protocols[PROTOCOL_RDP] > 0)
            nego->state = NEGO_STATE_RDP;
        else
            nego->state = NEGO_STATE_FAIL;
    }
}
예제 #2
0
파일: nego.c 프로젝트: g-reno/FreeRDP-old
void nego_attempt_tls(NEGO *nego)
{
	uint8 code;
	nego->requested_protocols = PROTOCOL_TLS;

	nego_tcp_connect(nego);
	x224_send_connection_request(nego->iso);
	tpkt_recv(nego->iso, &code, NULL);

	if (nego->state != NEGO_STATE_FINAL)
	{
		nego_tcp_disconnect(nego);

		if (nego->enabled_protocols[PROTOCOL_RDP] > 0)
			nego->state = NEGO_STATE_RDP;
		else
			nego->state = NEGO_STATE_FAIL;
	}
}