merge from pmhahn

ulab-next
Jay Sorg 12 years ago
commit d4d6a65adb

@ -1,5 +1,21 @@
EXTRA_DIST = d3des.h arch.h os_calls.h list.h file.h parse.h defines.h file_loc.h log.h os_calls.h ssl_calls.h thread_calls.h trans.h xrdp_constants.h EXTRA_DIST = \
arch.h \
d3des.h \
defines.h \
file.h \
file_loc.h \
list.h \
log.h \
os_calls.h \
os_calls.h \
parse.h \
rail.h \
ssl_calls.h \
thread_calls.h \
trans.h \
xrdp_client_info.h \
xrdp_constants.h \
xrdp_rail.h
AM_CFLAGS = \ AM_CFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \

@ -1,14 +1,17 @@
EXTRA_DIST = sesman.ini.5 xrdp.ini.5 xrdp.8 xrdp-sesman.8 xrdp-sesrun.8 man_MANS = \
xrdp-dis.1 \
xrdpman5dir=$(mandir)/man5
xrdpman5_DATA = \
sesman.ini.5 \ sesman.ini.5 \
xrdp.ini.5 xrdp.ini.5 \
xrdpman8dir=$(mandir)/man8
xrdpman8_DATA = \
xrdp.8 \ xrdp.8 \
xrdp-chansrv.8 \
xrdp-genkeymap.8 \
xrdp-keygen.8 \
xrdp-sesadmin.8 \
xrdp-sesman.8 \ xrdp-sesman.8 \
xrdp-sesrun.8 xrdp-sesrun.8 \
xrdp-sessvc.8
noinst_man_MANS = \
xrdp-xcon.8
EXTRA_DIST = $(man_MANS) $(noinst_man_MANS)

@ -1,10 +1,9 @@
.\" .\"
.TH "sesman.ini" "5" "0.1.0" "xrdp team" "" .TH "sesman.ini" "5" "0.1.0" "xrdp team" ""
.SH "NAME" .SH "NAME"
.LP
\fBsesman.ini\fR \- Configuration file for \fBsesman\fR(8) \fBsesman.ini\fR \- Configuration file for \fBsesman\fR(8)
.SH "DESCRIPTION" .SH "DESCRIPTION"
.LP
This is the man page for \fBsesman.ini\fR, \fBsesman\fR(8) configuration file. This is the man page for \fBsesman.ini\fR, \fBsesman\fR(8) configuration file.
It is composed by a number of sections, each one composed by a section name, enclosed by square brackets, folowed by a list of \fI<parameter>\fR=\fI<value>\fR lines. It is composed by a number of sections, each one composed by a section name, enclosed by square brackets, folowed by a list of \fI<parameter>\fR=\fI<value>\fR lines.
@ -29,49 +28,38 @@ All options and values (except for file names and paths) are case insensitive, a
For any of the following parameter, if it's specified more than one time the last entry encountered will be used. For any of the following parameter, if it's specified more than one time the last entry encountered will be used.
\fBNOTE\fR: if any of these options is specified outside its section, it will be \fIignored\fR. \fBNOTE\fR: if any of these options is specified outside its section, it will be \fIignored\fR.
.SH "GLOBALS"
.LP
.TP .SH "GLOBALS"
The options to be specified in the \fB[globals]\fR section are the following: The options to be specified in the \fB[globals]\fR section are the following:
.br
.TP .TP
\fBListenAddress\fR=\fIip address\fR \fBListenAddress\fR=\fIip address\fR
Specifies sesman listening address. Default is 0.0.0.0 (all interfaces) Specifies sesman listening address. Default is 0.0.0.0 (all interfaces)
.br
.TP .TP
\fBListenPort\fR=\fIport number\fR \fBListenPort\fR=\fIport number\fR
Specifies sesman listening port. Default is 3350 Specifies sesman listening port. Default is 3350
.br
.TP .TP
\fBEnableUserWindowManager\fR=\fI[0|1]\fR \fBEnableUserWindowManager\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables user specific window manager, that is, anyone can define it's own script executed by sesman when starting a new session, specified by \fBUserWindowManager\fR If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables user specific window manager, that is, anyone can define it's own script executed by sesman when starting a new session, specified by \fBUserWindowManager\fR
.br
.TP .TP
\fBUserWindowManager\fR=\fIstartwm.sh\fR \fBUserWindowManager\fR=\fIstartwm.sh\fR
This option specifies the script run by sesman when starting a session and per\-user window manager is enabled. This option specifies the script run by sesman when starting a session and per\-user window manager is enabled.
.br .br
The path is relative to user's HOME directory The path is relative to user's HOME directory
.br
.TP .TP
\fBDefaultWindowManager\fR=\fI${SESMAN_BIN_DIR}/startwm.sh\fR \fBDefaultWindowManager\fR=\fI${SESMAN_BIN_DIR}/startwm.sh\fR
This contains full path to the default window manager startup script used by sesman to start a session This contains full path to the default window manager startup script used by sesman to start a session
.SH "LOGGING"
.LP
.TP .SH "LOGGING"
The following parameters can be used in the \fB[logging]\fR section: The following parameters can be used in the \fB[logging]\fR section:
.br
.TP .TP
\fBLogFile\fR=\fI${SESMAN_LOG_DIR}/sesman.log\fR \fBLogFile\fR=\fI${SESMAN_LOG_DIR}/sesman.log\fR
This options contains the path to logfile. It can be either absolute or relative, and the default is \fI${SESMAN_LOG_DIR}/sesman.log\fR This options contains the path to logfile. It can be either absolute or relative, and the default is \fI${SESMAN_LOG_DIR}/sesman.log\fR
.br
.TP .TP
\fBLogLevel\fR=\fIlevel\fR \fBLogLevel\fR=\fIlevel\fR
@ -86,41 +74,33 @@ This option can have one of the following values:
\fBINFO\fR or \fB3\fR \- Logs errors, warnings and informational messages \fBINFO\fR or \fB3\fR \- Logs errors, warnings and informational messages
\fBDEBUG\fR or \fB4\fR \- Log everything. If \fBsesman\fR is compiled in debug mode, this options will output many more low\-level message, useful for developers \fBDEBUG\fR or \fB4\fR \- Log everything. If \fBsesman\fR is compiled in debug mode, this options will output many more low\-level message, useful for developers
.br
.TP .TP
\fBEnableSyslog\fR=\fI[0|1]\fR \fBEnableSyslog\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables logging to syslog. Otherwise syslog is disabled. If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables logging to syslog. Otherwise syslog is disabled.
.br
.TP .TP
\fBSyslogLevel\fR=\fIlevel\fR \fBSyslogLevel\fR=\fIlevel\fR
This option sets the logging level for syslog. It can have the same values of \fBLogLevel\fR. If \fBSyslogLevel\fR is greater than \fBLogLevel\fR, its value is lowered to that of \fBLogLevel\fR. This option sets the logging level for syslog. It can have the same values of \fBLogLevel\fR. If \fBSyslogLevel\fR is greater than \fBLogLevel\fR, its value is lowered to that of \fBLogLevel\fR.
.SH "SESSIONS"
.LP
.TP .SH "SESSIONS"
The following parameters can be used in the \fB[Sessions]\fR section: The following parameters can be used in the \fB[Sessions]\fR section:
.br
.TP .TP
\fBX11DisplayOffset\fR=\fI<number>\fR \fBX11DisplayOffset\fR=\fI<number>\fR
Specifies the first X display number available for sesman(8). This prevents sesman from interfering with real X11 servers. The default is 10. Specifies the first X display number available for \fBsesman\fP(8). This prevents sesman from interfering with real X11 servers. The default is 10.
.br
.TP .TP
\fBMaxSessions\fR=\fI<number>\fR \fBMaxSessions\fR=\fI<number>\fR
Sets the maximum number of simultaneous session on terminal server. Sets the maximum number of simultaneous session on terminal server.
.br .br
If unset or set to \fI0\fR, unlimited session are allowed. If unset or set to \fI0\fR, unlimited session are allowed.
.br
.TP .TP
\fBKillDisconnected\fR=\fI[0|1]\fR \fBKillDisconnected\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR, every session will be killed when the user disconnects. If set to \fB1\fR, \fBtrue\fR or \fByes\fR, every session will be killed when the user disconnects.
.br .br
\fI\-this option is currently ignored!\-\fR \fI\-this option is currently ignored!\-\fR
.br
.TP .TP
\fBIdleTimeLimit\fR=\fI<number>\fR \fBIdleTimeLimit\fR=\fI<number>\fR
@ -129,7 +109,6 @@ Sets the the time limit before an idle session is disconnected.
If set to \fI0\fR, automatic disconnection is disabled. If set to \fI0\fR, automatic disconnection is disabled.
.br .br
\fI\-this option is currently ignored!\-\fR \fI\-this option is currently ignored!\-\fR
.br
.TP .TP
\fBDisconnectedTimeLimit\fR=\fI<number>\fR \fBDisconnectedTimeLimit\fR=\fI<number>\fR
@ -138,87 +117,67 @@ Sets the the time limit before a disconnected session is killed.
If set to \fI0\fR, automatic killing is disabled. If set to \fI0\fR, automatic killing is disabled.
.br .br
\fI\-this option is currently ignored!\-\fR \fI\-this option is currently ignored!\-\fR
.br
.SH "SECURITY"
.LP
.TP .SH "SECURITY"
The following parameters can be used in the \fB[Sessions]\fR section: The following parameters can be used in the \fB[Sessions]\fR section:
.br
.TP .TP
\fBAllowRootLogin\fR=\fI[0|1]\fR \fBAllowRootLogin\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR enables root login on the terminal server If set to \fB1\fR, \fBtrue\fR or \fByes\fR enables root login on the terminal server
.br
.TP .TP
\fBMaxLoginRetry\fR=\fI[0|1]\fR \fBMaxLoginRetry\fR=\fI[0|1]\fR
The number of login attempts that are allowed on terminal server. If set to \fI0\fR, unlimited attempts are allowed. The default value for this field is \fI3\fR. The number of login attempts that are allowed on terminal server. If set to \fI0\fR, unlimited attempts are allowed. The default value for this field is \fI3\fR.
.br
.TP .TP
\fBTerminalServerUsers\fR=\fItsusers\fR \fBTerminalServerUsers\fR=\fItsusers\fR
Only the users belonging to the group \fItsusers\fR are allowed to login on terminal server. Only the users belonging to the group \fItsusers\fR are allowed to login on terminal server.
.br .br
If unset or set to an invalid or non\-existent group, login for all users is enabled. If unset or set to an invalid or non\-existent group, login for all users is enabled.
.br
.TP .TP
\fBTerminalServerAdmins\fR=\fItsadmins\fR \fBTerminalServerAdmins\fR=\fItsadmins\fR
Sets the group which a user shall belong to have session management rights. Sets the group which a user shall belong to have session management rights.
.br .br
\fI\-this option is currently ignored!\-\fR \fI\-this option is currently ignored!\-\fR
.br
.SH "EXAMPLES" .SH "EXAMPLES"
.LP
This is an example \fBsesman.ini\fR: This is an example \fBsesman.ini\fR:
.nf
[Globals] [Globals]
.br
ListenAddress=127.0.0.1 ListenAddress=127.0.0.1
.br
ListenPort=3350 ListenPort=3350
.br
EnableUserWindowManager=1 EnableUserWindowManager=1
.br
UserWindowManager=startwm.sh UserWindowManager=startwm.sh
.br
DefaultWindowManager=startwm.sh DefaultWindowManager=startwm.sh
[Logging] [Logging]
.br
LogFile=/usr/local/xrdp/sesman.log LogFile=/usr/local/xrdp/sesman.log
.br
LogLevel=DEBUG LogLevel=DEBUG
.br
EnableSyslog=0 EnableSyslog=0
.br
SyslogLevel=DEBUG SyslogLevel=DEBUG
[Sessions] [Sessions]
.br
MaxSessions=10 MaxSessions=10
.br
KillDisconnected=0 KillDisconnected=0
.br
IdleTimeLimit=0 IdleTimeLimit=0
.br
DisconnectedTimeLimit=0 DisconnectedTimeLimit=0
[Security] [Security]
.br
AllowRootLogin=1 AllowRootLogin=1
.br
MaxLoginRetry=3 MaxLoginRetry=3
.br
TerminalServerUsers=tsusers TerminalServerUsers=tsusers
.br
TerminalServerAdmins=tsadmins TerminalServerAdmins=tsadmins
.fi
.SH "FILES" .SH "FILES"
.LP
${SESMAN_CFG_DIR}/sesman.ini ${SESMAN_CFG_DIR}/sesman.ini
.SH "SEE ALSO" .SH "SEE ALSO"
.LP .BR sesman (8),
sesman(8) sesrun(8) xrdp(8) xrdp.ini(5) .BR sesrun (8),
.BR xrdp (8),
.BR xrdp.ini (5)
for more info on \fBxrdp\fR see http://xrdp.sf.net for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -0,0 +1,46 @@
.TH "xrdp\-chansrv" "8" "0.7.0" "xrdp team" ""
.SH "NAME"
\fBxrdp\-chansrv\fR \- \fBxrdp\fR channel server
.SH "SYNTAX"
.B xrdp\-chansrv
.SH "DESCRIPTION"
\fBxrdp\-chansrv\fR is the \fBxrdp\fR(8) channel server, which manages the Remote Desktop Protocol (RDP) sub-channels.
This program is only forked internally by \fBxrdp\-sesman\fP(8).
.br
Currently \fBxrdp\-chansrv\fP knows about the following channels:
.RE 8
.TP
.B cliprdr
Clipboard Redirection
.TP
.B rdpsnd
Remote Desktop Protocol Sound
.TP
.B rdpdr
Remote Desktop Protocol Device Redirection
.TP
.B rail
Remote Applications Integrated Locally
.TP
.B drdynvc
Dynamic Virtual Channel
.RS
.SH FILES
.TP
.I /tmp/.xrdp/xrdp_chansrv_socket_*
UNIX socket used by external programs to implement channels.
.TP
.I /tmp/.xrdp/xrdp_api_*
UNIX socket used by \fBxrdp\-chansrv\fP to communicate with \fBxrdp\-sesman\fP.
.TP
.I $HOME/xrdp-chansrv.log
Log file used by \fBxrdp\-chansrv\fP(8).
.SH "SEE ALSO"
.BR xrdp\-sesman (8),
.BR sesman.ini (5).
for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -0,0 +1,23 @@
.TH "xrdp-dis" "8" "0.7.0" "xrdp team"
.SH NAME
xrdp\-dis \- xrdp disconnect utility
.SH SYNOPSIS
.B xrdp\-dis
.SH DESCRIPTION
.PP
\fBxrdp\-dix\fP is run with no parameters to disconnect your xrdp session.
.SH ENVIRONMENT
.TP
.B DISPLAY
to get the default host and display number.
.SH FILES
.TP
.I /tmp/.xrdp/xrdp_disconnect_display_*
UNIX socket used to communicate with the \fBxrdp\fP(8) session manager.
.SH SEE ALSO
.BR xrdp (1).

@ -0,0 +1,67 @@
.TH "xrdp\-genkeymap" "8" "0.1.0" "xrdp team" ""
.de URL
. \\$2 \(laURL: \\$1 \(ra\\$3
..
.if \n[.g] .mso www.tmac
.SH "NAME"
\fBxrdp\-genkeymap\fR \- key map generator for XRDP
.SH "SYNTAX"
.B xrdp\-genkeymap
.I file
.SH "DESCRIPTION"
\fBxrdp\-genkeymap\fR extracts the key map used by the currently running X session to generated a mapping from Remote Desktop Protocol (RDP) key codes to X keysyms and Unicode code points.
.SH OPTIONS
.TP
.I outfile
The key map information is stored in the file named \fIoutfile\fP.
.SH "FILES"
.TP
.I /etc/xrdp/km-XXXX.ini
Files containing the keyboard mapping for language \fIXXXX\fP, which is a 4 digit hexadecimal number identifying the country and language code.
.RS 8
.TP
.B 0405
cs czech
.TP
.B 0407
de german
.TP
.B 0409
en-us us english
.TP
.B 040c
fr french
.TP
.B 0410
it italy
.TP
.B 0416
br Portuguese (Brazil)
.TP
.B 0419
ru russian
.TP
.B 041d
se swedish
.TP
.B 0809
en-uk uk english
.RE
.SH "AUTHORS"
Jay Sorg <jsorg71@users.sourceforge.net>
.br
Simone Fedele <ilsimo@users.sourceforge.net>
.SH "SEE ALSO"
.BR xrdp (8),
.BR setxkbmap (1),
.BR unicode (7),
.URL "https://github.com/FreeRDP/FreeRDP/wiki/Keyboard" "Description of Keyboard Input mapping" .
for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -0,0 +1,40 @@
.\" Hey, EMACS: -*- nroff -*-
.TH xrdp\-keygen 8 "0.7.0" "xrdp team"
.SH NAME
xrdp\-keygen \- xrdp RSA key generation utility
.SH SYNOPSIS
.B xrdp\-keygen xrdp
< \fIoutfile\fP | \fBauto\fP >
.br
.B xrdp\-keygen test
.SH DESCRIPTION
\fBxrdp\-keygen\fP generates the file
.I /etc/xrdp/rsakeys.ini
which contains the RSA key pair used to perform authentication to
remote clients. The public key is self-signed.
.SH OPTIONS
This program takes one of the following options:
.TP
\fBxrdp\fP \fIoutfile\fP
Generate a new key pair.
The key data is stored in the file named \fIoutfile\fP.
.br
If \fBauto\fP is used as \fIoutfile\fP, the default file \fI/etc/xrdp/rsakeys.ini\fP gets created if it does not yet exists.
.TP
.B test
Generate a test key pair and print information to standard output.
.SH FILES
.TP
.I /etc/xrdp/rsakeys.ini
RSA public and private key pair used to identify this XRDP server.
.SH SEE ALSO
.BR xrdp (8),
.BR xrdp\-sesman (8).
.SH AUTHOR
This manual page was originally written by Vincent Bernat <bernat@luffy.cx>.

@ -0,0 +1,57 @@
.TH "xrdp-sesadmin" "8" "0.7.0" "xrdp team"
.SH NAME
xrdp\-sesadmin \- console XRDP sessions administration tool
.SH SYNOPSIS
.B xrdp\-sesadmin
.RI [ options ]
.BI -c= command
.SH DESCRIPTION
This manual page documents briefly the
.B xrdp\-sesadmin
command.
.PP
\fBxrdp\-sesadmin\fP is a console program to administer running XRDP sessions.
.SH OPTIONS
A summary of options is included below.
.TP
.BI \-u= username
\fIUsername\fP for authentication on the server.
Defaults to \fBroot\fP.
.TP
.BI \-p= password
The \fIpassword\fP to authenticate with.
The default is to ask for the password interactively.
.TP
.BI \-s= server
The host address of the \fIserver\fP to connect to.
Defaults to \fBlocalhost\fP.
.TP
.BI \-i= port
The TCP \fIport\fP number to connect to.
Defaults to \fB3350\fP.
.TP
.BI \-c= command
Specifies the \fIcommand\fP to execute on the server.
Valid commands are:
.RS 4
.TP
.B list
List currently active sessions.
.TP
.BI kill: sid
Kills the session specified the given \fIsession id\fP.
(not yet implemented).
.RE
.SH FILES
xrdp\-sesadmin.log
.SH SEE ALSO
.BR xrdp (8).

@ -1,28 +1,28 @@
.TH "sesman" "8" "0.1.0" "xrdp team" "" .TH "xrdp\-sesman" "8" "0.1.0" "xrdp team" ""
.SH "NAME" .SH "NAME"
.LP xrdp\-sesman \- \fBxrdp\fR(8) session manager
\fBsesman\fR \- \fBxrdp\fR(8) session manager
.SH "SYNTAX" .SH "SYNTAX"
.LP .B xrdp\-sesman
sesman [ \-\-nodaemon | \-\-kill | \-\-help ] .RB [ \-\-nodaemon | \-\-kill | \-\-help ]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.LP \fBxrdp\-sesman\fR is \fBxrdp\fR(8) session manager.
\fBsesman\fR is \fBxrdp\fR(8) session manager.
.br .br
It manages user sessions by authenticating the user and starting the appropriate Xserver It manages user sessions by authenticating the user and starting the appropriate Xserver
.SH "OPTIONS" .SH "OPTIONS"
.LP
.TP .TP
\fB\-n\fR, \fB\-\-nodaemon\fR \fB\-n\fR, \fB\-\-nodaemon\fR
Starts \fBsesman\fR in foreground instead of starting it as a daemon. Starts \fBxrdp\-sesman\fR in foreground instead of starting it as a daemon.
.TP .TP
\fB\-k\fR, \fB\-\-kill\fR \fB\-k\fR, \fB\-\-kill\fR
Kills running \fBsesman\fR daemon. Kills running \fBxrdp\-sesman\fR daemon.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR \fB\-h\fR, \fB\-\-help\fR
Output help information and exit. Output help information and exit.
.SH "FILES" .SH "FILES"
.LP
${SESMAN_BIN_DIR}/sesman ${SESMAN_BIN_DIR}/sesman
.br .br
${SESMAN_BIN_DIR}/sesrun ${SESMAN_BIN_DIR}/sesrun
@ -32,13 +32,16 @@ ${SESMAN_CFG_DIR}/sesman.ini
${SESMAN_LOG_DIR}/sesman.log ${SESMAN_LOG_DIR}/sesman.log
.br .br
${SESMAN_PID_DIR}/sesman.pid ${SESMAN_PID_DIR}/sesman.pid
.SH "AUTHORS" .SH "AUTHORS"
.LP
Jay Sorg <jsorg71@users.sourceforge.net> Jay Sorg <jsorg71@users.sourceforge.net>
.br .br
Simone Fedele <ilsimo@users.sourceforge.net> Simone Fedele <ilsimo@users.sourceforge.net>
.SH "SEE ALSO" .SH "SEE ALSO"
.LP .BR sesman.ini (5),
sesman.ini(5) sesrun(8) xrdp(8) xrdp.ini(5) .BR xrdp\-sesrun (8),
.BR xrdp (8),
.BR xrdp.ini (5)
for more info on \fBxrdp\fR see http://xrdp.sf.net for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -1,47 +1,50 @@
.TH "sesrun" "8" "0.1.0" "xrdp team" "" .TH "xrdp\-sesrun" "8" "0.7.0" "xrdp team" ""
.SH "NAME" .SH "NAME"
.LP xrdp\-sesrun \- \fBsesman\fR(8) session launcher
\fBsesrun\fR \- \fBsesman\fR(8) session launcher
.SH "SYNTAX" .SH "SYNTAX"
.LP .B xrdp\-sesrun
sesrun <server> <username> <password> <width> <height> <bpp> .I server username password width height bpp
.SH "DESCRIPTION" .SH "DESCRIPTION"
.LP \fBxrdp\-sesrun\fR starts a session using \fBxrdp\-sesman\fR(8).
\fBsesrun\fR starts a session using \fBsesman\fR(8).
.br .br
This is a tool useful for testing, it simply behaves like xrdp when some user logs in a new session and authenticates, thus starting a new session. This is a tool useful for testing, it simply behaves like xrdp when some user logs in a new session and authenticates, thus starting a new session.
.SH "OPTIONS" .SH "OPTIONS"
.LP
.TP .TP
<server> .I server
Server on which sesman is running Server on which sesman is running
.TP .TP
<username> .I username
user name of the session being started user name of the session being started
.TP .TP
<password> .I password
user password user password
.TP .TP
<width> .I width
Screen width Screen width
.TP .TP
<height> .I height
Screen height Screen height
.TP .TP
<bpp> .I bpp
Session color depth Session color depth
.SH "FILES" .SH "FILES"
.LP
${SESMAN_BIN_DIR}/sesman ${SESMAN_BIN_DIR}/sesman
.br .br
${SESMAN_BIN_DIR}/sesrun ${SESMAN_BIN_DIR}/sesrun
.SH "AUTHORS" .SH "AUTHORS"
.LP
Jay Sorg <jsorg71@users.sourceforge.net> Jay Sorg <jsorg71@users.sourceforge.net>
.br .br
Simone Fedele <ilsimo@users.sourceforge.net> Simone Fedele <ilsimo@users.sourceforge.net>
.SH "SEE ALSO" .SH "SEE ALSO"
.LP .BR xrdp\-sesman (8),
sesman(8) sesman.ini(5) xrdp(8) xrdp.ini(5) .BR sesman.ini (5),
.BR xrdp (8),
.BR xrdp.ini (5)
for more info on \fBxrdp\fR see http://xrdp.sf.net for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -0,0 +1,26 @@
.TH "xrdp\-sessvc" "8" "0.7.0" "xrdp team" ""
.SH "NAME"
xrdp\-sessvc \- \fBxrdp\fR session supervisor
.SH "SYNTAX"
.B xrdp\-sessman
.I x_pid wm_pid
.SH "DESCRIPTION"
\fBxrdp\-sessvc\fR is the \fBxrdp\fR(8) session supervisor, which monitors the running X server and Windows Manager.
As soon as one of them quits, the other process is terminated as well.
.br
This program is only executed internally by \fBxrdp\-sesman\fP(8).
.SH "OPTIONS"
.TP
.I x_pid
The process ID of the forked X server to monitor.
.TP
.I wm_pid
The process ID of the forked Window Manager to monitor.
.SH "SEE ALSO"
.BR xrdp\-sesrun (8).
for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -0,0 +1,14 @@
.TH "xrdp-xcon" "8" "0.7.0" "xrdp team"
.SH NAME
xrdp\-xcon \- X11 event loop debugging helper for XRDP
.SH SYNOPSIS
.B xrdp\-xcon
.SH DESCRIPTION
.PP
\fBxrdp\-xcon\fP is a X application, which just opens a connection to the X server and polls for events.
It's pretty useless.
.SH SEE ALSO
.BR xev (1).

@ -1,19 +1,18 @@
.TH "xrdp" "8" "0.1.0" "xrdp team" "" .TH "xrdp" "8" "0.1.0" "xrdp team" ""
.SH "NAME" .SH "NAME"
.LP
\fBxrdp\fR \- a Remote Desktop Protocol (RDP) server \fBxrdp\fR \- a Remote Desktop Protocol (RDP) server
.SH "SYNTAX" .SH "SYNTAX"
.LP
xrdp [ \-\-nodaemon | \-\-kill | \-\-help ] xrdp [ \-\-nodaemon | \-\-kill | \-\-help ]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.LP
\fBxrdp\fR is a Remote Desktop Protocol (RDP) Server. \fBxrdp\fR is a Remote Desktop Protocol (RDP) Server.
.br .br
Unlike Windows NT/2000/2003 server, \fBxrdp\fR will not display a Windows desktop but an X window desktop to the user. Unlike Windows NT/2000/2003 server, \fBxrdp\fR will not display a Windows desktop but an X window desktop to the user.
It can also be used as a VNC\->RDP bridge. It can also be used as a VNC\->RDP bridge.
.SH "OPTIONS" .SH "OPTIONS"
.LP
.TP .TP
\fB\-n\fR, \fB\-\-nodaemon\fR \fB\-n\fR, \fB\-\-nodaemon\fR
Starts \fBxrdp\fR in foreground instead of starting it as a daemon. Starts \fBxrdp\fR in foreground instead of starting it as a daemon.
@ -23,8 +22,8 @@ Kills running \fBxrdp\fR daemon.
.TP .TP
\fB\-h\fR, \fB\-\-help\fR \fB\-h\fR, \fB\-\-help\fR
Output help information and exit. Output help information and exit.
.SH "FILES" .SH "FILES"
.LP
${XRDP_BIN_DIR}/xrdp ${XRDP_BIN_DIR}/xrdp
.br .br
${XRDP_CFG_DIR}/xrdp.ini ${XRDP_CFG_DIR}/xrdp.ini
@ -32,13 +31,16 @@ ${XRDP_CFG_DIR}/xrdp.ini
${XRDP_LOG_DIR}/xrdp.log ${XRDP_LOG_DIR}/xrdp.log
.br .br
${XRDP_PID_DIR}/xrdp.pid ${XRDP_PID_DIR}/xrdp.pid
.SH "AUTHORS" .SH "AUTHORS"
.LP
Jay Sorg <jsorg71@users.sourceforge.net> Jay Sorg <jsorg71@users.sourceforge.net>
.br .br
Simone Fedele <ilsimo@users.sourceforge.net> Simone Fedele <ilsimo@users.sourceforge.net>
.SH "SEE ALSO" .SH "SEE ALSO"
.LP .BR xrdp.ini (5),
xrdp.ini(5) sesman(8) sesman.ini(5) sesrun(8) .BR sesman (8),
.BR sesman.ini (5),
.BR sesrun (8)
for more info on \fBxrdp\fR see http://xrdp.sf.net for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -1,99 +1,240 @@
.\" .TH "xrdp.ini" "5" "0.7.0" "xrdp team" ""
.TH "xrdp.ini" "5" "0.1.0" "xrdp team" ""
.SH "NAME" .SH "NAME"
.LP
\fBxrdp.ini\fR \- Configuration file for \fBxrdp\fR(8) \fBxrdp.ini\fR \- Configuration file for \fBxrdp\fR(8)
.SH "DESCRIPTION" .SH "DESCRIPTION"
.LP
This is the man page for \fBxrdp.ini\fR, \fBxrdp\fR(8) configuration file. This is the man page for \fBxrdp.ini\fR, \fBxrdp\fR(8) configuration file.
It is composed by a number of sections, each one composed by a section name, enclosed by square brackets, folowed by a list of \fI<parameter>\fR=\fI<value>\fR lines. It is composed by a number of sections, each one composed by a section name, enclosed by square brackets, followed by a list of \fI<parameter>\fR=\fI<value>\fR lines.
\fBxrdp.ini\fR supports the following sections:
\fBxrdp.ini\fR is contains a \fB[Globals]\fR section, which sets some global configuration settings for \fBxrdp\fR(8), and one or more "connection" sections which contain the info on which services \fBxrdp\fR(8) can connect to. .TP
\fB[Globals]\fP \- sets some global configuration settings for \fBxrdp\fR(8).
.TP
\fB[Logging]\fP \- logging subsystem parameters
.TP
\fB[Channels]\fP \- channel subsystem parameters
.TP
\fI[Connection]\fP \- contain the info on which services \fBxrdp\fR(8) can connect to.
.LP .LP
All options and values (except for file names and paths) are case insensitive, and are described in detail below. All options and values (except for file names and paths) are case insensitive, and are described in detail below.
.SH "GLOBALS" .SH "GLOBALS"
.LP The options to be specified in the \fB[Globals]\fR section are the following:
.TP .TP
The options to be specified in the \fB[Globals]\fR section are the following: \fBaddress\fP=\fIip address\fP
.br Specifies xrdp listening address. Default is 0.0.0.0 (all interfaces)
.TP
\fBautorun\fP=\fIsession_name\fP
Automatically run the connection specified by \fIsession_name\fP, which must match a section as described below.
By default a drop-down list with all available connections is shown.
A connection can also be chosen by the connecting client by setting the \fBLOGIN DOMAIN\fP to a valid \fIsession name\fP.
.TP .TP
\fBbitmap_cache\fR=\fI[0|1]\fR \fBbitmap_cache\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables bitmap caching in \fBxrdp\fR(8) If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables bitmap caching in \fBxrdp\fR(8).
.br
.TP .TP
\fBbitmap_compression\fR=\fI[0|1]\fR \fBbitmap_compression\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables bitmap compression in \fBxrdp\fR(8) If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables bitmap compression in \fBxrdp\fR(8).
.SH "CONNECTIONS"
.LP .TP
\fBbulk_compression\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables compression of bulk data in \fBxrdp\fR(8).
.TP
\fBchannel_code\fP=\fI[0|1]\fP
If set to \fB0\fR, \fBfalse\fR or \fBno\fR this option disables all channels \fBxrdp\fR(8).
See section \fBCHANNELS\fP below for more fine grained options.
.TP .TP
A connection section is made of a section name, enclosed in square brackets, and the following entries: \fBcrypt_level\fP=\fIlow|medium|high\fP
.\" <http://blogs.msdn.com/b/openspecification/archive/2011/12/08/encryption-negotiation-in-rdp-connection.aspx>
RDP connection are controlled by two encryption settings: \fIEncryption Level\fP and \fIEncryption Method\fP.
The only supported \fIEncryption Method\fP is \fB40BIT_ENCRYPTION\fP, \fB128BIT_ENCRYPTION\fP and \fB56BIT_ENCRYPTION\fP are currently not supported.
This option controls the \fIEncryption Level\fP:
.RS 8
.TP
.B low
All data sent from the client to the server is protected by encryption based on the maximum key strength supported by the client.
.I This is the only level that the traffic sent by the server to client is not encrypted.
.TP
.B medium
All data sent between the client and the server is protected by encryption based on the maximum key strength supported by the client.
.TP
.B high
All data sent between the client and server is protected by encryption based on the server's maximum key strength.
.RE
.TP
\fBfork\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR for each incoming connection \fBxrdp\fR(8) forks a sub-process instead of using threads.
.TP
\fBhidelogwindow\fP=\fI[0|1]\fP
If set to \fB1\fP, \fBtrue\fP or \fByes\fP, \fBxrdp\fP will not show a window for log messages.
.TP
\fBmax_bpp\fP=\fI[8|15|16|24]\fP
Limit the color depth by specifying the maximum number of bits per pixel.
.TP
\fBport\fP=\fIport\fP
Specify TCP port to listen on for incoming connections.
The default for RDP is \fB3389\fP.
.TP
\fBtcp_keepalive\fP=\fI[yes|no]\fP
Regulate if the listening socket uses socket option \fBSO_KEEPALIVE\fP.
If set to \fB1\fP, \fBtrue\fP or \fByes\fP and the network connection disappears without closing messages, the connection will be closed.
.TP
\fBtcp_nodelay\fP=\fI[yes|no]\fP
Regulate if the listening socket uses socket option \fBTCP_NODELAY\fP.
If set to \fB1\fP, \fBtrue\fP or \fByes\fP, no buffering will be performed in the TCP stack.
.TP
\fBblack\fP=\fI000000\fP
.TP
\fBgrey\fP=\fIc0c0c0\fP
.TP
\fBdark_grey\fP=\fI808080\fP
.TP
\fBblue\fP=\fI0000ff\fP
.TP
\fBdark_blue\fP=\fI00007f\fP
.TP
\fBwhite\fP=\fIffffff\fP
.TP
\fBred\fP=\fIff0000\fP
.TP
\fBgreen\fP=\fI00ff00\fP
.TP
\fBbackground\fP=\fI000000\fP
These options override the colors used internally by \fBxrdp\fP(8) to draw the login and log windows.
Colors are defined using a hexadecimal (hex) notation for the combination of Red, Green, and Blue color values (RGB).
The lowest value that can be given to one of the light sources is 0 (hex 00).
The highest value is 255 (hex FF).
.SH "LOGGING"
The following parameters can be used in the \fB[logging]\fR section:
.TP
\fBLogFile\fR=\fI${SESMAN_LOG_DIR}/sesman.log\fR
This options contains the path to logfile. It can be either absolute or relative, and the default is \fI${SESMAN_LOG_DIR}/sesman.log\fR
.TP
\fBLogLevel\fR=\fIlevel\fR
This option can have one of the following values:
\fBCORE\fR or \fB0\fR \- Log only core messages. these messages are _always_ logged, regardless the logging level selected.
\fBERROR\fR or \fB1\fR \- Log only error messages
\fBWARNING\fR, \fBWARN\fR or \fB2\fR \- Logs warnings and error messages
\fBINFO\fR or \fB3\fR \- Logs errors, warnings and informational messages
\fBDEBUG\fR or \fB4\fR \- Log everything. If \fBsesman\fR is compiled in debug mode, this options will output many more low\-level message, useful for developers
.TP
\fBEnableSyslog\fR=\fI[0|1]\fR
If set to \fB1\fR, \fBtrue\fR or \fByes\fR this option enables logging to syslog. Otherwise syslog is disabled.
.TP
\fBSyslogLevel\fR=\fIlevel\fR
This option sets the logging level for syslog. It can have the same values of \fBLogLevel\fR. If \fBSyslogLevel\fR is greater than \fBLogLevel\fR, its value is lowered to that of \fBLogLevel\fR.
.SH "CHANNELS"
The Remote Desktop Protocol supports several channels, which are used to transfer additional data like sound, clipboard data and others.
Channel names not listed here will be blocked by \fBxrdp\fP.
Not all channels are supported in all cases, so setting a value to \fItrue\fP is a pre-requisite, but does not force it's use.
.br .br
Channels can also be enabled or disabled on a per connection basis by prefixing each setting with \fBchannel.\fP in the channel section.
.TP
\fBrdpdr\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR using the RDP channel for device re-direction is allowed.
.TP
\fBrdpsnd\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR using the RDP channel for sound is allowed.
.TP
\fBdrdynvc\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR using the RDP channel to initiate additional dynamic virtual channels is allowed.
.TP
\fBcliprdr\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR using the RDP channel for clipboard re-direction is allowed.
.TP
\fBrail\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR using the RDP channel for remote applications integrated locally (RAIL) is allowed.
.TP
\fBxrdpvr\fP=\fI[0|1]\fP
If set to \fB1\fR, \fBtrue\fR or \fByes\fR using the RDP channel for XRDP Video streaming is allowed.
.SH "CONNECTIONS"
A connection section is made of a section name, enclosed in square brackets, and the following entries:
.TP .TP
\fBname\fR=\fI<session name>\fR \fBname\fR=\fI<session name>\fR
The name displayed in \fBxrdp\fR(8) login window's combo box. The name displayed in \fBxrdp\fR(8) login window's combo box.
.br
.TP .TP
\fBlib\fR=\fI../vnc/libvnc.so\fR \fBlib\fR=\fI../vnc/libvnc.so\fR
Sets the library to be used with this connection. Sets the library to be used with this connection.
.br
.TP .TP
\fBusername\fR=\fI<username>\fR|\fIask\fR \fBusername\fR=\fI<username>\fR|\fIask\fR
Specifies the username used for authenticating in the connection. Specifies the username used for authenticating in the connection.
If set to \fIask\fR, user name should be provided in the login window. If set to \fIask\fR, user name should be provided in the login window.
.br
.TP .TP
\fBpassword\fR=\fI<password>\fR|\fIask\fR \fBpassword\fR=\fI<password>\fR|\fIask\fR
Specifies the password used for authenticating in the connection. Specifies the password used for authenticating in the connection.
If set to \fIask\fR, password should be provided in the login window. If set to \fIask\fR, password should be provided in the login window.
.br
.TP .TP
\fBip\fR=\fI127.0.0.1\fR \fBip\fR=\fI127.0.0.1\fR
Specifies the ip address of the host to connect to. Specifies the ip address of the host to connect to.
.br
.TP .TP
\fBport\fR=\fI<number>\fR|\fI\-1\fR \fBport\fR=\fI<number>\fR|\fI\-1\fR
Specifies the port number to connect to. If set to \fI\-1\fR, the default port for the specified library is used. Specifies the port number to connect to. If set to \fI\-1\fR, the default port for the specified library is used.
.SH "EXAMPLES" .SH "EXAMPLES"
.LP
This is an example \fBxrdp.ini\fR: This is an example \fBxrdp.ini\fR:
.nf
[Globals] [Globals]
.br
bitmap_cache=yes bitmap_cache=yes
.br
bitmap_compression=yes bitmap_compression=yes
[vnc1] [vnc1]
.br
name=sesman name=sesman
.br
lib=../vnc/libvnc.so lib=../vnc/libvnc.so
.br
username=ask username=ask
.br
password=ask password=ask
.br
ip=127.0.0.1 ip=127.0.0.1
.br
port=\-1 port=\-1
.fi
.SH "FILES" .SH "FILES"
.LP
${XRDP_CFG_DIR}/xrdp.ini ${XRDP_CFG_DIR}/xrdp.ini
.SH "SEE ALSO" .SH "SEE ALSO"
.LP .BR xrdp (8),
xrdp(8) sesman(8) sesrun(8) sesman.ini(5) .BR sesman (8),
.BR sesrun (8),
.BR sesman.ini (5)
for more info on \fBxrdp\fR see http://xrdp.sf.net for more info on \fBxrdp\fR see http://xrdp.sf.net

@ -5,12 +5,18 @@ Q. What is RDP?
A. RDP stands for Remote Desktop Protocol. Its the protocol used by Windows A. RDP stands for Remote Desktop Protocol. Its the protocol used by Windows
terminal servers to talk to the terminal server clients. terminal servers to talk to the terminal server clients.
Q. What is xrdp? Q. What is xrdp?
A. xrdp, usually spell lower case, is as open source implementation of the RDP A. xrdp, usually spell lower case, is as open source implementation of the RDP
protocol. protocol.
Q. I can't get it to compile in Ubuntu. What can I do? Q. I can't get it to compile in Ubuntu. What can I do?
A. See faq-compile.txt. A. See faq-compile.txt.
Q. Can I use LDAP?
A. Yes, xrdp uses PAM and thus can be configured to use LDAP for authentication.

@ -1,4 +1,14 @@
EXTRA_DIST = chansrv.h clipboard.h devredir.h sound.h EXTRA_DIST = \
chansrv.h \
chansrv_fuse.h \
clipboard.h \
clipboard_common.h \
clipboard_file.h \
devredir.h \
drdynvc.h \
rail.h \
sound.h \
xcommon.h
EXTRA_DEFINES = EXTRA_DEFINES =
EXTRA_INCLUDES = EXTRA_INCLUDES =

@ -13,9 +13,11 @@ INCLUDES = \
bin_PROGRAMS = \ bin_PROGRAMS = \
xrdp-sesrun \ xrdp-sesrun \
xrdp-sestest \
xrdp-sesadmin \ xrdp-sesadmin \
xrdp-dis \ xrdp-dis
noinst_PROGRAMS = \
xrdp-sestest \
xrdp-xcon xrdp-xcon
xrdp_sesrun_SOURCES = \ xrdp_sesrun_SOURCES = \

@ -25,14 +25,13 @@
download_file() download_file()
{ {
local file url status
file=$1 file=$1
# if we already have the file, don't download it # if we already have the file, don't download it
if [ -r downloads/$file ]; then if [ -r downloads/$file ]; then
return 0 return 0
fi fi
cd downloads
echo "downloading file $file" echo "downloading file $file"
@ -142,6 +141,7 @@ download_file()
remove_modules() remove_modules()
{ {
local mod_file mod_dir mod_args
if [ -d cookies ]; then if [ -d cookies ]; then
rm cookies/* rm cookies/*
fi fi
@ -153,21 +153,17 @@ remove_modules()
exit 0 exit 0
fi fi
cd build_dir while IFS=: read mod_file mod_dir mod_args
while read line
do do
mod_dir=`echo $line | cut -d':' -f2` if [ -d build_dir/$mod_dir ]; then
if [ -d $mod_dir ]; then rm -rf build_dir/$mod_dir
rm -rf $mod_dir
fi fi
done < ../$data_file done < ../$data_file
cd ..
} }
extract_it() extract_it()
{ {
local mod_file mod_name mod_args comp
mod_file=$1 mod_file=$1
mod_name=$2 mod_name=$2
mod_args=$3 mod_args=$3
@ -177,8 +173,8 @@ extract_it()
fi fi
# download file # download file
download_file $mod_file if ! download_file $mod_file
if [ $? -ne 0 ]; then then
echo "" echo ""
echo "failed to download $mod_file - aborting build" echo "failed to download $mod_file - aborting build"
echo "" echo ""
@ -189,13 +185,15 @@ extract_it()
# if pkg has not yet been extracted, do so now # if pkg has not yet been extracted, do so now
if [ ! -d $mod_name ]; then if [ ! -d $mod_name ]; then
echo $mod_file | grep -q tar.bz2 case "$mod_file" in
if [ $? -eq 0 ]; then *.tar.bz2) comp=j ;;
tar xjf ../downloads/$mod_file > /dev/null 2>&1 *.tar.gz) comp=z ;;
else *.tar.xz) comp=J ;;
tar xzf ../downloads/$mod_file > /dev/null 2>&1 *.tar) comp= ;;
fi *) echo "unknown compressed module $mod_name" ; exit 1 ;;
if [ $? -ne 0 ]; then esac
if ! tar x${comp}f ../downloads/$mod_file > /dev/null
then
echo "error extracting module $mod_name" echo "error extracting module $mod_name"
exit 1 exit 1
fi fi
@ -205,13 +203,13 @@ extract_it()
cd $mod_name cd $mod_name
# check for patches # check for patches
if [ -e ../../$mod_name.patch ]; then if [ -e ../../$mod_name.patch ]; then
patch -p1 < ../../$mod_name.patch patch -p1 < ../../$mod_name.patch
fi fi
# now configure # now configure
echo "executing ./configure --prefix=$PREFIX_DIR $mod_args" echo "executing ./configure --prefix=$PREFIX_DIR $mod_args"
./configure --prefix=$PREFIX_DIR $mod_args if ! ./configure --prefix=$PREFIX_DIR $mod_args
if [ $? -ne 0 ]; then then
echo "configuration failed for module $mn" echo "configuration failed for module $mod_name"
exit 1 exit 1
fi fi
@ -222,6 +220,7 @@ extract_it()
make_it() make_it()
{ {
local mod_file mod_name mod_args
mod_file=$1 mod_file=$1
mod_name=$2 mod_name=$2
mod_args=$3 mod_args=$3
@ -238,8 +237,8 @@ make_it()
echo "*** processing module $mod_name ($count of $num_modules) ***" echo "*** processing module $mod_name ($count of $num_modules) ***"
echo "" echo ""
extract_it $mod_file $mod_name "$mod_args" if ! extract_it $mod_file $mod_name "$mod_args"
if [ $? -ne 0 ]; then then
echo "" echo ""
echo "extract failed for module $mod_name" echo "extract failed for module $mod_name"
echo "" echo ""
@ -248,8 +247,8 @@ make_it()
# make module # make module
if [ ! -e cookies/$mod_name.made ]; then if [ ! -e cookies/$mod_name.made ]; then
(cd build_dir/$mod_name ; make) if ! make -C build_dir/$mod_name
if [ $? -ne 0 ]; then then
echo "" echo ""
echo "make failed for module $mod_name" echo "make failed for module $mod_name"
echo "" echo ""
@ -259,8 +258,8 @@ make_it()
fi fi
# install module # install module
(cd build_dir/$mod_name ; make install) if ! make -C build_dir/$mod_name install
if [ $? -ne 0 ]; then then
echo "" echo ""
echo "make install failed for module $mod_name" echo "make install failed for module $mod_name"
echo "" echo ""
@ -270,9 +269,9 @@ make_it()
# special case after installing python make this sym link # special case after installing python make this sym link
# so Mesa builds using this python version # so Mesa builds using this python version
case "$mod_name" in case "$mod_name" in
*Python-2*) *Python-2*)
(cd build_dir/$mod_name ; ln -s python $PREFIX_DIR/bin/python2) ln -s python build_dir/$mod_name/$PREFIX_DIR/bin/python2
;; ;;
esac esac
touch cookies/$mod_name.installed touch cookies/$mod_name.installed
@ -316,9 +315,9 @@ else
fi fi
if ! test -d $PREFIX_DIR; then if ! test -d $PREFIX_DIR; then
echo "dir does not exit, creating [$PREFIX_DIR]" echo "dir does not exist, creating [$PREFIX_DIR]"
mkdir $PREFIX_DIR if ! mkdir $PREFIX_DIR
if ! test $? -eq 0; then then
echo "mkdir failed [$PREFIX_DIR]" echo "mkdir failed [$PREFIX_DIR]"
exit 0 exit 0
fi fi
@ -333,8 +332,8 @@ export CFLAGS="-I$PREFIX_DIR/include -fPIC -O2"
# prefix dir must exist... # prefix dir must exist...
if [ ! -d $PREFIX_DIR ]; then if [ ! -d $PREFIX_DIR ]; then
mkdir -p $PREFIX_DIR if ! mkdir -p $PREFIX_DIR
if [ $? -ne 0 ]; then then
echo "$PREFIX_DIR does not exist; failed to create it - cannot continue" echo "$PREFIX_DIR does not exist; failed to create it - cannot continue"
exit 1 exit 1
fi fi
@ -348,8 +347,8 @@ fi
# create a downloads dir # create a downloads dir
if [ ! -d downloads ]; then if [ ! -d downloads ]; then
mkdir downloads if ! mkdir downloads
if [ $? -ne 0 ]; then then
echo "error creating downloads directory" echo "error creating downloads directory"
exit 1 exit 1
fi fi
@ -357,8 +356,8 @@ fi
# this is where we do the actual build # this is where we do the actual build
if [ ! -d build_dir ]; then if [ ! -d build_dir ]; then
mkdir build_dir if ! mkdir build_dir
if [ $? -ne 0 ]; then then
echo "error creating build_dir directory" echo "error creating build_dir directory"
exit 1 exit 1
fi fi
@ -366,22 +365,18 @@ fi
# this is where we store cookie files # this is where we store cookie files
if [ ! -d cookies ]; then if [ ! -d cookies ]; then
mkdir cookies if ! mkdir cookies
if [ $? -ne 0 ]; then then
echo "error creating cookies directory" echo "error creating cookies directory"
exit 1 exit 1
fi fi
fi fi
while read line while IFS=: read mod_file mod_dir mod_args
do do
mod_file=`echo $line | cut -d':' -f1`
mod_dir=`echo $line | cut -d':' -f2`
mod_args=`echo $line | cut -d':' -f3`
mod_args=`eval echo $mod_args` mod_args=`eval echo $mod_args`
make_it $mod_file $mod_dir "$mod_args" make_it $mod_file $mod_dir "$mod_args"
done < $data_file done < $data_file
echo "build for X OK" echo "build for X OK"
@ -389,9 +384,8 @@ echo "build for X OK"
X11RDPBASE=$PREFIX_DIR X11RDPBASE=$PREFIX_DIR
export X11RDPBASE export X11RDPBASE
cd rdp if ! make -C rdp
make then
if [ $? -ne 0 ]; then
echo "error building rdp" echo "error building rdp"
exit 1 exit 1
fi fi
@ -401,10 +395,10 @@ strip X11rdp
cp X11rdp $X11RDPBASE/bin cp X11rdp $X11RDPBASE/bin
if [ "$2" = "drop" ]; then if [ "$2" = "drop" ]; then
echo "" echo ""
echo "dropping you in dir, type exit to get out" echo "dropping you in dir, type exit to get out"
bash bash
exit 1 exit 1
fi fi
echo "All done" echo "All done"

@ -36,7 +36,7 @@ SyslogLevel=DEBUG
# LogLevel and SysLogLevel could by any of: core, error, warning, info or debug # LogLevel and SysLogLevel could by any of: core, error, warning, info or debug
[channels] [channels]
# Channel names not listed here will be blocket by XRDP. # Channel names not listed here will be blocked by XRDP.
# You can block any channel by setting its value to false. # You can block any channel by setting its value to false.
# IMPORTANT! All channels are not supported in all use # IMPORTANT! All channels are not supported in all use
# cases even if you set all values to true. # cases even if you set all values to true.

@ -573,7 +573,7 @@ xrdp_wm_init(struct xrdp_wm *self)
q = (char *)list_get_item(names, index); q = (char *)list_get_item(names, index);
if ((g_strncasecmp("globals", q, 8) != 0) && if ((g_strncasecmp("globals", q, 8) != 0) &&
(g_strncasecmp("Logging", q, 8) != 0) && (g_strncasecmp("Logging", q, 8) != 0) &&
(g_strncasecmp("channels", q, 8) != 0)) (g_strncasecmp("channels", q, 9) != 0))
{ {
g_strncpy(section_name, q, 255); g_strncpy(section_name, q, 255);
break; break;

Loading…
Cancel
Save