diff --git a/constants.h b/constants.h index 43fca71..a5033e5 100644 --- a/constants.h +++ b/constants.h @@ -318,13 +318,16 @@ enum RDP_INPUT_DEVICE #define RDP_SOURCE "MSTSC" /* Logon flags */ -#define RDP_LOGON_AUTO 0x0008 -#define RDP_LOGON_NORMAL 0x0033 -#define RDP_LOGON_COMPRESSION 0x0080 /* mppc compression with 8kB histroy buffer */ -#define RDP_LOGON_ENABLEWINDOWSKEY 0x0100 -#define RDP_LOGON_COMPRESSION2 0x0200 /* rdp5 mppc compression with 64kB history buffer */ -#define RDP_LOGON_LEAVE_AUDIO 0x2000 -#define RDP_LOGON_PASSWORD_IS_SC_PIN 0x40000 +#define RDP_INFO_MOUSE 0x00000001 +#define RDP_INFO_DISABLECTRLALTDEL 0x00000002 +#define RDP_INFO_AUTOLOGON 0x00000008 +#define RDP_INFO_UNICODE 0x00000010 +#define RDP_INFO_MAXIMIZESHELL 0x00000020 +#define RDP_INFO_COMPRESSION 0x00000080 /* mppc compression with 8kB histroy buffer */ +#define RDP_INFO_ENABLEWINDOWSKEY 0x00000100 +#define RDP_INFO_COMPRESSION2 0x00000200 /* rdp5 mppc compression with 64kB history buffer */ +#define RDP_INFO_REMOTE_CONSOLE_AUDIO 0x00002000 +#define RDP_INFO_PASSWORD_IS_SC_PIN 0x00040000 #define RDP5_DISABLE_NOTHING 0x00 #define RDP5_NO_WALLPAPER 0x01 diff --git a/rdesktop.c b/rdesktop.c index 4b73a25..3893ae5 100644 --- a/rdesktop.c +++ b/rdesktop.c @@ -554,7 +554,11 @@ main(int argc, char *argv[]) act.sa_flags = 0; sigaction(SIGPIPE, &act, NULL); - flags = RDP_LOGON_NORMAL | RDP_LOGON_ENABLEWINDOWSKEY; + /* setup default flags for TS_INFO_PACKET */ + flags = RDP_INFO_MOUSE | RDP_INFO_DISABLECTRLALTDEL + | RDP_INFO_UNICODE | RDP_INFO_MAXIMIZESHELL + | RDP_INFO_ENABLEWINDOWSKEY; + prompt_password = False; g_seamless_spawn_cmd[0] = domain[0] = g_password[0] = shell[0] = directory[0] = 0; g_embed_wnd = 0; @@ -624,7 +628,7 @@ main(int argc, char *argv[]) } STRNCPY(g_password, optarg, sizeof(g_password)); - flags |= RDP_LOGON_AUTO; + flags |= RDP_INFO_AUTOLOGON; /* try to overwrite argument so it won't appear in ps */ p = optarg; @@ -772,7 +776,7 @@ main(int argc, char *argv[]) case 'z': DEBUG(("rdp compression enabled\n")); - flags |= (RDP_LOGON_COMPRESSION | RDP_LOGON_COMPRESSION2); + flags |= (RDP_INFO_COMPRESSION | RDP_INFO_COMPRESSION2); break; case 'x': @@ -812,7 +816,7 @@ main(int argc, char *argv[]) while ((p = next_arg(optarg, ','))) { if (str_startswith(optarg, "remote")) - flags |= RDP_LOGON_LEAVE_AUDIO; + flags |= RDP_INFO_REMOTE_CONSOLE_AUDIO; if (str_startswith(optarg, "local")) #ifdef WITH_RDPSND @@ -1059,7 +1063,7 @@ main(int argc, char *argv[]) if (prompt_password && read_password(g_password, sizeof(g_password))) - flags |= RDP_LOGON_AUTO; + flags |= RDP_INFO_AUTOLOGON; if (g_title[0] == 0) { @@ -1118,7 +1122,7 @@ main(int argc, char *argv[]) g_username = (char *) xmalloc(strlen(g_redirect_username) + 1); STRNCPY(g_username, g_redirect_username, strlen(g_redirect_username) + 1); STRNCPY(server, g_redirect_server, sizeof(server)); - flags |= RDP_LOGON_AUTO; + flags |= RDP_INFO_AUTOLOGON; fprintf(stderr, "Redirected to %s@%s session %d.\n", g_redirect_username, g_redirect_server, g_redirect_session_id);