aboutsummaryrefslogtreecommitdiff
path: root/net/xrdp-devel
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2013-01-19 02:28:59 +0000
committerSteve Wills <swills@FreeBSD.org>2013-01-19 02:28:59 +0000
commit7e0125fdfb766c3bee9b84bc70856c0b865d7599 (patch)
tree42c71cc2d707471bd24ed1331772934db4bb523e /net/xrdp-devel
parentceb37413c0834330ca3591f4becda7ce47c7c04e (diff)
downloadports-7e0125fdfb766c3bee9b84bc70856c0b865d7599.tar.gz
ports-7e0125fdfb766c3bee9b84bc70856c0b865d7599.zip
- Copy net/xrdp to net/xrdp-devel, update to 0.7.0
PR: ports/172793 Submitted by: Koichiro IWAO <meta+ports@vmeta.jp> (maintainer)
Notes
Notes: svn path=/head/; revision=310630
Diffstat (limited to 'net/xrdp-devel')
-rw-r--r--net/xrdp-devel/Makefile83
-rw-r--r--net/xrdp-devel/distinfo12
-rw-r--r--net/xrdp-devel/files/patch-common__os_calls.c11
-rw-r--r--net/xrdp-devel/files/patch-sesman__Makefile.am13
-rw-r--r--net/xrdp-devel/files/patch-sesman__session_1.patch85
-rw-r--r--net/xrdp-devel/files/patch-xrdp__Makefile.am13
-rw-r--r--net/xrdp-devel/files/pkg-message.in14
-rw-r--r--net/xrdp-devel/files/xrdp.in56
-rw-r--r--net/xrdp-devel/pkg-descr13
-rw-r--r--net/xrdp-devel/pkg-plist79
10 files changed, 379 insertions, 0 deletions
diff --git a/net/xrdp-devel/Makefile b/net/xrdp-devel/Makefile
new file mode 100644
index 000000000000..5bab053e03b5
--- /dev/null
+++ b/net/xrdp-devel/Makefile
@@ -0,0 +1,83 @@
+# Created by: alepulver
+# $FreeBSD$
+
+PORTNAME= xrdp
+PORTVERSION= 0.7.0.20120918
+CATEGORIES= net
+MASTER_SITES= http://www.club.kyutech.ac.jp/~meta/distfiles/ \
+ http://key2.jp/~meta/distfiles/
+PKGNAMESUFFIX= -devel
+DIST_SUBDIR?= ${PORTNAME}
+
+PATCH_SITES= http://www.club.kyutech.ac.jp/~meta/patches/xrdp/0.6.0/ \
+ http://key2.jp/~meta/patches/xrdp/0.6.0/
+
+MAINTAINER= meta+ports@vmeta.jp
+COMMENT= An open source Remote Desktop Protocol (RDP) server
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USE_XORG= x11 xfixes
+USE_AUTOTOOLS= autoconf:env automake:env libtool
+GNU_CONFIGURE= yes
+USE_RC_SUBR= xrdp
+
+CONFIGURE_ARGS= --localstatedir=/var
+LDFLAGS+= -L${LOCALBASE}/lib
+CPPFLAGS+= -I${LOCALBASE}/include
+CONFLICTS= xrdp-[0-9]*
+
+USE_LDCONFIG= ${PREFIX}/lib/xrdp
+
+OPTIONS_DEFINE= DEBUG GATEWAY JP106
+OPTIONS_DEFAULT= JP106
+GATEWAY_DESC= Install xrdp as RDP gateway (no VNC backend)
+JP106_DESC= Install Japanese JP106 keymap
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MDEBUG}
+CONFIGURE_ARGS+= --enable-xrdpdebug
+CFLAGS+= -DXRDP_DEBUG
+.endif
+
+.if ${PORT_OPTIONS:MJP106}
+PATCHFILES+= patch-instfiles__Makefile.am \
+ patch-instfiles__km-0411.ini \
+ patch-instfiles__km-e0010411.ini \
+ patch-instfiles__km-e0200411.ini \
+ patch-instfiles__km-e0210411.ini
+PLIST_SUB+= JP106=""
+.else
+PLIST_SUB+= JP106="@comment "
+.endif
+
+.if !${PORT_OPTIONS:MGATEWAY}
+RUN_DEPENDS+= Xvnc:${PORTSDIR}/net/vnc
+.endif
+
+MAN5= sesman.ini.5 xrdp.ini.5
+MAN8= xrdp-sesman.8 xrdp-sesrun.8 xrdp.8
+
+SUB_FILES= pkg-message
+
+post-patch:
+.for f in sesman/sesman.ini sesman/startwm.sh xrdp/rsakeys.ini xrdp/xrdp.ini
+ @${MV} ${WRKSRC}/$f ${WRKSRC}/$f.sample
+.endfor
+
+pre-configure:
+ @cd ${WRKSRC} && ./bootstrap
+
+post-install:
+.for f in rsakeys.ini sesman.ini startwm.sh xrdp.ini
+ @if [ ! -f ${PREFIX}/etc/xrdp/$f ]; then \
+ ${CP} -p ${PREFIX}/etc/xrdp/$f.sample ${PREFIX}/etc/xrdp/$f ; \
+ fi
+.endfor
+ @if cmp -s ${PREFIX}/etc/xrdp/rsakeys.ini.sample ${PREFIX}/etc/xrdp/rsakeys.ini; then \
+ ${PREFIX}/bin/xrdp-keygen xrdp ${PREFIX}/etc/xrdp/rsakeys.ini; fi
+ @${ECHO_CMD}; ${CAT} ${PKGMESSAGE}; ${ECHO_CMD}
+
+.include <bsd.port.mk>
diff --git a/net/xrdp-devel/distinfo b/net/xrdp-devel/distinfo
new file mode 100644
index 000000000000..ec1ec4d193c3
--- /dev/null
+++ b/net/xrdp-devel/distinfo
@@ -0,0 +1,12 @@
+SHA256 (xrdp/xrdp-0.7.0.20120918.tar.gz) = 97b447a2634dc151b869beca216116c5ec7cb17cc662c0642861c6226c4dcec9
+SIZE (xrdp/xrdp-0.7.0.20120918.tar.gz) = 6618465
+SHA256 (xrdp/patch-instfiles__Makefile.am) = 92e8a1768b63f508bc5b37cdc5723d1e03875af7fbdf064aa86a6b40b1bd2f07
+SIZE (xrdp/patch-instfiles__Makefile.am) = 710
+SHA256 (xrdp/patch-instfiles__km-0411.ini) = 58bcb7f063db4fcde9230be3013d46226b8af5c0060b7faf00250a51aa7da4fd
+SIZE (xrdp/patch-instfiles__km-0411.ini) = 9576
+SHA256 (xrdp/patch-instfiles__km-e0010411.ini) = 201e55ae65c223602d66eb15ac3fd53564dc3f8e856f08183f9cf8f3fc6334c3
+SIZE (xrdp/patch-instfiles__km-e0010411.ini) = 9592
+SHA256 (xrdp/patch-instfiles__km-e0200411.ini) = d6e95d98629bf346173e97ebd9fba7910971a0165fc32c3e3cada3c5a6d01de8
+SIZE (xrdp/patch-instfiles__km-e0200411.ini) = 9592
+SHA256 (xrdp/patch-instfiles__km-e0210411.ini) = f3f29efc3541c08f60edbbb3ecf85da59abe7d745b59a7d5d0340d5940c3e723
+SIZE (xrdp/patch-instfiles__km-e0210411.ini) = 9592
diff --git a/net/xrdp-devel/files/patch-common__os_calls.c b/net/xrdp-devel/files/patch-common__os_calls.c
new file mode 100644
index 000000000000..d1c16a43d7da
--- /dev/null
+++ b/net/xrdp-devel/files/patch-common__os_calls.c
@@ -0,0 +1,11 @@
+--- common/os_calls.c.orig 2011-03-12 16:10:35.000000000 +0900
++++ common/os_calls.c 2011-03-12 16:34:05.000000000 +0900
+@@ -1987,6 +1987,8 @@
+ g_clearenv(void)
+ {
+ #if defined(_WIN32)
++#elif defined(__FreeBSD__)
++ environ[0] = NULL;
+ #else
+ environ = 0;
+ #endif
diff --git a/net/xrdp-devel/files/patch-sesman__Makefile.am b/net/xrdp-devel/files/patch-sesman__Makefile.am
new file mode 100644
index 000000000000..456fe30d0441
--- /dev/null
+++ b/net/xrdp-devel/files/patch-sesman__Makefile.am
@@ -0,0 +1,13 @@
+--- sesman/Makefile.am.orig 2009-05-18 23:23:48.000000000 -0500
++++ sesman/Makefile.am 2010-10-02 16:07:53.000000000 -0500
+@@ -55,4 +55,4 @@
+ sesmansysconf_DATA = \
+- sesman.ini \
+- startwm.sh
++ sesman.ini.sample \
++ startwm.sh.sample
+
+@@ -66,2 +66,2 @@
+ install-data-hook:
+- chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/startwm.sh
++ chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/startwm.sh.sample
diff --git a/net/xrdp-devel/files/patch-sesman__session_1.patch b/net/xrdp-devel/files/patch-sesman__session_1.patch
new file mode 100644
index 000000000000..b44164f527f0
--- /dev/null
+++ b/net/xrdp-devel/files/patch-sesman__session_1.patch
@@ -0,0 +1,85 @@
+--- sesman/session.c.orig 2011-03-12 16:10:35.000000000 +0900
++++ sesman/session.c 2011-10-27 12:13:11.000000000 +0900
+@@ -16,7 +16,47 @@
+ xrdp: A Remote Desktop Protocol server.
+ Copyright (C) Jay Sorg 2005-2008
+ */
+-
++/*
++ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
++ * All rights reserved
++ *
++ * As far as I am concerned, the code I have written for this software
++ * can be used freely for any purpose. Any derived versions of this
++ * software must be clearly marked as such, and if the derived work is
++ * incompatible with the protocol description in the RFC file, it must be
++ * called by a name other than "ssh" or "Secure Shell".
++ *
++ * SSH2 support by Markus Friedl.
++ * Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
++ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
++ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
++ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
++ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ *
++ * Copyright (c) 2011 Iwao, Koichiro <meta@club.kyutech.ac.jp>,
++ * Kyushu Institute of Technology.
++ * All rights reserved.
++ *
++ * from: OpenBSD: session.c,v 1.252 2010/03/07 11:57:13 dtucker Exp
++ * with some ideas about process grouping from OpenSSH to xrdp
++ *
++ */
+ /**
+ *
+ * @file session.c
+@@ -373,6 +413,33 @@
+ g_sprintf(geometry, "%dx%d", width, height);
+ g_sprintf(depth, "%d", bpp);
+ g_sprintf(screen, ":%d", display);
++#ifdef __FreeBSD__
++ /*
++ * Create a new session and process group since 4.4BSD
++ * setlogin affects the entire process group.
++ */
++ pid_t bsdsespid = g_fork();
++
++ if (bsdsespid == -1)
++ {
++ }
++ else if (bsdsespid == 0) /* BSD session leader */
++ {
++ if (setsid() < 0)
++ {
++ log_message(LOG_LEVEL_ERROR,
++ "setsid failed: %.100s", strerror(errno));
++ }
++
++ if (setlogin(username) < 0)
++ {
++ log_message(LOG_LEVEL_ERROR,
++ "setlogin failed: %.100s", strerror(errno));
++ }
++ }
++
++ g_waitpid(bsdsespid);
++#endif
+ wmpid = g_fork();
+ if (wmpid == -1)
+ {
diff --git a/net/xrdp-devel/files/patch-xrdp__Makefile.am b/net/xrdp-devel/files/patch-xrdp__Makefile.am
new file mode 100644
index 000000000000..d6f24f808229
--- /dev/null
+++ b/net/xrdp-devel/files/patch-xrdp__Makefile.am
@@ -0,0 +1,13 @@
+--- xrdp/Makefile.am.orig 2009-05-18 23:23:48.000000000 -0500
++++ xrdp/Makefile.am 2010-10-02 16:05:10.000000000 -0500
+@@ -36,4 +36,4 @@
+ xrdpsysconf_DATA = \
+- xrdp.ini \
+- rsakeys.ini
++ xrdp.ini.sample \
++ rsakeys.ini.sample
+
+@@ -50,2 +50,2 @@
+ install-data-hook:
+- chmod 600 $(DESTDIR)$(sysconfdir)/xrdp/rsakeys.ini
++ chmod 600 $(DESTDIR)$(sysconfdir)/xrdp/rsakeys.ini.sample
diff --git a/net/xrdp-devel/files/pkg-message.in b/net/xrdp-devel/files/pkg-message.in
new file mode 100644
index 000000000000..7d4e3914601e
--- /dev/null
+++ b/net/xrdp-devel/files/pkg-message.in
@@ -0,0 +1,14 @@
+==============================================================================
+
+XRDP has been installed.
+
+There is an rc.d script, so the service can be enabled by adding this line
+in /etc/rc.conf:
+
+xrdp_enable="YES"
+xrdp_sesman_enable="YES" # if you want to run xrdp-sesman on the same machine
+
+Do not forget to edit the configuration files in "%%PREFIX%%/etc/xrdp"
+and the "%%PREFIX%%/etc/xrdp/startwm.sh" script.
+
+==============================================================================
diff --git a/net/xrdp-devel/files/xrdp.in b/net/xrdp-devel/files/xrdp.in
new file mode 100644
index 000000000000..5009343e2aa7
--- /dev/null
+++ b/net/xrdp-devel/files/xrdp.in
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# REQUIRE: DAEMON
+# PROVIDE: xrdp xrdp_sesman
+#
+
+. /etc/rc.subr
+
+name="xrdp"
+rcvar=xrdp_enable
+xrdp_daemons="xrdp"
+
+# Read settings and set default values.
+load_rc_config "$name"
+: ${xrdp_enable="NO"}
+
+# Enable/disable dependent daemon.
+if [ -n "${rcvar}" ] && checkyesno "xrdp_sesman_enable"; then
+ xrdp_daemons="xrdp xrdp_sesman"
+fi
+
+# Commands.
+extra_commands="reload status"
+start_cmd="xrdp_cmd"
+stop_cmd="xrdp_cmd"
+status_cmd="xrdp_cmd"
+reload_cmd="xrdp_cmd"
+rcvar_cmd="xrdp_cmd"
+
+# Command wrapper to call each of them per daemon.
+xrdp_cmd() {
+ local name rcvar command pidfile xrdp_daemons
+ # Prevent recursive calling.
+ unset "${rc_arg}_cmd"
+ # Stop processes in the reverse to order.
+ if [ "${rc_arg}" = "stop" ] ; then
+ xrdp_daemons=$(reverse_list ${xrdp_daemons})
+ fi
+ # Apply to all the daemons.
+ for name in ${xrdp_daemons}; do
+ rcvar=${name}_enable
+ if [ "${name}" = "xrdp_sesman" ]; then
+ command="%%PREFIX%%/sbin/xrdp-sesman"
+ pidfile="/var/run/xrdp-sesman.pid"
+ else
+ command="%%PREFIX%%/sbin/${name}"
+ pidfile="/var/run/${name}.pid"
+ fi
+
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ done
+}
+
+run_rc_command "$1"
diff --git a/net/xrdp-devel/pkg-descr b/net/xrdp-devel/pkg-descr
new file mode 100644
index 000000000000..19b641051001
--- /dev/null
+++ b/net/xrdp-devel/pkg-descr
@@ -0,0 +1,13 @@
+Based on the work of rdesktop, xrdp uses the remote desktop protocol to
+present a GUI to the user.
+
+The goal of this project is to provide a fully functional Linux terminal
+server, capable of accepting connections from rdesktop and Microsoft's own
+terminal server / remote desktop clients.
+
+Unlike Windows NT/2000/2003 server, xrdp will not display a Windows desktop
+but an X window desktop to the user.
+
+Xrdp uses Xvnc or X11rdp to manage the X session.
+
+WWW: http://www.xrdp.org/
diff --git a/net/xrdp-devel/pkg-plist b/net/xrdp-devel/pkg-plist
new file mode 100644
index 000000000000..f0a3cb6def24
--- /dev/null
+++ b/net/xrdp-devel/pkg-plist
@@ -0,0 +1,79 @@
+@stopdaemon xrdp
+bin/xrdp-dis
+bin/xrdp-genkeymap
+bin/xrdp-keygen
+bin/xrdp-sesadmin
+bin/xrdp-sesrun
+bin/xrdp-sestest
+bin/xrdp-xcon
+lib/xrdp/libcommon.a
+lib/xrdp/libcommon.la
+lib/xrdp/libcommon.so
+lib/xrdp/libcommon.so.0
+lib/xrdp/libmc.a
+lib/xrdp/libmc.la
+lib/xrdp/libmc.so
+lib/xrdp/libmc.so.0
+lib/xrdp/librdp.a
+lib/xrdp/librdp.la
+lib/xrdp/librdp.so
+lib/xrdp/librdp.so.0
+lib/xrdp/libscp.a
+lib/xrdp/libscp.la
+lib/xrdp/libscp.so
+lib/xrdp/libscp.so.0
+lib/xrdp/libvnc.a
+lib/xrdp/libvnc.la
+lib/xrdp/libvnc.so
+lib/xrdp/libvnc.so.0
+lib/xrdp/libxrdp.a
+lib/xrdp/libxrdp.la
+lib/xrdp/libxrdp.so
+lib/xrdp/libxrdp.so.0
+lib/xrdp/libxrdpapi.la
+lib/xrdp/libxrdpapi.so
+lib/xrdp/libxrdpapi.so.0
+lib/xrdp/libxrdpapi.a
+lib/xrdp/libxup.a
+lib/xrdp/libxup.la
+lib/xrdp/libxup.so
+lib/xrdp/libxup.so.0
+etc/pam.d/xrdp-sesman
+etc/xrdp/km-0407.ini
+etc/xrdp/km-0409.ini
+etc/xrdp/km-040c.ini
+etc/xrdp/km-0410.ini
+etc/xrdp/km-0419.ini
+etc/xrdp/km-041d.ini
+%%JP106%%etc/xrdp/km-0411.ini
+%%JP106%%etc/xrdp/km-e0200411.ini
+%%JP106%%etc/xrdp/km-e0010411.ini
+%%JP106%%etc/xrdp/km-e0210411.ini
+@unexec if cmp -s %D/etc/xrdp/rsakeys.ini.sample %D/etc/xrdp/rsakeys.ini; then rm -f %D/etc/xrdp/rsakeys.ini; fi
+@unexec if cmp -s %D/etc/xrdp/sesman.ini.sample %D/etc/xrdp/sesman.ini; then rm -f %D/etc/xrdp/sesman.ini; fi
+@unexec if cmp -s %D/etc/xrdp/startwm.sh.sample %D/etc/xrdp/startwm.sh; then rm -f %D/etc/xrdp/startwm.sh; fi
+@unexec if cmp -s %D/etc/xrdp/xrdp.ini.sample %D/etc/xrdp/xrdp.ini; then rm -f %D/etc/xrdp/xrdp.ini; fi
+etc/xrdp/rsakeys.ini.sample
+etc/xrdp/sesman.ini.sample
+etc/xrdp/startwm.sh.sample
+etc/xrdp/xrdp.ini.sample
+@comment backup pre-compile-time keypair and generate new one
+@exec if [ -f %D/etc/xrdp/rsakeys.ini ]; then cp -a %D/etc/xrdp/rsakeys.ini %D/etc/xrdp/rsakeys.ini.bak`date +%%Y%%m%%d`; %D/bin/xrdp-keygen xrdp %D/etc/xrdp/rsakeys.ini; fi
+@exec [ -f %D/etc/xrdp/sesman.ini ] || cp -p %D/etc/xrdp/sesman.ini.sample %D/etc/xrdp/sesman.ini
+@exec [ -f %D/etc/xrdp/startwm.sh ] || cp -p %D/etc/xrdp/startwm.sh.sample %D/etc/xrdp/startwm.sh
+@exec [ -f %D/etc/xrdp/xrdp.ini ] || cp -p %D/etc/xrdp/xrdp.ini.sample %D/etc/xrdp/xrdp.ini
+etc/xrdp/xrdp.sh
+sbin/xrdp
+sbin/xrdp-chansrv
+sbin/xrdp-sesman
+sbin/xrdp-sessvc
+share/xrdp/ad24b.bmp
+share/xrdp/ad256.bmp
+share/xrdp/cursor0.cur
+share/xrdp/cursor1.cur
+share/xrdp/sans-10.fv1
+share/xrdp/xrdp24b.bmp
+share/xrdp/xrdp256.bmp
+@dirrm share/xrdp
+@dirrmtry lib/xrdp
+@dirrmtry etc/xrdp