fixed some connection issues when using xorg driver mode

This commit is contained in:
Laxmikant Rashinkar 2014-03-09 11:24:30 -07:00
parent af3af85195
commit ac6717e32e
3 changed files with 7 additions and 8 deletions

View File

@ -42,7 +42,7 @@
#define SESMAN_CFG_AUTH_FILE_PATH "AuthFilePath" #define SESMAN_CFG_AUTH_FILE_PATH "AuthFilePath"
#define SESMAN_CFG_RDP_PARAMS "X11rdp" #define SESMAN_CFG_RDP_PARAMS "X11rdp"
#define SESMAN_CFG_XORG_PARAMS "XOrg" #define SESMAN_CFG_XORG_PARAMS "Xorg"
#define SESMAN_CFG_VNC_PARAMS "Xvnc" #define SESMAN_CFG_VNC_PARAMS "Xvnc"
/* /*

View File

@ -48,13 +48,13 @@ param5=-localhost
param6=-dpi param6=-dpi
param7=96 param7=96
[XOrg] [Xorg]
param1=-modulepath param1=-modulepath
param2=/home/lk/xorg-modules param2=/home/lk/xorg-modules
param3=-config param3=-config
param4=xrdp/xorg.conf param4=xrdp/xorg.conf
param5=-logfile param5=-logfile
param6=/tmp/Xtmp.log param6=/dev/null
param7=-novtswitch param7=-novtswitch
param8=-sharevts param8=-sharevts
param9=-noreset param9=-noreset

View File

@ -151,7 +151,7 @@ xrdp_mm_send_login(struct xrdp_mm *self)
} }
else if (g_strcasecmp(name, "code") == 0) else if (g_strcasecmp(name, "code") == 0)
{ {
/* this code is either 0 for Xvnc or 10 for X11rdp */ /* this code is either 0 for Xvnc, 10 for X11rdp or 20 for Xorg */
self->code = g_atoi(value); self->code = g_atoi(value);
} }
else if (g_strcasecmp(name, "xserverbpp") == 0) else if (g_strcasecmp(name, "xserverbpp") == 0)
@ -168,7 +168,7 @@ xrdp_mm_send_login(struct xrdp_mm *self)
s = trans_get_out_s(self->sesman_trans, 8192); s = trans_get_out_s(self->sesman_trans, 8192);
s_push_layer(s, channel_hdr, 8); s_push_layer(s, channel_hdr, 8);
/* this code is either 0 for Xvnc or 10 for X11rdp */ /* this code is either 0 for Xvnc, 10 for X11rdp or 20 for Xorg */
out_uint16_be(s, self->code); out_uint16_be(s, self->code);
index = g_strlen(username); index = g_strlen(username);
out_uint16_be(s, index); out_uint16_be(s, index);
@ -465,7 +465,7 @@ xrdp_mm_setup_mod2(struct xrdp_mm *self)
{ {
g_snprintf(text, 255, "%d", 5900 + self->display); g_snprintf(text, 255, "%d", 5900 + self->display);
} }
else if (self->code == 10) /* X11rdp */ else if (self->code == 10 || self->code == 20) /* X11rdp/Xorg */
{ {
use_uds = 1; use_uds = 1;
@ -1473,7 +1473,7 @@ cleanup_states(struct xrdp_mm *self)
self-> sesman_trans_up = 0; /* true once connected to sesman */ self-> sesman_trans_up = 0; /* true once connected to sesman */
self-> delete_sesman_trans = 0; /* boolean set when done with sesman connection */ self-> delete_sesman_trans = 0; /* boolean set when done with sesman connection */
self-> display = 0; /* 10 for :10.0, 11 for :11.0, etc */ self-> display = 0; /* 10 for :10.0, 11 for :11.0, etc */
self-> code = 0; /* 0 Xvnc session 10 X11rdp session */ self-> code = 0; /* 0 Xvnc session, 10 X11rdp session, 20 Xorg session */
self-> sesman_controlled = 0; /* true if this is a sesman session */ self-> sesman_controlled = 0; /* true if this is a sesman session */
self-> chan_trans = NULL; /* connection to chansrv */ self-> chan_trans = NULL; /* connection to chansrv */
self-> chan_trans_up = 0; /* true once connected to chansrv */ self-> chan_trans_up = 0; /* true once connected to chansrv */
@ -3045,4 +3045,3 @@ server_add_char_alpha(struct xrdp_mod* mod, int font, int charactor,
return libxrdp_orders_send_font(((struct xrdp_wm*)mod->wm)->session, return libxrdp_orders_send_font(((struct xrdp_wm*)mod->wm)->session,
&fi, font, charactor); &fi, font, charactor);
} }