upgrade to 0.9.0
This commit is contained in:
parent
a51d30a142
commit
310bc7685a
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ xrdp-cvs-03-17-2010.tar.gz
|
|||||||
/xrdp-cvs-03-17-2010.tar.gz
|
/xrdp-cvs-03-17-2010.tar.gz
|
||||||
/xrdp-HEAD-a9cfc23.tar.gz
|
/xrdp-HEAD-a9cfc23.tar.gz
|
||||||
/xrdp-v0.6.1.tar.gz
|
/xrdp-v0.6.1.tar.gz
|
||||||
|
/xrdp-0.9.0.tar.gz
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
26099c6588943262023607c1b4e774d8 xrdp-v0.6.1.tar.gz
|
abbd55939c6340de39fd38eb7ebede3a xrdp-0.9.0.tar.gz
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
diff -ruN xrdp-v0.6.1-orig/sesman/chansrv/clipboard.c xrdp-v0.6.1/sesman/chansrv/clipboard.c
|
|
||||||
--- xrdp-v0.6.1-orig/sesman/chansrv/clipboard.c 2013-11-10 07:11:15.000000000 +1100
|
|
||||||
+++ xrdp-v0.6.1/sesman/chansrv/clipboard.c 2014-04-01 19:12:32.513364604 +1100
|
|
||||||
@@ -29,6 +29,7 @@
|
|
||||||
#include "parse.h"
|
|
||||||
#include "os_calls.h"
|
|
||||||
#include "chansrv.h"
|
|
||||||
+#include "clipboard.h"
|
|
||||||
|
|
||||||
static Atom g_clipboard_atom = 0;
|
|
||||||
static Atom g_clip_property_atom = 0;
|
|
||||||
diff -ruN xrdp-v0.6.1-orig/xrdp/xrdp_mm.c xrdp-v0.6.1/xrdp/xrdp_mm.c
|
|
||||||
--- xrdp-v0.6.1-orig/xrdp/xrdp_mm.c 2013-11-10 07:11:15.000000000 +1100
|
|
||||||
+++ xrdp-v0.6.1/xrdp/xrdp_mm.c 2014-04-01 19:11:19.743442077 +1100
|
|
||||||
@@ -21,6 +21,7 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "xrdp.h"
|
|
||||||
+#include <string.h>
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
struct xrdp_mm* APP_CC
|
|
@ -1,16 +0,0 @@
|
|||||||
diff -ruN xrdp-v0.6.1-orig/common/os_calls.c xrdp-v0.6.1/common/os_calls.c
|
|
||||||
--- xrdp-v0.6.1-orig/common/os_calls.c 2013-11-10 07:11:15.000000000 +1100
|
|
||||||
+++ xrdp-v0.6.1/common/os_calls.c 2014-04-01 18:29:15.585633769 +1100
|
|
||||||
@@ -567,10 +567,10 @@
|
|
||||||
{
|
|
||||||
struct sockaddr_in s;
|
|
||||||
struct in_addr in;
|
|
||||||
- int len;
|
|
||||||
+ socklen_t len;
|
|
||||||
int ip_port;
|
|
||||||
|
|
||||||
- memset(&s,0,sizeof(&s));
|
|
||||||
+ memset(&s,0,sizeof(s));
|
|
||||||
len = sizeof(s);
|
|
||||||
getpeername(rcv_sck,(struct sockaddr*)&s, &len);
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
diff -ruN xrdp-v0.6.1-vanilla/sesman/sesman.ini xrdp-v0.6.1/sesman/sesman.ini
|
|
||||||
--- xrdp-v0.6.1-vanilla/sesman/sesman.ini 2013-11-10 07:11:15.000000000 +1100
|
|
||||||
+++ xrdp-v0.6.1/sesman/sesman.ini 2015-06-04 16:14:59.939912226 +1000
|
|
||||||
@@ -3,7 +3,7 @@
|
|
||||||
ListenPort=3350
|
|
||||||
EnableUserWindowManager=1
|
|
||||||
UserWindowManager=startwm.sh
|
|
||||||
-DefaultWindowManager=startwm.sh
|
|
||||||
+DefaultWindowManager=startwm-bash.sh
|
|
||||||
|
|
||||||
[Security]
|
|
||||||
AllowRootLogin=1
|
|
||||||
@@ -26,15 +26,13 @@
|
|
||||||
|
|
||||||
[X11rdp]
|
|
||||||
param1=-bs
|
|
||||||
-param2=-ac
|
|
||||||
-param3=-nolisten
|
|
||||||
-param4=tcp
|
|
||||||
+param2=-nolisten
|
|
||||||
+param3=tcp
|
|
||||||
|
|
||||||
[Xvnc]
|
|
||||||
param1=-bs
|
|
||||||
-param2=-ac
|
|
||||||
-param3=-nolisten
|
|
||||||
-param4=tcp
|
|
||||||
-param5=-localhost
|
|
||||||
-param6=-dpi
|
|
||||||
-param7=96
|
|
||||||
+param2=-nolisten
|
|
||||||
+param3=tcp
|
|
||||||
+param4=-localhost
|
|
||||||
+param5=-dpi
|
|
||||||
+param6=96
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -ruN xrdp-v0.6.1-orig/common/log.c xrdp-v0.6.1/common/log.c
|
|
||||||
--- xrdp-v0.6.1-orig/common/log.c 2013-11-10 07:11:15.000000000 +1100
|
|
||||||
+++ xrdp-v0.6.1/common/log.c 2014-04-01 17:54:49.005574821 +1100
|
|
||||||
@@ -160,7 +160,7 @@
|
|
||||||
if (l_cfg->enable_syslog && (lvl <= l_cfg->log_level))
|
|
||||||
{
|
|
||||||
/* log to syslog */
|
|
||||||
- syslog(log_xrdp2syslog(lvl), buff + 20);
|
|
||||||
+ syslog(log_xrdp2syslog(lvl), "%s", buff + 20);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lvl <= l_cfg->log_level)
|
|
@ -1,27 +0,0 @@
|
|||||||
diff -ruN xrdp-v0.6.1-vanilla/vnc/vnc.c xrdp-v0.6.1/vnc/vnc.c
|
|
||||||
--- xrdp-v0.6.1-vanilla/vnc/vnc.c 2013-11-10 07:11:15.000000000 +1100
|
|
||||||
+++ xrdp-v0.6.1/vnc/vnc.c 2014-12-22 17:49:57.474144440 +1100
|
|
||||||
@@ -846,6 +846,7 @@
|
|
||||||
int error;
|
|
||||||
int i;
|
|
||||||
int check_sec_result;
|
|
||||||
+ int count;
|
|
||||||
|
|
||||||
v->server_msg(v, "started connecting", 0);
|
|
||||||
check_sec_result = 1;
|
|
||||||
@@ -870,7 +871,14 @@
|
|
||||||
v->sck_closed = 0;
|
|
||||||
g_sprintf(text, "connecting to %s %s", v->ip, con_port);
|
|
||||||
v->server_msg(v, text, 0);
|
|
||||||
- error = g_tcp_connect(v->sck, v->ip, con_port);
|
|
||||||
+
|
|
||||||
+ for (count = 0; count < 10; count++) {
|
|
||||||
+ error = g_tcp_connect(v->sck, v->ip, con_port);
|
|
||||||
+ if (error == 0)
|
|
||||||
+ break;
|
|
||||||
+ g_sleep(1000);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (error == 0)
|
|
||||||
{
|
|
||||||
v->server_msg(v, "tcp connected", 0);
|
|
@ -1,17 +0,0 @@
|
|||||||
diff -up xrdp-HEAD-a9cfc23/common/arch.h.endian xrdp-HEAD-a9cfc23/common/arch.h
|
|
||||||
--- xrdp-HEAD-a9cfc23/common/arch.h.endian 2010-11-04 16:52:27.000000000 +0100
|
|
||||||
+++ xrdp-HEAD-a9cfc23/common/arch.h 2013-01-29 12:31:13.000000000 +0100
|
|
||||||
@@ -24,10 +24,12 @@
|
|
||||||
#if !defined(ARCH_H)
|
|
||||||
#define ARCH_H
|
|
||||||
|
|
||||||
+#include <endian.h>
|
|
||||||
+
|
|
||||||
#if !(defined(L_ENDIAN) || defined(B_ENDIAN))
|
|
||||||
/* check endianess */
|
|
||||||
#if defined(__sparc__) || defined(__PPC__) || defined(__ppc__) || \
|
|
||||||
- defined(__hppa__)
|
|
||||||
+ defined(__hppa__) || (BYTE_ORDER == BIG_ENDIAN)
|
|
||||||
#define B_ENDIAN
|
|
||||||
#else
|
|
||||||
#define L_ENDIAN
|
|
@ -1,19 +0,0 @@
|
|||||||
diff -ruNp a/xrdp/instfiles/pam.d/xrdp-sesman b/xrdp/instfiles/pam.d/xrdp-sesman
|
|
||||||
--- a/xrdp/instfiles/pam.d/xrdp-sesman 2009-09-20 16:06:14.000000000 -0300
|
|
||||||
+++ b/xrdp/instfiles/pam.d/xrdp-sesman 2009-09-16 16:39:16.000000000 -0300
|
|
||||||
@@ -1,4 +1,12 @@
|
|
||||||
#%PAM-1.0
|
|
||||||
-auth required pam_unix.so shadow nullok
|
|
||||||
-auth required pam_env.so readenv=1
|
|
||||||
-account required pam_unix.so
|
|
||||||
+# Generic Fedora config
|
|
||||||
+auth include password-auth
|
|
||||||
+account include password-auth
|
|
||||||
+password include password-auth
|
|
||||||
+session include password-auth
|
|
||||||
+
|
|
||||||
+# Gnome specific Fedora config
|
|
||||||
+#auth include gdm-password
|
|
||||||
+#account include gdm-password
|
|
||||||
+#password include gdm-password
|
|
||||||
+#session include gdm-password
|
|
@ -1,229 +0,0 @@
|
|||||||
diff --git a/sesman/auth.h b/sesman/auth.h
|
|
||||||
index a6c5e7f..86bfc96 100644
|
|
||||||
--- a/sesman/auth.h
|
|
||||||
+++ b/sesman/auth.h
|
|
||||||
@@ -58,6 +58,16 @@ auth_start_session(long in_val, int in_display);
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
int DEFAULT_CC
|
|
||||||
+auth_stop_session(long in_val);
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ *
|
|
||||||
+ * @brief FIXME
|
|
||||||
+ * @param in_val
|
|
||||||
+ * @return 0 on success, 1 on failure
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+int DEFAULT_CC
|
|
||||||
auth_end(long in_val);
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff --git a/sesman/session.c b/sesman/session.c
|
|
||||||
index 36262ad..24e40d1 100644
|
|
||||||
--- a/sesman/session.c
|
|
||||||
+++ b/sesman/session.c
|
|
||||||
@@ -310,7 +310,7 @@ session_start_fork(int width, int height, int bpp, char* username,
|
|
||||||
{
|
|
||||||
int display = 0;
|
|
||||||
int pid = 0;
|
|
||||||
- int wmpid = 0;
|
|
||||||
+ int wmpid = 0, pampid = 0;
|
|
||||||
int xpid = 0;
|
|
||||||
int i = 0;
|
|
||||||
char geometry[32];
|
|
||||||
@@ -369,7 +369,6 @@ session_start_fork(int width, int height, int bpp, char* username,
|
|
||||||
}
|
|
||||||
else if (pid == 0) /* child sesman */
|
|
||||||
{
|
|
||||||
- auth_start_session(data, display);
|
|
||||||
g_sprintf(geometry, "%dx%d", width, height);
|
|
||||||
g_sprintf(depth, "%d", bpp);
|
|
||||||
g_sprintf(screen, ":%d", display);
|
|
||||||
@@ -380,80 +379,94 @@ session_start_fork(int width, int height, int bpp, char* username,
|
|
||||||
else if (wmpid == 0) /* child (child sesman) xserver */
|
|
||||||
{
|
|
||||||
wait_for_xserver(display);
|
|
||||||
- env_set_user(username, 0, display);
|
|
||||||
- if (x_server_running(display))
|
|
||||||
+ auth_start_session(data, display);
|
|
||||||
+ pampid = g_fork();
|
|
||||||
+ if(pampid == -1)
|
|
||||||
{
|
|
||||||
- auth_set_env(data);
|
|
||||||
- if (directory != 0)
|
|
||||||
+ }
|
|
||||||
+ else if (pampid == 0) /* child: X11/client */
|
|
||||||
+ {
|
|
||||||
+ env_set_user(username, 0, display);
|
|
||||||
+ if (x_server_running(display))
|
|
||||||
{
|
|
||||||
- if (directory[0] != 0)
|
|
||||||
+ auth_set_env(data);
|
|
||||||
+ if (directory != 0)
|
|
||||||
{
|
|
||||||
- g_set_current_dir(directory);
|
|
||||||
+ if (directory[0] != 0)
|
|
||||||
+ {
|
|
||||||
+ g_set_current_dir(directory);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
- }
|
|
||||||
- if (program != 0)
|
|
||||||
- {
|
|
||||||
- if (program[0] != 0)
|
|
||||||
+ if (program != 0)
|
|
||||||
{
|
|
||||||
- g_execlp3(program, program, 0);
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,
|
|
||||||
- "error starting program %s for user %s - pid %d",
|
|
||||||
- program, username, g_getpid());
|
|
||||||
+ if (program[0] != 0)
|
|
||||||
+ {
|
|
||||||
+ g_execlp3(program, program, 0);
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,
|
|
||||||
+ "error starting program %s for user %s - pid %d",
|
|
||||||
+ program, username, g_getpid());
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
- }
|
|
||||||
- /* try to execute user window manager if enabled */
|
|
||||||
- if (g_cfg->enable_user_wm)
|
|
||||||
- {
|
|
||||||
- g_sprintf(text,"%s/%s", g_getenv("HOME"), g_cfg->user_wm);
|
|
||||||
- if (g_file_exist(text))
|
|
||||||
+ /* try to execute user window manager if enabled */
|
|
||||||
+ if (g_cfg->enable_user_wm)
|
|
||||||
{
|
|
||||||
- g_execlp3(text, g_cfg->user_wm, 0);
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,"error starting user "
|
|
||||||
- "wm for user %s - pid %d", username, g_getpid());
|
|
||||||
- /* logging parameters */
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, "errno: %d, "
|
|
||||||
- "description: %s", errno, g_get_strerror());
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG,"execlp3 parameter "
|
|
||||||
- "list:");
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[0] = %s",
|
|
||||||
- text);
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[1] = %s",
|
|
||||||
- g_cfg->user_wm);
|
|
||||||
+ g_sprintf(text,"%s/%s", g_getenv("HOME"), g_cfg->user_wm);
|
|
||||||
+ if (g_file_exist(text))
|
|
||||||
+ {
|
|
||||||
+ g_execlp3(text, g_cfg->user_wm, 0);
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,"error starting user "
|
|
||||||
+ "wm for user %s - pid %d", username, g_getpid());
|
|
||||||
+ /* logging parameters */
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, "errno: %d, "
|
|
||||||
+ "description: %s", errno, g_get_strerror());
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG,"execlp3 parameter "
|
|
||||||
+ "list:");
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[0] = %s",
|
|
||||||
+ text);
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[1] = %s",
|
|
||||||
+ g_cfg->user_wm);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
+ /* if we're here something happened to g_execlp3
|
|
||||||
+ so we try running the default window manager */
|
|
||||||
+ g_sprintf(text, "%s/%s", XRDP_CFG_PATH, g_cfg->default_wm);
|
|
||||||
+ g_execlp3(text, g_cfg->default_wm, 0);
|
|
||||||
+
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,"error starting default "
|
|
||||||
+ "wm for user %s - pid %d", username, g_getpid());
|
|
||||||
+ /* logging parameters */
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, "errno: %d, description: "
|
|
||||||
+ "%s", errno, g_get_strerror());
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG,"execlp3 parameter list:");
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[0] = %s",
|
|
||||||
+ text);
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[1] = %s",
|
|
||||||
+ g_cfg->default_wm);
|
|
||||||
+
|
|
||||||
+ /* still a problem starting window manager just start xterm */
|
|
||||||
+ g_execlp3("xterm", "xterm", 0);
|
|
||||||
+
|
|
||||||
+ /* should not get here */
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,"error starting xterm "
|
|
||||||
+ "for user %s - pid %d", username, g_getpid());
|
|
||||||
+ /* logging parameters */
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, "errno: %d, description: "
|
|
||||||
+ "%s", errno, g_get_strerror());
|
|
||||||
}
|
|
||||||
- /* if we're here something happened to g_execlp3
|
|
||||||
- so we try running the default window manager */
|
|
||||||
- g_sprintf(text, "%s/%s", XRDP_CFG_PATH, g_cfg->default_wm);
|
|
||||||
- g_execlp3(text, g_cfg->default_wm, 0);
|
|
||||||
-
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,"error starting default "
|
|
||||||
- "wm for user %s - pid %d", username, g_getpid());
|
|
||||||
- /* logging parameters */
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, "errno: %d, description: "
|
|
||||||
- "%s", errno, g_get_strerror());
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG,"execlp3 parameter list:");
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[0] = %s",
|
|
||||||
- text);
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, " argv[1] = %s",
|
|
||||||
- g_cfg->default_wm);
|
|
||||||
-
|
|
||||||
- /* still a problem starting window manager just start xterm */
|
|
||||||
- g_execlp3("xterm", "xterm", 0);
|
|
||||||
-
|
|
||||||
- /* should not get here */
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_ALWAYS,"error starting xterm "
|
|
||||||
- "for user %s - pid %d", username, g_getpid());
|
|
||||||
- /* logging parameters */
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG, "errno: %d, description: "
|
|
||||||
- "%s", errno, g_get_strerror());
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_ERROR, "another Xserver is "
|
|
||||||
+ "already active on display %d", display);
|
|
||||||
+ }
|
|
||||||
+ log_message(&(g_cfg->log), LOG_LEVEL_DEBUG,"aborting connection...");
|
|
||||||
+ g_exit(0);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_ERROR, "another Xserver is "
|
|
||||||
- "already active on display %d", display);
|
|
||||||
+ g_waitpid(pampid);
|
|
||||||
+ auth_stop_session(data);
|
|
||||||
+ g_exit(0);
|
|
||||||
}
|
|
||||||
- log_message(&(g_cfg->log), LOG_LEVEL_DEBUG,"aborting connection...");
|
|
||||||
- g_exit(0);
|
|
||||||
}
|
|
||||||
else /* parent (child sesman) */
|
|
||||||
{
|
|
||||||
diff --git a/sesman/verify_user_pam.c b/sesman/verify_user_pam.c
|
|
||||||
index e3d8596..54aaeaa 100644
|
|
||||||
--- a/sesman/verify_user_pam.c
|
|
||||||
+++ b/sesman/verify_user_pam.c
|
|
||||||
@@ -173,6 +173,26 @@ auth_start_session(long in_val, int in_display)
|
|
||||||
|
|
||||||
/******************************************************************************/
|
|
||||||
/* returns error */
|
|
||||||
+int DEFAULT_CC
|
|
||||||
+auth_stop_session(long in_val)
|
|
||||||
+{
|
|
||||||
+ struct t_auth_info* auth_info;
|
|
||||||
+ int error;
|
|
||||||
+
|
|
||||||
+ auth_info = (struct t_auth_info*)in_val;
|
|
||||||
+ error = pam_close_session(auth_info->ph, 0);
|
|
||||||
+ if (error != PAM_SUCCESS)
|
|
||||||
+ {
|
|
||||||
+ g_printf("pam_close_session failed: %s\r\n",
|
|
||||||
+ pam_strerror(auth_info->ph, error));
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ auth_info->session_opened = 0;
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/******************************************************************************/
|
|
||||||
+/* returns error */
|
|
||||||
/* cleanup */
|
|
||||||
int DEFAULT_CC
|
|
||||||
auth_end(long in_val)
|
|
12
xrdp-sesman.pamd
Normal file
12
xrdp-sesman.pamd
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
# Generic Fedora config
|
||||||
|
auth include password-auth
|
||||||
|
account include password-auth
|
||||||
|
password include password-auth
|
||||||
|
session include password-auth
|
||||||
|
|
||||||
|
# Gnome specific Fedora config
|
||||||
|
#auth include gdm-password
|
||||||
|
#account include gdm-password
|
||||||
|
#password include gdm-password
|
||||||
|
#session include gdm-password
|
@ -1,13 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=xrdp session manager
|
|
||||||
BindsTo=xrdp.service
|
|
||||||
Wants=network-online.target nss-lookup.target nss-user-lookup.target
|
|
||||||
After=network-online.target nss-lookup.target nss-user-lookup.target
|
|
||||||
StopWhenUnneeded=true
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
EnvironmentFile=/etc/sysconfig/xrdp
|
|
||||||
ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS --nodaemon
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -1,17 +0,0 @@
|
|||||||
diff -ruNp a/xrdp-HEAD-a9cfc23/sesman/startwm.sh b/xrdp-HEAD-a9cfc23/sesman/startwm.sh
|
|
||||||
--- a/xrdp-HEAD-a9cfc23/sesman/startwm.sh 2010-11-04 13:52:27.000000000 -0200
|
|
||||||
+++ b/xrdp-HEAD-a9cfc23/sesman/startwm.sh 2010-11-18 01:08:01.275689981 -0200
|
|
||||||
@@ -1,5 +1,13 @@
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
+# if xinitrc exists use it instead, it should load user prefferences
|
|
||||||
+# including desktop environment specified in /etc/sysconfig/desktop
|
|
||||||
+if [ -f /etc/X11/xinit/xinitrc ]
|
|
||||||
+then
|
|
||||||
+ . /etc/X11/xinit/xinitrc
|
|
||||||
+ exit 0
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
# change the order in line below to run to run whatever window manager you
|
|
||||||
# want, default to kde
|
|
||||||
|
|
144
xrdp.init
144
xrdp.init
@ -1,144 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# xrdp Open source remote desktop protocol (RDP) server
|
|
||||||
#
|
|
||||||
# chkconfig: - 64 36
|
|
||||||
# description: Open source remote desktop protocol (RDP) server
|
|
||||||
#
|
|
||||||
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: xrdp
|
|
||||||
# Required-Start: $network
|
|
||||||
# Required-Stop: $network
|
|
||||||
# Should-Start: $network
|
|
||||||
# Should-Stop: $network
|
|
||||||
# Default-Start:
|
|
||||||
# Default-Stop:
|
|
||||||
# Short-Description: Starts the xrdp daemon
|
|
||||||
# Description: Open source remote desktop protocol (RDP) server
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
# Source function library.
|
|
||||||
. /etc/rc.d/init.d/functions
|
|
||||||
|
|
||||||
# Check that networking is up.
|
|
||||||
[ "${NETWORKING}" = "no" ] && exit 0
|
|
||||||
|
|
||||||
[ -e /etc/sysconfig/xrdp ] && . /etc/sysconfig/xrdp
|
|
||||||
|
|
||||||
start_xrdp() {
|
|
||||||
exec="/usr/sbin/xrdp"
|
|
||||||
prog="xrdp"
|
|
||||||
lockfile=/var/lock/subsys/xrdp
|
|
||||||
[ -x $exec ] || exit 5
|
|
||||||
echo -n $"Starting $prog: "
|
|
||||||
daemon "$exec $XRDP_OPTIONS >> /dev/null"
|
|
||||||
retval=$?
|
|
||||||
echo
|
|
||||||
[ $retval -eq 0 ] && touch $lockfile
|
|
||||||
return $retval
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_xrdp() {
|
|
||||||
prog="xrdp"
|
|
||||||
lockfile=/var/lock/subsys/xrdp
|
|
||||||
echo -n $"Stopping $prog: "
|
|
||||||
killproc $prog
|
|
||||||
retval=$?
|
|
||||||
echo
|
|
||||||
[ $retval -eq 0 ] && rm -f $lockfile
|
|
||||||
return $retval
|
|
||||||
}
|
|
||||||
|
|
||||||
start_sesman() {
|
|
||||||
exec="/usr/sbin/xrdp-sesman"
|
|
||||||
prog="xrdp-sesman"
|
|
||||||
lockfile=/var/lock/subsys/xrdp-sesman
|
|
||||||
[ -x $exec ] || exit 5
|
|
||||||
echo -n $"Starting $prog: "
|
|
||||||
daemon "$exec $SESMAN_OPTIONS >> /dev/null"
|
|
||||||
retval=$?
|
|
||||||
echo
|
|
||||||
[ $retval -eq 0 ] && touch $lockfile
|
|
||||||
return $retval
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_sesman() {
|
|
||||||
prog="xrdp-sesman"
|
|
||||||
lockfile=/var/lock/subsys/xrdp-sesman
|
|
||||||
echo -n $"Stopping $prog: "
|
|
||||||
killproc $prog
|
|
||||||
retval=$?
|
|
||||||
echo
|
|
||||||
[ $retval -eq 0 ] && rm -f $lockfile
|
|
||||||
return $retval
|
|
||||||
}
|
|
||||||
start() {
|
|
||||||
start_xrdp
|
|
||||||
start_sesman
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
stop_xrdp
|
|
||||||
stop_sesman
|
|
||||||
}
|
|
||||||
|
|
||||||
restart() {
|
|
||||||
stop_xrdp
|
|
||||||
stop_sesman
|
|
||||||
start_xrdp
|
|
||||||
start_sesman
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
restart
|
|
||||||
}
|
|
||||||
|
|
||||||
force_reload() {
|
|
||||||
restart
|
|
||||||
}
|
|
||||||
|
|
||||||
rh_status() {
|
|
||||||
prog="xrdp"
|
|
||||||
status $prog
|
|
||||||
prog="xrdp-sesman"
|
|
||||||
status $prog
|
|
||||||
}
|
|
||||||
|
|
||||||
rh_status_q() {
|
|
||||||
rh_status >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
rh_status_q && exit 0
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
rh_status_q || exit 0
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
restart)
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
reload)
|
|
||||||
rh_status_q || exit 7
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
force-reload)
|
|
||||||
force_reload
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
rh_status
|
|
||||||
;;
|
|
||||||
condrestart|try-restart)
|
|
||||||
rh_status_q || exit 0
|
|
||||||
restart
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
|
|
||||||
exit 2
|
|
||||||
esac
|
|
||||||
exit $?
|
|
||||||
|
|
11
xrdp.service
11
xrdp.service
@ -1,11 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=xrdp daemon
|
|
||||||
Requires=xrdp-sesman.service
|
|
||||||
After=xrdp-sesman.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
EnvironmentFile=/etc/sysconfig/xrdp
|
|
||||||
ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS --nodaemon
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
106
xrdp.spec
106
xrdp.spec
@ -1,29 +1,14 @@
|
|||||||
Summary: Open source remote desktop protocol (RDP) server
|
Summary: Open source remote desktop protocol (RDP) server
|
||||||
Name: xrdp
|
Name: xrdp
|
||||||
Epoch: 1
|
Version: 0.9.0
|
||||||
Version: 0.6.1
|
Release: 1%{?dist}
|
||||||
Release: 11%{?dist}
|
|
||||||
License: GPLv2+ with exceptions
|
License: GPLv2+ with exceptions
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
URL: http://xrdp.sourceforge.net/
|
URL: http://xrdp.sourceforge.net/
|
||||||
Source0: http://sourceforge.net/projects/xrdp/files/xrdp/%{version}/xrdp-v%{version}.tar.gz
|
Source0: http://sourceforge.net/projects/xrdp/files/xrdp/%{version}/xrdp-%{version}.tar.gz
|
||||||
|
Source1: xrdp-sesman.pamd
|
||||||
Patch0: xrdp-pam-auth.patch
|
Source2: xrdp.sysconfig
|
||||||
Patch1: xrdp-use-xinitrc-in-startwm-sh.patch
|
Source3: xrdp.logrotate
|
||||||
Patch2: xrdp-pam_session.patch
|
|
||||||
# https://sourceforge.net/tracker/?group_id=112022&atid=665248
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=905411
|
|
||||||
Patch3: xrdp-endian.patch
|
|
||||||
Patch4: xrdp-0.6.1-syslog-format.patch
|
|
||||||
Patch5: xrdp-0.6.1-memset.patch
|
|
||||||
Patch6: xrdp-0.6.1-implicit-decl.patch
|
|
||||||
Patch7: xrdp-0.6.1-vnc-delay.patch
|
|
||||||
Patch8: xrdp-0.6.1-sesman-ini.patch
|
|
||||||
|
|
||||||
Source1: xrdp.service
|
|
||||||
Source2: xrdp-sesman.service
|
|
||||||
Source3: xrdp.sysconfig
|
|
||||||
Source4: xrdp.logrotate
|
|
||||||
|
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
@ -32,15 +17,18 @@ BuildRequires: automake
|
|||||||
BuildRequires: libtool
|
BuildRequires: libtool
|
||||||
Buildrequires: libX11-devel
|
Buildrequires: libX11-devel
|
||||||
BuildRequires: libXfixes-devel
|
BuildRequires: libXfixes-devel
|
||||||
BuildRequires: systemd-units
|
BuildRequires: libXrandr-devel
|
||||||
|
BuildRequires: systemd
|
||||||
|
|
||||||
|
|
||||||
#vnc-server provides Xvnc (tigervnc-server in fedora)
|
#vnc-server provides Xvnc (tigervnc-server in fedora)
|
||||||
Requires: tigervnc-server-minimal
|
Requires: tigervnc-server-minimal
|
||||||
|
|
||||||
Requires(post): systemd-units
|
Requires(post): systemd
|
||||||
Requires(preun): systemd-units
|
|
||||||
Requires(postun): systemd-units
|
|
||||||
Requires(post): systemd-sysv
|
Requires(post): systemd-sysv
|
||||||
|
Requires(preun): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The goal of this project is to provide a fully functional Linux terminal
|
The goal of this project is to provide a fully functional Linux terminal
|
||||||
@ -48,20 +36,21 @@ server, capable of accepting connections from rdesktop and Microsoft's own
|
|||||||
terminal server / remote desktop clients.
|
terminal server / remote desktop clients.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
#%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
%setup -q -n %{name}-v%{version}
|
|
||||||
%patch0 -p2
|
|
||||||
%patch1 -p2
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1 -b .endian
|
|
||||||
%patch4 -p1 -b .syslog-format
|
|
||||||
%patch5 -p1 -b .memset
|
|
||||||
%patch6 -p1 -b .implicit-decl
|
|
||||||
%patch7 -p1 -b .vnc-delay
|
|
||||||
%patch8 -p1 -b .sesman-ini
|
|
||||||
|
|
||||||
# remove unused modules from xrdp login combobox
|
# remove unused modules from xrdp login combobox
|
||||||
%{__sed} -i -e '/\[xrdp2\]/,$d' xrdp/xrdp.ini
|
%{__sed} -i -e '/\[xrdp1\]/,$d' xrdp/xrdp.ini
|
||||||
|
|
||||||
|
echo "
|
||||||
|
[xrdp1]
|
||||||
|
name=sesman-Xvnc
|
||||||
|
lib=libvnc.so
|
||||||
|
username=ask
|
||||||
|
password=ask
|
||||||
|
ip=127.0.0.1
|
||||||
|
port=-1
|
||||||
|
delay_ms=2000
|
||||||
|
" >> xrdp/xrdp.ini
|
||||||
|
|
||||||
#Low is 40 bit key and everything from client to server is encrypted.
|
#Low is 40 bit key and everything from client to server is encrypted.
|
||||||
#Medium is 40 bit key, everything both ways is encrypted.
|
#Medium is 40 bit key, everything both ways is encrypted.
|
||||||
@ -77,7 +66,7 @@ echo '#!/bin/bash -l
|
|||||||
%build
|
%build
|
||||||
./bootstrap
|
./bootstrap
|
||||||
|
|
||||||
%configure
|
%configure --enable-ipv6
|
||||||
%{__make} %{?_smp_mflags}
|
%{__make} %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -89,38 +78,37 @@ find %{buildroot} -name '*.a' -exec rm {} \;
|
|||||||
find %{buildroot} -name '*.la' -exec rm {} \;
|
find %{buildroot} -name '*.la' -exec rm {} \;
|
||||||
|
|
||||||
#install sesman pam config /etc/pam.d/xrdp-sesman
|
#install sesman pam config /etc/pam.d/xrdp-sesman
|
||||||
%{__install} -Dp -m 644 instfiles/pam.d/xrdp-sesman %{buildroot}%{_sysconfdir}/pam.d/xrdp-sesman
|
%{__install} -Dp -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/xrdp-sesman
|
||||||
|
|
||||||
#installx xrdp systemd units
|
|
||||||
%{__install} -Dp -m 644 %{SOURCE1} %{buildroot}/lib/systemd/system/xrdp.service
|
|
||||||
%{__install} -Dp -m 644 %{SOURCE2} %{buildroot}/lib/systemd/system/xrdp-sesman.service
|
|
||||||
|
|
||||||
#install xrdp sysconfig /etc/sysconfig/xrdp
|
#install xrdp sysconfig /etc/sysconfig/xrdp
|
||||||
%{__install} -Dp -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/xrdp
|
%{__install} -Dp -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/xrdp
|
||||||
|
|
||||||
#install logrotate /etc/logrotate.d/xrdp
|
#install logrotate /etc/logrotate.d/xrdp
|
||||||
%{__install} -Dp -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/logrotate.d/xrdp
|
%{__install} -Dp -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/xrdp
|
||||||
|
|
||||||
#install log file /var/log/xrdp-sesman.log
|
#install log file /var/log/xrdp-sesman.log
|
||||||
%{__mkdir} -p %{buildroot}%{_localstatedir}/log/
|
%{__mkdir} -p %{buildroot}%{_localstatedir}/log/
|
||||||
touch %{buildroot}%{_localstatedir}/log/xrdp-sesman.log
|
touch %{buildroot}%{_localstatedir}/log/xrdp-sesman.log
|
||||||
|
|
||||||
# rsakeys.ini
|
|
||||||
touch %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini
|
|
||||||
%{__chmod} 0600 %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini
|
|
||||||
|
|
||||||
#install 'bash -l' startwm script
|
#install 'bash -l' startwm script
|
||||||
%{__install} -Dp -m 755 sesman/startwm-bash.sh %{buildroot}%{_sysconfdir}/xrdp/startwm-bash.sh
|
%{__install} -Dp -m 755 sesman/startwm-bash.sh %{buildroot}%{_sysconfdir}/xrdp/startwm-bash.sh
|
||||||
|
|
||||||
|
#rsakeys.ini
|
||||||
|
touch %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini
|
||||||
|
%{__chmod} 0600 %{buildroot}%{_sysconfdir}/xrdp/rsakeys.ini
|
||||||
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%systemd_post xrdp.service
|
%systemd_post xrdp.service
|
||||||
|
|
||||||
|
xrdp-keygen xrdp %{_sysconfdir}/xrdp/rsakeys.ini > /dev/null
|
||||||
|
%{__chmod} 0600 %{_sysconfdir}/xrdp/rsakeys.ini
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%systemd_preun xrdp.service
|
%systemd_preun xrdp.service
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%systemd_postun_with_restart xrdp.service
|
%systemd_postun_with_restart xrdp.service
|
||||||
|
|
||||||
%triggerun -- xrdp < 0.6.0-1
|
%triggerun -- xrdp < 0.6.0-1
|
||||||
systemd-sysv-convert --save xrdp >/dev/null 2>&1 ||:
|
systemd-sysv-convert --save xrdp >/dev/null 2>&1 ||:
|
||||||
@ -141,18 +129,19 @@ fi
|
|||||||
%dir %{_libdir}/xrdp
|
%dir %{_libdir}/xrdp
|
||||||
%dir %{_sysconfdir}/xrdp
|
%dir %{_sysconfdir}/xrdp
|
||||||
%dir %{_datadir}/xrdp
|
%dir %{_datadir}/xrdp
|
||||||
%config(noreplace) %{_sysconfdir}/xrdp/sesman.ini
|
|
||||||
%config(noreplace) %{_sysconfdir}/xrdp/xrdp.ini
|
%config(noreplace) %{_sysconfdir}/xrdp/xrdp.ini
|
||||||
%config(noreplace) %{_sysconfdir}/pam.d/xrdp-sesman
|
%config(noreplace) %{_sysconfdir}/pam.d/xrdp-sesman
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/xrdp
|
%config(noreplace) %{_sysconfdir}/logrotate.d/xrdp
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/xrdp
|
%config(noreplace) %{_sysconfdir}/sysconfig/xrdp
|
||||||
|
%config(noreplace) %{_sysconfdir}/xrdp/sesman.ini
|
||||||
%{_sysconfdir}/xrdp/*.sh
|
%{_sysconfdir}/xrdp/*.sh
|
||||||
%{_sysconfdir}/xrdp/km*.ini
|
%{_sysconfdir}/xrdp/km*.ini
|
||||||
|
%{_sysconfdir}/xrdp/xrdp_keyboard.ini
|
||||||
%{_bindir}/xrdp-genkeymap
|
%{_bindir}/xrdp-genkeymap
|
||||||
%{_bindir}/xrdp-sesadmin
|
%{_bindir}/xrdp-sesadmin
|
||||||
%{_bindir}/xrdp-keygen
|
%{_bindir}/xrdp-keygen
|
||||||
%{_bindir}/xrdp-sesrun
|
%{_bindir}/xrdp-sesrun
|
||||||
%{_bindir}/xrdp-sestest
|
# %{_bindir}/xrdp-sestest
|
||||||
%{_bindir}/xrdp-dis
|
%{_bindir}/xrdp-dis
|
||||||
%{_sbindir}/xrdp-chansrv
|
%{_sbindir}/xrdp-chansrv
|
||||||
%{_sbindir}/xrdp
|
%{_sbindir}/xrdp
|
||||||
@ -165,8 +154,10 @@ fi
|
|||||||
%{_datadir}/xrdp/sans-10.fv1
|
%{_datadir}/xrdp/sans-10.fv1
|
||||||
%{_datadir}/xrdp/ad24b.bmp
|
%{_datadir}/xrdp/ad24b.bmp
|
||||||
%{_datadir}/xrdp/xrdp24b.bmp
|
%{_datadir}/xrdp/xrdp24b.bmp
|
||||||
|
%{_datadir}/xrdp/xrdp_logo.bmp
|
||||||
%{_mandir}/man5/*
|
%{_mandir}/man5/*
|
||||||
%{_mandir}/man8/*
|
%{_mandir}/man8/*
|
||||||
|
%{_mandir}/man1/*
|
||||||
%{_libdir}/xrdp/lib*.so.*
|
%{_libdir}/xrdp/lib*.so.*
|
||||||
%{_libdir}/xrdp/libcommon.so
|
%{_libdir}/xrdp/libcommon.so
|
||||||
%{_libdir}/xrdp/libmc.so
|
%{_libdir}/xrdp/libmc.so
|
||||||
@ -175,13 +166,20 @@ fi
|
|||||||
%{_libdir}/xrdp/libvnc.so
|
%{_libdir}/xrdp/libvnc.so
|
||||||
%{_libdir}/xrdp/libxrdp.so
|
%{_libdir}/xrdp/libxrdp.so
|
||||||
%{_libdir}/xrdp/libxup.so
|
%{_libdir}/xrdp/libxup.so
|
||||||
/lib/systemd/system/xrdp-sesman.service
|
%{_libdir}/xrdp/libxrdpapi.so
|
||||||
/lib/systemd/system/xrdp.service
|
%{_sysconfdir}/xrdp/pulse/default.pa
|
||||||
|
%{_unitdir}/xrdp-sesman.service
|
||||||
|
%{_unitdir}/xrdp.service
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%ghost %{_localstatedir}/log/xrdp-sesman.log
|
%ghost %{_localstatedir}/log/xrdp-sesman.log
|
||||||
%attr(0600,root,root) %verify(not size md5 mtime) %{_sysconfdir}/xrdp/rsakeys.ini
|
%attr(0600,root,root) %verify(not size md5 mtime) %{_sysconfdir}/xrdp/rsakeys.ini
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 14 2015 Itamar Reis Peixoto <itamar@ispbrasil.com.br> - 0.9.0-1
|
||||||
|
- upgrade to 0.9.0
|
||||||
|
|
||||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.6.1-11
|
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:0.6.1-11
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user