Make it possible to disable encryption for all packets except the
packets exchanged in the setup phase. Seems to work with all encryption levels on my W2003 Server (Beta). git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@426 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
9231b642e8
commit
e158625b07
14
rdesktop.c
14
rdesktop.c
@ -55,6 +55,7 @@ BOOL bitmap_compression = True;
|
|||||||
BOOL sendmotion = True;
|
BOOL sendmotion = True;
|
||||||
BOOL orders = True;
|
BOOL orders = True;
|
||||||
BOOL encryption = True;
|
BOOL encryption = True;
|
||||||
|
BOOL packet_encryption = True;
|
||||||
BOOL desktop_save = True;
|
BOOL desktop_save = True;
|
||||||
BOOL fullscreen = False;
|
BOOL fullscreen = False;
|
||||||
BOOL grab_keyboard = True;
|
BOOL grab_keyboard = True;
|
||||||
@ -94,6 +95,7 @@ usage(char *program)
|
|||||||
fprintf(stderr, " -f: full-screen mode\n");
|
fprintf(stderr, " -f: full-screen mode\n");
|
||||||
fprintf(stderr, " -b: force bitmap updates\n");
|
fprintf(stderr, " -b: force bitmap updates\n");
|
||||||
fprintf(stderr, " -e: disable encryption (French TS)\n");
|
fprintf(stderr, " -e: disable encryption (French TS)\n");
|
||||||
|
fprintf(stderr, " -E: disable encryption of everything but the logon packet\n");
|
||||||
fprintf(stderr, " -m: do not send motion events\n");
|
fprintf(stderr, " -m: do not send motion events\n");
|
||||||
fprintf(stderr, " -C: use private colour map\n");
|
fprintf(stderr, " -C: use private colour map\n");
|
||||||
fprintf(stderr, " -K: keep window manager key bindings\n");
|
fprintf(stderr, " -K: keep window manager key bindings\n");
|
||||||
@ -167,7 +169,7 @@ main(int argc, char *argv[])
|
|||||||
#define VNCOPT
|
#define VNCOPT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, VNCOPT "u:d:s:S:c:p:n:k:g:a:fbemCKT:Dh?54")) != -1)
|
while ((c = getopt(argc, argv, VNCOPT "u:d:s:S:c:p:n:k:g:a:fbeEmCKT:Dh?54")) != -1)
|
||||||
{
|
{
|
||||||
switch (c)
|
switch (c)
|
||||||
{
|
{
|
||||||
@ -272,7 +274,9 @@ main(int argc, char *argv[])
|
|||||||
case 'e':
|
case 'e':
|
||||||
encryption = False;
|
encryption = False;
|
||||||
break;
|
break;
|
||||||
|
case 'E':
|
||||||
|
packet_encryption = False;
|
||||||
|
break;
|
||||||
case 'm':
|
case 'm':
|
||||||
sendmotion = False;
|
sendmotion = False;
|
||||||
break;
|
break;
|
||||||
@ -380,6 +384,12 @@ main(int argc, char *argv[])
|
|||||||
if (!rdp_connect(server, flags, domain, password, shell, directory))
|
if (!rdp_connect(server, flags, domain, password, shell, directory))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
/* By setting encryption to False here, we have an encrypted login
|
||||||
|
packet but unencrypted transfer of other packets */
|
||||||
|
if (!packet_encryption)
|
||||||
|
encryption = False;
|
||||||
|
|
||||||
|
|
||||||
DEBUG(("Connection successful.\n"));
|
DEBUG(("Connection successful.\n"));
|
||||||
memset(password, 0, sizeof(password));
|
memset(password, 0, sizeof(password));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user