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; }
int main(int argc, char* argv[]) { freerdp_listener* instance; /* Ignore SIGPIPE, otherwise an SSL_write failure could crash your server */ signal(SIGPIPE, SIG_IGN); 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. */ if (instance->Open(instance, NULL, 3389)) { /* Entering the server main loop. In a real server the listener can be run in its own thread. */ test_server_mainloop(instance); } freerdp_listener_free(instance); return 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; }