static void rdesktop_reset_state(void) { rdp_reset_state(); #ifdef WITH_SCARD scard_reset_state(); #endif #ifdef WITH_RDPSND rdpsnd_reset_state(); #endif }
static void rdesktop_reset_state(void) { rdp_reset_state(); }
/* returns boolean, non zero is ok */ int ui_main(void) { uint32 flags; BOOL bInitClip=FALSE; char server[64]; char domain[256]; char password[64]; /* char fullhostname[64]; char shell[256]; char directory[256]; */ STRNCPY(domain, g_domain, sizeof(domain)); STRNCPY(password, g_password, sizeof(password)); STRNCPY(server, g_servername, sizeof(server)); // set logon mode depending if pw is set flags = RDP_LOGON_NORMAL; if (g_password[0] != 0) { flags |= RDP_LOGON_AUTO; } //rdpdr_init(); //CE version does not yet support redirector while (1) { //rdesktop_reset_state(); //CE version does not have this rdp_reset_state(); if (g_redirect) { free(g_username); g_username = (char *) malloc(strlen(g_redirect_username) + 1); STRNCPY(g_username, g_redirect_username, strlen(g_redirect_username) + 1); STRNCPY(domain, g_redirect_domain, sizeof(g_redirect_domain)); STRNCPY(password, g_redirect_password, sizeof(g_redirect_password)); if(g_redirect_server[0] != 0) STRNCPY(server, g_redirect_server, sizeof(g_redirect_server)); flags |= RDP_LOGON_AUTO; //we are back to normal undirected server g_redirect=FALSE; } //g_redirect = FALSE; //ui_init_connection(); //windows sizing etc will done in mi_create_window() DEBUGMSG(1, (L"ui_main connecting to '%s' at '%s'\r\n", (LPSTR)server, (LPSTR)domain)); if (!rdp_connect(server, flags, domain, password, g_shell, g_directory, g_redirect)) { return 0; //EX_PROTOCOL not used in CE version } /* By setting encryption to False here, we have an encrypted login packet but unencrypted transfer of other packets NOT YET supported in CE version */ //if (!g_packet_encryption) // g_encryption = False; DEBUGMSG(DBG_RDP, (L"Connection successful.\n")); if (!g_redirect) { /* init backingstore */ bs_init(g_width, g_height, g_server_depth); /* create the window */ if (!mi_create_window()) { return 0; } /* Init Clipboard ??? */ //cliprdr_init(); SetCursor(LoadCursor(NULL, IDC_NO)); //reset waitcursor set in WinMain /* if all ok, enter main loop */ } g_redirect = False; mi_main_loop(); // rdp_main_loop(&deactivated, &ext_disc_reason); DEBUGMSG(DBG_RDP, (L"Disconnecting...\n")); //if (!tcp_is_connected()) // rdp_disconnect(); if (g_redirect) continue; //if (g_redirect) // continue; break; } return 1; }