xrdp server

This commit is contained in:
Georgy Kovtunov 2012-02-04 12:15:08 +04:00
parent ce1bca1b79
commit 8ae88a4ba9
17 changed files with 636 additions and 0 deletions

17
net-misc/xrdp/Manifest Normal file
View File

@ -0,0 +1,17 @@
AUX startwm.sh 203 RMD160 6258cb60cb90913a77268657e8427348034b885b SHA1 4bdd9f00fc3c3fb32068b4b50e3e372366801285 SHA256 436cef06a851176e18011dc67549c232d1edf865e1380e31f65ad62f2ae95b5d
AUX xrdp-0.3.1-curdir.patch 1802 RMD160 b1726e31b289897635d6272c03f67ca66ef7d686 SHA1 5ea79e39c55228f3375952e1c1af3da28f61adf2 SHA256 01daf21be042c10a1df9ba88d6b54c5b9de4755f0cb876be887c0a804e70edfa
AUX xrdp-0.3.1-respect-cflags.patch 2727 RMD160 fd9ac0b99d619c01eb3f311dd5e3dcd2f9b7c350 SHA1 c314dadbe7e92ba13e4c770bab83d40732400e8b SHA256 205f491018875666f7b44bce241d9a37308a947c2336bb73102a50fb4c44f2f7
AUX xrdp-0.4.1-curdir.patch 1871 RMD160 5621d4a59d0956e1435ae0ad9037a5d6f2885ff9 SHA1 0bc5273020d8d44e2dd962d0045790ad61d1c72a SHA256 1f8c2b573969493137649c8f40a0777f7af3017ddeeca93c1290a16cd5e72c48
AUX xrdp-9999-001-sandbox-violation.patch 527 RMD160 578e53d53b7bebdbaa1771a049acb93155e8c98c SHA1 77e4a32ba69b96a5d440aaa36dd160b34c74d6b2 SHA256 fb9a6c3b86d4cc4d4953fe1f553a6cd4c040aae4b9676916dd4207804de07a32
AUX xrdp-9999-001-sandbox-violation.patch.old 610 RMD160 b52a294eb6c081bde0a55fcd40e1642600fd4f01 SHA1 1b8b1c90b09e17d81f91b000a892a37afcbc978b SHA256 562c10213d5907cdb9060b0a38b1b9d17e05e1bdc59d195189bff212e1da5c24
AUX xrdp-9999-002-sesrun-config.patch 283 RMD160 c9255630d9e406932fc806f57de4ebeacdb8d4cb SHA1 50f9c783507e230954c148db9521f1b0f64f093e SHA256 c8f47f3c1bc542a240663f9966876240c029a7ef54f017ea60a2cb7e53f4dd48
AUX xrdp-9999-003-domain-as-module-name-noauto-fix-and-hidden-option.patch 2994 RMD160 0d3c80421df5c48eda6e30259ea720a4d311f0ef SHA1 5e3247c7ab8c7bc60acc4b87b8d9b57bf8d3fe2a SHA256 e6c45d5c23ea56023c2a994d3d8559ca81db3df60b519e2e7d071a8221af0c7c
AUX xrdp-9999-004-ignore-client-auth-on-preset.patch 1638 RMD160 2bd74ce780102f40b9b04245dd6ab9bee644aaca SHA1 d7ee4f195d015a6f41c93e70b4783df9081ffacf SHA256 e7f59b3f0ad1b4cdac588adbe856a7a120d9654db595297998b6efeb8b17edbb
AUX xrdp-confd 140 RMD160 c04cd60eff7d3f5de1427ce87bc1f34b4befefe3 SHA1 e0c4a8b089f1e556c3fcd42c5c42327c24bc3634 SHA256 f25c9c409096f71ab2d66d8ee2de47702456367d7a25efeb8ec3b3a84ff7cf4f
AUX xrdp-confd-cvs 140 RMD160 c04cd60eff7d3f5de1427ce87bc1f34b4befefe3 SHA1 e0c4a8b089f1e556c3fcd42c5c42327c24bc3634 SHA256 f25c9c409096f71ab2d66d8ee2de47702456367d7a25efeb8ec3b3a84ff7cf4f
AUX xrdp-initd 979 RMD160 1040d4145236de910892d479b564e6157d584c13 SHA1 b147ccd38c6d9cfd1b26d4c6f8851836678dadb2 SHA256 a5e36c24c93ab813d0fe91d1edcb0199d159a09a0b76b3f11026991dd1201c41
AUX xrdp-initd-cvs 980 RMD160 f2a8f51cc61b43508a33b225caba08f9514eba05 SHA1 190a08c8caeafe7f8438be6ee1ad16843b304278 SHA256 0bde93136b99dca72ecdb6f90fa99191d09b61bf27589df2ba9dac130b5175e0
AUX xrdp.ini 653 RMD160 56c6b292e5040027dd1b471384a1f2cfe890dd47 SHA1 1c4ece0db4a8c82cbab09ba4edb336a2e9426c5e SHA256 83900d328d01994da3c8aab1d4d0f01c77c60cbf2f56576330daa02d65007633
DIST xrdp-0.4.1.tar.gz 238850 RMD160 67e3bbeeed13e491bf626efd80bf25c4b59f87f9 SHA1 bbe320c049c47c28d3250627ad72481215a8763e SHA256 275cb009cb837c5d59a0d1a2d062d137c8d8ed781cfc699d59ff5452891c18f0
EBUILD xrdp-0.4.1.ebuild 1738 RMD160 35a60641c3555a4e200224649bb19038906b75ac SHA1 897b42f0a7bcc1f4b0101d6b3ab666e74427c614 SHA256 a964db7161ea0f0bd3a69a577009dda06b0dd6053533136a01f4187100e5e15a
EBUILD xrdp-9999.ebuild 2669 RMD160 93eb277cc1d369e2553e6d33b41e4637e4dcbb95 SHA1 73a1ef4c57bf1156ece03603462dcf73ddc1f088 SHA256 a48755e5912cf0ab4961be8d50d5a43966e6c9ab64a2ca790f8d7eb566602c49

View File

@ -0,0 +1,8 @@
#!/bin/bash
# use the gentoo startDM to start the default WM
#
# see /usr/share/doc/xrdp-version/startwm.sh for the factory version of this
# script.
source /etc/rc.conf
/etc/X11/Sessions/"${XSESSION}"

View File

@ -0,0 +1,50 @@
diff -ur xrdp-0.3.1.orig/sesman/Makefile xrdp-0.3.1/sesman/Makefile
--- xrdp-0.3.1.orig/sesman/Makefile 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/sesman/Makefile 2006-08-01 20:48:52.000000000 -0400
@@ -13,7 +13,8 @@
DOCDIR = /usr/doc/xrdp
DEFINES = -DSESMAN_CFG_FILE=\"$(CFGDIR)/sesman.ini\" \
- -DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\"
+ -DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\" \
+ -DSESMAN_DESTDIR=\"$(DESTDIR)\"
CFLAGS = $(MYCFLAGS) -I../common $(DEFINES)
LDFLAGS = -L /usr/gnu/lib $(DEFINES)
diff -ur xrdp-0.3.1.orig/sesman/sesman.c xrdp-0.3.1/sesman/sesman.c
--- xrdp-0.3.1.orig/sesman/sesman.c 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/sesman/sesman.c 2006-08-01 20:48:15.000000000 -0400
@@ -137,6 +137,8 @@
int pid;
char pid_s[8];
+ chdir(SESMAN_DESTDIR);
+
if (1 == argc)
{
/* no options on command line. normal startup */
diff -ur xrdp-0.3.1.orig/xrdp/Makefile xrdp-0.3.1/xrdp/Makefile
--- xrdp-0.3.1.orig/xrdp/Makefile 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/xrdp/Makefile 2006-08-01 19:56:15.000000000 -0400
@@ -12,7 +12,8 @@
DOCDIR = /usr/doc/xrdp
DEFINES = -DXRDP_CFG_FILE=\"$(CFGDIR)/xrdp.ini\" \
- -DXRDP_PID_FILE=\"$(PIDDIR)/xrdp.pid\"
+ -DXRDP_PID_FILE=\"$(PIDDIR)/xrdp.pid\" \
+ -DXRDP_DESTDIR=\"$(DESTDIR)\"
CFLAGS = $(MYCFLAGS) -I../common -I../libxrdp $(DEFINES)
#CFLAGS += -DXRDP_DEBUG
diff -ur xrdp-0.3.1.orig/xrdp/xrdp.c xrdp-0.3.1/xrdp/xrdp.c
--- xrdp-0.3.1.orig/xrdp/xrdp.c 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/xrdp/xrdp.c 2006-08-01 19:55:45.000000000 -0400
@@ -291,6 +291,8 @@
char text[32];
#endif
+ chdir(XRDP_DESTDIR);
+
/* check compiled endian with actual endian */
test = 1;
host_be = !((int)(*(unsigned char*)(&test)));

View File

@ -0,0 +1,72 @@
diff -ur xrdp-0.3.1.orig/libxrdp/Makefile xrdp-0.3.1/libxrdp/Makefile
--- xrdp-0.3.1.orig/libxrdp/Makefile 2006-03-12 19:58:12.000000000 -0500
+++ xrdp-0.3.1/libxrdp/Makefile 2006-08-01 16:44:51.000000000 -0400
@@ -13,7 +13,7 @@
DEFINES = -DXRDP_CFG_FILE=\"$(CFGDIR)/xrdp.ini\" \
-DXRDP_KEY_FILE=\"$(CFGDIR)/rsakeys.ini\"
-CFLAGS = -Wall -O2 -I../common -fPIC $(DEFINES)
+CFLAGS = $(MYCFLAGS) -I../common -fPIC $(DEFINES)
#CFLAGS += -DXRDP_DEBUG
C_OS_FLAGS = $(CFLAGS) -c
LDFLAGS = -shared
diff -ur xrdp-0.3.1.orig/rdp/Makefile xrdp-0.3.1/rdp/Makefile
--- xrdp-0.3.1.orig/rdp/Makefile 2006-03-03 20:02:04.000000000 -0500
+++ xrdp-0.3.1/rdp/Makefile 2006-08-01 16:44:51.000000000 -0400
@@ -10,7 +10,7 @@
DEFINES =
-CFLAGS = -Wall -O2 -I../common -fPIC $(DEFINES)
+CFLAGS = $(MYCFLAGS) -I../common -fPIC $(DEFINES)
#CFLAGS += -DXRDP_DEBUG
C_OS_FLAGS = $(CFLAGS) -c
LDFLAGS = -shared
diff -ur xrdp-0.3.1.orig/sesman/Makefile xrdp-0.3.1/sesman/Makefile
--- xrdp-0.3.1.orig/sesman/Makefile 2006-05-26 09:10:14.000000000 -0400
+++ xrdp-0.3.1/sesman/Makefile 2006-08-01 16:44:51.000000000 -0400
@@ -15,7 +15,7 @@
DEFINES = -DSESMAN_CFG_FILE=\"$(CFGDIR)/sesman.ini\" \
-DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\"
-CFLAGS = -Wall -O2 -I../common $(DEFINES)
+CFLAGS = $(MYCFLAGS) -I../common $(DEFINES)
LDFLAGS = -L /usr/gnu/lib $(DEFINES)
C_OS_FLAGS = $(CFLAGS) -c
CC = gcc
diff -ur xrdp-0.3.1.orig/vnc/Makefile xrdp-0.3.1/vnc/Makefile
--- xrdp-0.3.1.orig/vnc/Makefile 2006-03-03 20:02:06.000000000 -0500
+++ xrdp-0.3.1/vnc/Makefile 2006-08-01 16:44:51.000000000 -0400
@@ -9,7 +9,7 @@
DEFINES =
-CFLAGS = -Wall -O2 -I../common -fPIC $(DEFINES)
+CFLAGS = $(MYCFLAGS) -I../common -fPIC $(DEFINES)
C_OS_FLAGS = $(CFLAGS) -c
LDFLAGS = -shared
LIBS = -ldl
diff -ur xrdp-0.3.1.orig/xrdp/Makefile xrdp-0.3.1/xrdp/Makefile
--- xrdp-0.3.1.orig/xrdp/Makefile 2006-03-03 20:02:08.000000000 -0500
+++ xrdp-0.3.1/xrdp/Makefile 2006-08-01 16:44:51.000000000 -0400
@@ -14,7 +14,7 @@
DEFINES = -DXRDP_CFG_FILE=\"$(CFGDIR)/xrdp.ini\" \
-DXRDP_PID_FILE=\"$(PIDDIR)/xrdp.pid\"
-CFLAGS = -Wall -O2 -I../common -I../libxrdp $(DEFINES)
+CFLAGS = $(MYCFLAGS) -I../common -I../libxrdp $(DEFINES)
#CFLAGS += -DXRDP_DEBUG
C_OS_FLAGS = $(CFLAGS) -c
LDFLAGS = -L/usr/gnu/lib -L../libxrdp -Wl,-rpath,.
diff -ur xrdp-0.3.1.orig/xup/Makefile xrdp-0.3.1/xup/Makefile
--- xrdp-0.3.1.orig/xup/Makefile 2006-03-03 20:02:09.000000000 -0500
+++ xrdp-0.3.1/xup/Makefile 2006-08-01 16:44:51.000000000 -0400
@@ -9,7 +9,7 @@
DEFINES =
-CFLAGS = -Wall -O2 -I../common -fPIC $(DEFINES)
+CFLAGS = $(MYCFLAGS) -I../common -fPIC $(DEFINES)
#CFLAGS += -DXRDP_DEBUG
C_OS_FLAGS = $(CFLAGS) -c
LDFLAGS = -shared

View File

@ -0,0 +1,50 @@
diff -ur xrdp-0.4.0.orig/sesman/Makefile xrdp-0.4.0/sesman/Makefile
--- xrdp-0.4.0.orig/sesman/Makefile 2008-04-02 15:43:01.000000000 +0200
+++ xrdp-0.4.0/sesman/Makefile 2008-04-02 16:08:34.000000000 +0200
@@ -14,7 +14,8 @@
DEFINES = -DSESMAN_CFG_FILE=\"$(CFGDIR)/sesman.ini\" \
-DSESMAN_PID_FILE=\"$(PIDDIR)/sesman.pid\" \
- -DSESMAN_SESSVC_FILE=\"sessvc\"
+ -DSESMAN_SESSVC_FILE=\"sessvc\" \
+ -DSESMAN_DESTDIR=\"$(DESTDIR)\"
CFLAGS = $(MYCFLAGS) -I../common -I/usr/include/nptl -I./libscp $(DEFINES)
LDFLAGS = -L/usr/gnu/lib -L/usr/lib/nptl -L./libscp -Wl,-rpath,. -lpthread -ldl -lscp
diff -ur xrdp-0.3.1.orig/sesman/sesman.c xrdp-0.3.1/sesman/sesman.c
--- xrdp-0.3.1.orig/sesman/sesman.c 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/sesman/sesman.c 2006-08-01 20:48:15.000000000 -0400
@@ -137,6 +137,8 @@
int pid;
char pid_s[8];
+ chdir(SESMAN_DESTDIR);
+
if (1 == argc)
{
/* no options on command line. normal startup */
diff -ur xrdp-0.3.1.orig/xrdp/Makefile xrdp-0.3.1/xrdp/Makefile
--- xrdp-0.3.1.orig/xrdp/Makefile 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/xrdp/Makefile 2006-08-01 19:56:15.000000000 -0400
@@ -12,7 +12,8 @@
DOCDIR = /usr/doc/xrdp
DEFINES = -DXRDP_CFG_FILE=\"$(CFGDIR)/xrdp.ini\" \
- -DXRDP_PID_FILE=\"$(PIDDIR)/xrdp.pid\"
+ -DXRDP_PID_FILE=\"$(PIDDIR)/xrdp.pid\" \
+ -DXRDP_DESTDIR=\"$(DESTDIR)\"
CFLAGS = $(MYCFLAGS) -I../common -I../libxrdp $(DEFINES)
#CFLAGS += -DXRDP_DEBUG
diff -ur xrdp-0.3.1.orig/xrdp/xrdp.c xrdp-0.3.1/xrdp/xrdp.c
--- xrdp-0.3.1.orig/xrdp/xrdp.c 2006-08-01 19:35:48.000000000 -0400
+++ xrdp-0.3.1/xrdp/xrdp.c 2006-08-01 19:55:45.000000000 -0400
@@ -291,6 +291,8 @@
char text[32];
#endif
+ chdir(XRDP_DESTDIR);
+
/* check compiled endian with actual endian */
test = 1;
host_be = !((int)(*(unsigned char*)(&test)));

View File

@ -0,0 +1,8 @@
--- xrdp/instfiles/Makefile.am.orig 2009-09-22 18:01:52.000000000 +0400
+++ xrdp/instfiles/Makefile.am 2009-09-22 18:02:14.000000000 +0400
@@ -17,3 +17,5 @@
# if [ -w /etc/init.d ]; then rm -f /etc/init.d/xrdp.sh; fi
# if [ -w /etc/init.d ]; then $(LN_S) $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh /etc/init.d/xrdp.sh; fi
# $(DESTDIR)$(bindir)/xrdp-keygen xrdp $(DESTDIR)$(sysconfdir)/xrdp/rsakeys.ini
+ mkdir -p $(DESTDIR)$(sysconfdir)/init.d
+ $(LN_S) $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh $(DESTDIR)$(sysconfdir)/init.d/xrdp.sh

View File

@ -0,0 +1,11 @@
--- xrdp/instfiles/Makefile.am~ 2009-05-13 01:28:31.000000000 +0930
+++ xrdp/instfiles/Makefile.am 2009-05-13 01:29:57.033945790 +0930
@@ -10,6 +10,5 @@
# must be tab below
install-data-hook:
chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh
- if [ -w /etc/init.d ]; then rm -f /etc/init.d/xrdp.sh; fi
- if [ -w /etc/init.d ]; then $(LN_S) $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh /etc/init.d/xrdp.sh; fi
- $(DESTDIR)$(bindir)/xrdp-keygen xrdp $(DESTDIR)$(sysconfdir)/xrdp/rsakeys.ini
+ mkdir -p $(DESTDIR)$(sysconfdir)/init.d
+ $(LN_S) $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh $(DESTDIR)$(sysconfdir)/init.d/xrdp.sh

View File

@ -0,0 +1,12 @@
--- xrdp/sesman/tools/Makefile.am.orig 2009-05-13 02:56:04.393945494 +0930
+++ xrdp/sesman/tools/Makefile.am 2009-05-13 02:56:14.697945849 +0930
@@ -10,8 +10,8 @@
xrdp_sesrun_SOURCES = \
sesrun.c \
tcp.c \
- config.c
+ ../config.c
xrdp_sestest_SOURCES = \
sestest.c

View File

@ -0,0 +1,85 @@
--- xrdp/xrdp/xrdp_login_wnd.c.orig 2009-05-28 19:26:05.000000000 +0930
+++ xrdp/xrdp/xrdp_login_wnd.c 2009-05-28 19:30:37.000000000 +0930
@@ -386,6 +386,8 @@
int fd;
int i;
int j;
+ int k = 0; // real number of the items in the list
+ int h = 0; // is the current item hidden?
char* p;
char* q;
char* r;
@@ -411,26 +413,58 @@
}
else
{
- g_strncpy(name, p, 255);
- mod_data = (struct xrdp_mod_data*)
- g_malloc(sizeof(struct xrdp_mod_data), 1);
- mod_data->names = list_create();
- mod_data->names->auto_free = 1;
- mod_data->values = list_create();
- mod_data->values->auto_free = 1;
- for (j = 0; j < section_names->count; j++)
- {
+ // check to see if this is a hidden item
+ // do this early so we don't need to mess around freeing memory
+ for (j = 0; j < section_names->count; j++) {
q = (char*)list_get_item(section_names, j);
r = (char*)list_get_item(section_values, j);
- if (g_strncmp("name", q, 255) == 0)
+ if (g_strncmp("hidden", q, 255) == 0)
{
- g_strncpy(name, r, 255);
+ if (g_strncmp("yes", r, 255) == 0) {
+ h = 1;
+ break;
+ }
}
- list_add_item(mod_data->names, (long)g_strdup(q));
- list_add_item(mod_data->values, (long)g_strdup(r));
}
- list_add_item(b->string_list, (long)g_strdup(name));
- list_add_item(b->data_list, (long)mod_data);
+
+ if (h == 1) {
+ // yup, hidden, reset state
+ h = 0;
+ } else {
+ // not hidden
+ g_strncpy(name, p, 255);
+ mod_data = (struct xrdp_mod_data*)
+ g_malloc(sizeof(struct xrdp_mod_data), 1);
+ mod_data->names = list_create();
+ mod_data->names->auto_free = 1;
+ mod_data->values = list_create();
+ mod_data->values->auto_free = 1;
+ for (j = 0; j < section_names->count; j++)
+ {
+ q = (char*)list_get_item(section_names, j);
+ r = (char*)list_get_item(section_values, j);
+ if (g_strncmp("name", q, 255) == 0)
+ {
+ g_strncpy(name, r, 255);
+ }
+ list_add_item(mod_data->names, (long)g_strdup(q));
+ list_add_item(mod_data->values, (long)g_strdup(r));
+ }
+
+ list_add_item(b->string_list, (long)g_strdup(name));
+ list_add_item(b->data_list, (long)mod_data);
+
+ if (g_strncmp(self->session->client_info->domain, p, 255) == 0) {
+ // "domain" matches this module's name. change the default selected item to this.
+ // normally this only applies to autologin. now this applies it in non-auto mode
+ //
+ // we can't use (i) here as that is the index of the section in the ini, not the index of
+ // the current item in the combobox.
+ b->item_index = k;
+ }
+
+ k++;
+ }
}
}
g_file_close(fd);

View File

@ -0,0 +1,35 @@
--- xrdp/xrdp/xrdp_wm.c.orig 2009-05-28 18:41:18.000000000 +0930
+++ xrdp/xrdp/xrdp_wm.c 2009-05-28 18:44:55.000000000 +0930
@@ -412,14 +412,30 @@
if (g_strncmp("password", q, 255) == 0)
{
list_add_item(self->mm->login_names, (long)g_strdup("password"));
- list_add_item(self->mm->login_values,
+ if (g_strncmp("ask", r, 255) != 0) {
+ // the password has been manually set in the config, use that
+ // instead of what the client says.
+ list_add_item(self->mm->login_values, (long)g_strdup(r));
+ } else {
+ // the password has been asked for by the module, use what the
+ // client says.
+ list_add_item(self->mm->login_values,
(long)g_strdup(self->session->client_info->password));
+ }
}
else if (g_strncmp("username", q, 255) == 0)
{
list_add_item(self->mm->login_names, (long)g_strdup("username"));
- list_add_item(self->mm->login_values,
+ if (g_strncmp("ask", r, 255) != 0) {
+ // the username has been manually set in the config, user that
+ // instead of what the client says.
+ list_add_item(self->mm->login_values, (long)g_strdup(r));
+ } else {
+ // the username has been asked for by the module, use what the
+ // client says.
+ list_add_item(self->mm->login_values,
(long)g_strdup(self->session->client_info->username));
+ }
}
else
{

View File

@ -0,0 +1,5 @@
# /etc/conf.d/xrdp
# logfile locations for xrdp and sesman
XRDP_LOGFILE="/var/log/xrdp/xrdp.log"
SESMAN_LOGFILE="/var/log/xrdp/sesman.log"

View File

@ -0,0 +1,5 @@
# /etc/conf.d/xrdp
# logfile locations for xrdp and sesman
XRDP_LOGFILE="/var/log/xrdp/xrdp.log"
SESMAN_LOGFILE="/var/log/xrdp/sesman.log"

View File

@ -0,0 +1,36 @@
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/files/xrdp-initd,v 1.1 2006/08/02 00:58:36 chutzpah Exp $
depend() {
use net logger
}
start() {
cd /usr/LIBDIR/xrdp
ebegin "Starting X remote desktop daemon"
start-stop-daemon --start --pidfile /var/run/xrdp.pid --exec /usr/LIBDIR/xrdp/xrdp -- >> ${XRDP_LOGFILE}
ret=${?}
eend ${ret}
[[ ${ret} != 0 ]] && return ${ret}
ebegin "Starting remote desktop session manager"
start-stop-daemon --start --pidfile /var/run/sesman.pid --exec /usr/LIBDIR/xrdp/sesman >> ${SESMAN_LOGFILE}
ret=${?}
eend ${ret}
return ${ret}
}
stop() {
ebegin "Stopping X remote desktop daemon"
start-stop-daemon --stop --pidfile /var/run/xrdp.pid
ret=${?}
eend ${ret}
ebegin "Stopping remote desktop session manager"
start-stop-daemon --stop --pidfile /var/run/sesman.pid
ret=${?}
eend ${ret}
return ${ret}
}

View File

@ -0,0 +1,36 @@
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/files/xrdp-initd,v 1.1 2006/08/02 00:58:36 chutzpah Exp $
depend() {
use net logger
}
start() {
cd /usr/LIBDIR/xrdp
ebegin "Starting X remote desktop daemon"
start-stop-daemon --start --pidfile /var/run/xrdp.pid --exec /usr/sbin/xrdp -- >> ${XRDP_LOGFILE}
ret=${?}
eend ${ret}
[[ ${ret} != 0 ]] && return ${ret}
ebegin "Starting remote desktop session manager"
start-stop-daemon --start --pidfile /var/run/xrdp-sesman.pid --exec /usr/sbin/xrdp-sesman >> ${SESMAN_LOGFILE}
ret=${?}
eend ${ret}
return ${ret}
}
stop() {
ebegin "Stopping X remote desktop daemon"
start-stop-daemon --stop --pidfile /var/run/xrdp.pid
ret=${?}
eend ${ret}
ebegin "Stopping remote desktop session manager"
start-stop-daemon --stop --pidfile /var/run/xrdp-sesman.pid
ret=${?}
eend ${ret}
return ${ret}
}

View File

@ -0,0 +1,53 @@
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp1]
name=sesman-Xvnc
lib=/usr/lib/xrdp/libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
[xrdp2]
name=console
lib=/usr/lib/xrdp/libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
[xrdp3]
name=vnc-any
lib=/usr/lib/xrdp/libvnc.so
ip=ask
port=ask5900
username=na
password=ask
[xrdp4]
name=sesman-any
lib=/usr/lib/xrdp/libvnc.so
ip=ask
port=-1
username=ask
password=ask
[xrdp5]
name=rdp-any
lib=/usr/lib/xrdp/librdp.so
ip=ask
port=ask3389
[xrdp6]
name=sesman-X11rdp
lib=/usr/lib/xrdp/libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1

View File

@ -0,0 +1,59 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/xrdp/xrdp-0.4.1.ebuild,v 1.1 2009/03/01 15:09:11 patrick Exp $
EAPI="2"
inherit eutils multilib
DESCRIPTION="An open source remote desktop protocol(rdp) server."
HOMEPAGE="http://xrdp.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE=""
DEPEND="sys-libs/pam"
RDEPEND="${DEPEND}
|| ( net-misc/vnc[server] net-misc/tightvnc x11-misc/x11vnc )"
DESTDIR="/usr/$(get_libdir)/${PN}"
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/${P}-curdir.patch"
# fix cflags, broken paths, multilib, and insecure rpath in all makefiles
for MAKE in $(find . -name Makefile) ; do
sed -i "s:CFLAGS = -Wall -O. :CFLAGS += :
s:/usr/xrdp:${DESTDIR}:g
s:/usr/lib/:/usr/$(get_libdir)/:g
s:rpath,\.:rpath,${DESTDIR}:g" ${MAKE}
done
sed -i '/instfiles\/xrdp_control1.sh/ d' Makefile
}
src_compile() {
emake -j1 DESTDIR="${DESTDIR}" || die "emake failed"
}
src_install() {
emake -j1 DESTDIRDEB="${D}" installdeb || die "emake installdeb failed"
emake -j1 -C sesman/tools DESTDIRDEB="${D}" installdeb || die "emake installdeb failed"
emake -j1 -C sesman/libscp DESTDIRDEB="${D}" installdeb || die "emake installdeb failed"
dodoc design.txt readme.txt sesman/startwm.sh
doman "${D}/usr/man/"*/*
keepdir /var/log/${PN}
rm -rf "${D}${DESTDIR}/startwm.sh" "${D}/usr/man"
exeinto "${DESTDIR}"
doexe "${FILESDIR}/startwm.sh"
doexe "sesman/sessvc"
newinitd "${FILESDIR}/${PN}-initd" ${PN}
newconfd "${FILESDIR}/${PN}-confd" ${PN}
sed -i "s:LIBDIR:$(get_libdir):" "${D}/etc/init.d/${PN}"
}

View File

@ -0,0 +1,94 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id $
EAPI="2"
inherit eutils multilib cvs
DESCRIPTION="An open source remote desktop protocol(rdp) server."
HOMEPAGE="http://xrdp.sourceforge.net/"
SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE=""
DEPEND="sys-libs/pam"
RDEPEND="${DEPEND}
|| ( x11-misc/x11vnc net-misc/vnc[server] net-misc/tightvnc )"
DESTDIR="/usr/$(get_libdir)/${PN}"
src_unpack() {
ECVS_SERVER="xrdp.cvs.sourceforge.net:/cvsroot/xrdp"
ECVS_USER="anonymous"
ECVS_PASS=""
ECVS_AUTH="pserver"
ECVS_MODULE="xrdp"
ECVS_LOCALNAME="xrdp"
S="${WORKDIR}/${ECVS_LOCALNAME}"
cvs_src_unpack
cd "${S}"
# fix makefile problem in sesrun
epatch "${FILESDIR}/xrdp-9999-002-sesrun-config.patch"
# fix sandbox security violation issues
epatch "${FILESDIR}/xrdp-9999-001-sandbox-violation.patch"
# domain as module name non-auto fix, and hidden modules patch
epatch "${FILESDIR}/xrdp-9999-003-domain-as-module-name-noauto-fix-and-hidden-option.patch"
# ignore client auth when module has preset
# No longer required as it has been merged into CVS HEAD
# xrdp/xrdp/xrdp_wm.c r1.63, Thu May 28 21:01:01 2009 UTC
#epatch "${FILESDIR}/xrdp-9999-004-ignore-client-auth-on-preset.patch"
autoreconf -fvi
# fix cflags, broken paths, multilib, and insecure rpath in all makefiles
for MAKE in $(find . -name Makefile) ; do
sed -i "s:CFLAGS = -Wall -O. :CFLAGS += :
s:/usr/xrdp:${DESTDIR}:g
s:/usr/lib/:/usr/$(get_libdir)/:g
s:rpath,\.:rpath,${DESTDIR}:g" ${MAKE}
done
#sed -i '/instfiles\/xrdp_control1.sh/ d' Makefile
}
src_configure() {
econf --localstatedir=/var || die "econf failed"
}
src_compile() {
emake -j1 DESTDIR="${DESTDIR}" || die "emake failed"
}
src_install() {
emake -j1 DESTDIR="${D}" install || die "emake install failed"
emake -j1 -C sesman/tools DESTDIR="${D}" install || die "emake install failed"
emake -j1 -C sesman/libscp DESTDIR="${D}" install || die "emake install failed"
dodoc design.txt readme.txt sesman/startwm.sh
doman "${D}/usr/share/man/"*/*
keepdir /var/log/${PN}
rm -f "${D}/etc/xrdp/xrdp.sh" "${D}/etc/init.d/xrdp.sh"
cp "${FILESDIR}/startwm.sh" "${D}/etc/xrdp/"
cp -f "${FILESDIR}/xrdp.ini" "${D}/etc/xrdp/"
chmod 755 "${D}/etc/xrdp/startwm.sh"
newinitd "${FILESDIR}/${PN}-initd-cvs" ${PN}
newconfd "${FILESDIR}/${PN}-confd-cvs" ${PN}
sed -i "s:LIBDIR:$(get_libdir):" "${D}/etc/init.d/${PN}"
}
pkg_postinst() {
# generate a new rsa key if needed
if [ ! -e "/etc/xrdp/rsakeys.ini" ] ; then
elog "Generating xrdp keys..."
xrdp-keygen xrdp /etc/xrdp/rsakeys.ini
fi
}