Example #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");
			}
		}
	}
}
Example #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);
}
Example #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);
}
Example #4
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");
			}
		}
	}
}
Example #5
0
void test_gcc_write_client_network_data(void)
{
	STREAM* s;
	rdpSettings* settings;

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

	settings->num_channels = 3;
	memset(settings->channels, 0, sizeof(struct rdp_chan) * settings->num_channels);

	strcpy(settings->channels[0].name, "rdpdr");
	settings->channels[0].options = 0x80800000;

	strcpy(settings->channels[1].name, "cliprdr");
	settings->channels[1].options = 0xc0A00000;

	strcpy(settings->channels[2].name, "rdpsnd");
	settings->channels[2].options = 0xc0000000;

	gcc_write_client_network_data(s, settings);

	ASSERT_STREAM(s, (uint8*) gcc_client_network_data_expected, sizeof(gcc_client_network_data_expected));
}
Example #6
0
void test_gcc_write_client_network_data(void)
{
	wStream* s;
	rdpSettings* settings;

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

	settings->ChannelCount = 3;
	memset(settings->ChannelDefArray, 0, sizeof(rdpChannel) * settings->ChannelCount);

	strcpy(settings->ChannelDefArray[0].Name, "rdpdr");
	settings->ChannelDefArray[0].options = 0x80800000;

	strcpy(settings->ChannelDefArray[1].Name, "cliprdr");
	settings->ChannelDefArray[1].options = 0xc0A00000;

	strcpy(settings->ChannelDefArray[2].Name, "rdpsnd");
	settings->ChannelDefArray[2].options = 0xc0000000;

	gcc_write_client_network_data(s, settings);

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