Пример #1
0
void gcc_write_client_data_blocks(wStream* s, rdpSettings* settings)
{
	gcc_write_client_core_data(s, settings);
	gcc_write_client_cluster_data(s, settings);
	gcc_write_client_security_data(s, settings);
	gcc_write_client_network_data(s, settings);

	/* extended client data supported */

	if (settings->NegotiationFlags & EXTENDED_CLIENT_DATA_SUPPORTED)
	{
		if (!settings->SpanMonitors)
		{
			gcc_write_client_monitor_data(s, settings);
		}
	}
	else
	{
		if (settings->UseMultimon)
		{
			fprintf(stderr, "WARNING: true multi monitor support was not advertised by server!\n");

			if (settings->ForceMultimon)
			{
				fprintf(stderr, "Sending multi monitor information anyway (may break connectivity!)\n");
				gcc_write_client_monitor_data(s, settings);
			}
			else
			{
				fprintf(stderr, "Use /multimon:force to force sending multi monitor information\n");
			}
		}
	}
}
Пример #2
0
void gcc_write_client_data_blocks(STREAM* s, rdpSettings *settings)
{
	gcc_write_client_core_data(s, settings);
	gcc_write_client_cluster_data(s, settings);
	gcc_write_client_security_data(s, settings);
	gcc_write_client_network_data(s, settings);
	gcc_write_client_monitor_data(s, settings);
}
Пример #3
0
void gcc_write_client_data_blocks(STREAM* s, rdpSettings* settings)
{
	gcc_write_client_core_data(s, settings);
	gcc_write_client_cluster_data(s, settings);
	gcc_write_client_security_data(s, settings);
	gcc_write_client_network_data(s, settings);

	/* extended client data supported */

	if (settings->negotiationFlags)
		gcc_write_client_monitor_data(s, settings);
}
Пример #4
0
void test_gcc_write_client_core_data(void)
{
	STREAM* s;
	rdpSettings* settings;

	s = stream_new(512);
	settings = settings_new();

	settings->width = 1280;
	settings->height = 1024;
	settings->rdp_version = 5;
	settings->color_depth = 24;
	settings->kbd_layout = 0x409;
	settings->client_build = 3790;
	strcpy(settings->client_hostname, "ELTONS-DEV2");
	strcpy(settings->client_product_id, "69712-783-0357974-42714");

	gcc_write_client_core_data(s, settings);

	ASSERT_STREAM(s, (uint8*) gcc_client_core_data_expected, sizeof(gcc_client_core_data_expected));
}
Пример #5
0
void gcc_write_client_data_blocks(wStream* s, rdpMcs* mcs)
{
	rdpSettings* settings = mcs->settings;

	gcc_write_client_core_data(s, mcs);
	gcc_write_client_cluster_data(s, mcs);
	gcc_write_client_security_data(s, mcs);
	gcc_write_client_network_data(s, mcs);

	/* extended client data supported */

	if (settings->NegotiationFlags & EXTENDED_CLIENT_DATA_SUPPORTED)
	{
		if (settings->UseMultimon && !settings->SpanMonitors)
		{
			gcc_write_client_monitor_data(s, mcs);
		}

		gcc_write_client_message_channel_data(s, mcs);
		gcc_write_client_multitransport_channel_data(s, mcs);
	}
	else
	{
		if (settings->UseMultimon && !settings->SpanMonitors)
		{
			WLog_ERR(TAG,  "WARNING: true multi monitor support was not advertised by server!");

			if (settings->ForceMultimon)
			{
				WLog_ERR(TAG,  "Sending multi monitor information anyway (may break connectivity!)");
				gcc_write_client_monitor_data(s, mcs);
			}
			else
			{
				WLog_ERR(TAG,  "Use /multimon:force to force sending multi monitor information");
			}
		}
	}
}
Пример #6
0
void test_gcc_write_client_core_data(void)
{
	wStream* s;
	rdpSettings* settings;

	s = stream_new(512);
	settings = freerdp_settings_new(NULL);

	settings->width = 1280;
	settings->height = 1024;
	settings->rdp_version = 5;
	settings->color_depth = 24;
	settings->kbd_layout = 0x409;
	settings->kbd_type = 0x04;
	settings->kbd_fn_keys = 12;
	settings->client_build = 3790;
	strcpy(settings->ClientHostname, "ELTONS-DEV2");
	strcpy(settings->ClientProductId, "69712-783-0357974-42714");

	gcc_write_client_core_data(s, settings);

	ASSERT_STREAM(s, (BYTE*) gcc_client_core_data_expected, sizeof(gcc_client_core_data_expected));
}