Exemple #1
0
int main(int argc, char* argv[])
{
	freerdp_listener* instance;

	WTSRegisterWtsApiFunctionTable(FreeRDP_InitWtsApi());
	instance = freerdp_listener_new();

	instance->PeerAccepted = test_peer_accepted;

	if (argc > 1)
		test_pcap_file = argv[1];
	
	if (argc > 2 && !strcmp(argv[2], "--fast"))
		test_dump_rfx_realtime = FALSE;

	/* Open the server socket and start listening. */
	freerdp_wsa_startup();
	if (instance->Open(instance, NULL, 3389) &&
		instance->OpenLocal(instance, "/tmp/tfreerdp-server.0"))
	{
		/* Entering the server main loop. In a real server the listener can be run in its own thread. */
		test_server_mainloop(instance);
	}
	freerdp_wsa_cleanup();

	freerdp_listener_free(instance);

	return 0;
}
Exemple #2
0
int main(int argc, char* argv[])
{
    freerdp_listener* instance;

    /* ignore SIGPIPE, otherwise an SSL_write failure could crash the server */
    signal(SIGPIPE, SIG_IGN);

    instance = freerdp_listener_new();
    instance->PeerAccepted = xf_peer_accepted;

    if (argc > 1)
        xf_pcap_file = argv[1];

    if (argc > 2 && !strcmp(argv[2], "--fast"))
        xf_pcap_dump_realtime = false;

    /* Open the server socket and start listening. */
    if (instance->Open(instance, NULL, 3389))
    {
        /* Entering the server main loop. In a real server the listener can be run in its own thread. */
        xf_server_main_loop(instance);
    }

    freerdp_listener_free(instance);

    return 0;
}
Exemple #3
0
void freerdp_server_free(xfServer* server)
{
	if (server)
	{
		freerdp_listener_free(server->listener);
		free(server);
	}
}
Exemple #4
0
int main(int argc, char* argv[])
{
	HKEY hKey;
	LONG status;
	DWORD dwType;
	DWORD dwSize;
	DWORD dwValue;
	int port = 3389;
	WSADATA wsa_data;
	freerdp_listener* instance;

	instance = freerdp_listener_new();

	instance->PeerAccepted = wf_peer_accepted;

	if (WSAStartup(0x101, &wsa_data) != 0)
		return 1;

	g_done_event = CreateEvent(0, 1, 0, 0);

	status = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\FreeRDP\\Server"), 0, KEY_READ | KEY_WOW64_64KEY, &hKey);

	if (status == ERROR_SUCCESS)
	{
		if (RegQueryValueEx(hKey, _T("DefaultPort"), NULL, &dwType, (BYTE*) &dwValue, &dwSize) == ERROR_SUCCESS)
			port = dwValue;
	}

	RegCloseKey(hKey);

	if (argc == 2)
		port = atoi(argv[1]);

	/* Open the server socket and start listening. */

	if (instance->Open(instance, NULL, port))
	{
		/* Entering the server main loop. In a real server the listener can be run in its own thread. */
		wf_server_main_loop(instance);
	}

	if (g_thread_count > 0)
		WaitForSingleObject(g_done_event, INFINITE);
	else
		MessageBox(GetConsoleWindow(),
			L"Failed to start wfreerdp-server.\n\nPlease check the debug output.",
			L"FreeRDP Error", MB_ICONSTOP);

	WSACleanup();

	freerdp_listener_free(instance);

	return 0;
}
Exemple #5
0
int main(int argc, char* argv[])
{
	freerdp_listener* instance;

	signal(SIGPIPE, SIG_IGN);

	instance = freerdp_listener_new();

	instance->PeerAccepted = mf_peer_accepted;

	if (instance->Open(instance, NULL, 3389))
	{
		mf_server_main_loop(instance);
	}

	freerdp_listener_free(instance);

	return 0;
}
Exemple #6
0
void freerds_listener_delete(xrdpListener* self)
{
	freerdp_listener_free((freerdp_listener*) self);
}
Exemple #7
0
int main(int argc, char* argv[])
{
	WSADATA wsaData;
	freerdp_listener* instance;
	char* file;
	char name[MAX_PATH];
	long port = 3389, i;
	BOOL localOnly = FALSE;
	errno = 0;

	for (i = 1; i < argc; i++)
	{
		char* arg = argv[i];

		if (strncmp(arg, "--fast", 7) == 0)
			test_dump_rfx_realtime = FALSE;
		else if (strncmp(arg, "--port=", 7) == 0)
		{
			StrSep(&arg, "=");

			if (!arg)
				return -1;

			port = strtol(arg, NULL, 10);

			if ((port < 1) || (port > 0xFFFF) || (errno != 0))
				return -1;
		}
		else if (strcmp(arg, "--local-only"))
			localOnly = TRUE;
		else if (strncmp(arg, "--", 2))
			test_pcap_file = arg;
	}

	WTSRegisterWtsApiFunctionTable(FreeRDP_InitWtsApi());
	winpr_InitializeSSL(WINPR_SSL_INIT_DEFAULT);
	instance = freerdp_listener_new();

	if (!instance)
		return -1;

	instance->PeerAccepted = test_peer_accepted;

	if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
	{
		freerdp_listener_free(instance);
		return -1;
	}

	/* Open the server socket and start listening. */
	sprintf_s(name, sizeof(name), "tfreerdp-server.%ld", port);
	file = GetKnownSubPath(KNOWN_PATH_TEMP, name);

	if (!file)
	{
		freerdp_listener_free(instance);
		WSACleanup();
		return -1;
	}

	if ((localOnly || instance->Open(instance, NULL, port)) &&
	    instance->OpenLocal(instance, file))
	{
		/* Entering the server main loop. In a real server the listener can be run in its own thread. */
		test_server_mainloop(instance);
	}

	free(file);
	freerdp_listener_free(instance);
	WSACleanup();
	return 0;
}