[X2Go-Commits] [x2goserver] 01/01: Provide support for client-side choice of clipboard security. (Fixes: #524).
git-admin at x2go.org
git-admin at x2go.org
Sun Jun 29 00:20:11 CEST 2014
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2goserver.
commit 669b3aabb8f574a2bb30d415fb38b1ccf6837f0d
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Sun Jun 29 00:18:07 2014 +0200
Provide support for client-side choice of clipboard security. (Fixes: #524).
---
debian/changelog | 2 ++
x2goserver/bin/x2goresume-session | 11 ++++++++++-
x2goserver/bin/x2gostartagent | 9 +++++++--
x2goserver/share/x2gofeature.d/x2goserver.features | 1 +
4 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 6945a4e..b3e54ef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -166,6 +166,8 @@ x2goserver (4.0.1.16-0x2go1) UNRELEASED; urgency=low
- Don't die if no session state file is found, as it will break X2Go
completely after upgrading from versions << 4.0.1.16 if sessions
are still running/suspended during package upgrade.
+ - Provide support for client-side choice of clipboard security. (Fixes:
+ #524).
* debian/control, x2goserver.spec:
+ Update versioned D: x2goagent (>= 3.5.0.25). This assures that X2Go
works with poly-instantiated /tmp directories.
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index 84f31ec..925582f 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -33,6 +33,7 @@ X2GO_PACK="$4"
X2GO_KBD_LAYOUT="$5"
X2GO_KBD_TYPE="$6"
X2GO_SET_KBD="$7"
+X2GO_CLIPBOARD="$8"
X2GO_LIB_PATH="$(x2gopath libexec)";
X2GO_AGENT_PID=`$X2GO_LIB_PATH/x2gogetagent "$SESSION_NAME"`
@@ -219,10 +220,12 @@ if [ -n "$test_GSTR" ]; then
RSTR=`echo "$OPTIONS" | awk -F, {'print $13'}`
FSTR=`echo "$OPTIONS" | awk -F, {'print $14'}`
LISTSTR=`echo "$OPTIONS" | awk -F, {'print $16'}`
+ CLIPBOARD=`echo "$OPTIONS" | awk -F, {'print $17'}`
else
RSTR=`echo "$OPTIONS" | awk -F, {'print $14'}`
FSTR=`echo "$OPTIONS" | awk -F, {'print $15'}`
LISTSTR=`echo "$OPTIONS" | awk -F, {'print $17'}`
+ CLIPBOARD=`echo "$OPTIONS" | awk -F, {'print $18'}`
fi
KTSTR=`echo "$KTSTR" | sed "s/\//\\\\\\\\\//"`
@@ -234,13 +237,19 @@ else
keyboard_type="$X2GO_KBD_TYPE"
fi
+if [ -n "$X2GO_CLIPBOARD" ] && [ -z "`echo $X2GO_CLIPBOARD | sed -re 's/(0|none|client|server|both|1)//'`" ]; then
+ clipboard="clipboard=$X2GO_CLIPBOARD"
+fi
+
NEWOPTIONS=`echo "$OPTIONS" | sed -e "s/$LSTR/link=$X2GO_LINK/"\
-e "s/$PSTR/pack=$X2GO_PACK/"\
-e "s/$KTSTR/kbtype=$keyboard_type/"\
-e "s/$GSTR/geometry=$X2GO_GEOMETRY/"\
-e "s/$RSTR/resize=$X2GO_RESIZE/"\
-e "s/$LISTSTR/listen=$GR_PORT/"\
- -e "s/$FSTR/fullscreen=$X2GO_FULLSCREEN/"`
+ -e "s/$FSTR/fullscreen=$X2GO_FULLSCREEN/" \
+ -e "s/$CLIPBOARD/$clipboard/" \
+`
if [ -z "$X2GO_GEOMETRY" ] || [ "$X2GO_GEOMETRY" == "fullscreen" ]; then
NEWOPTIONS=`echo $NEWOPTIONS | sed -e "s/geometry=${X2GO_GEOMETRY},//"`
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 17e436c..ceec1cc 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -61,6 +61,7 @@ X2GO_KBD_TYPE="$1"; shift
X2GO_SET_KBD="$1"; shift
X2GO_STYPE="$1"; shift
X2GO_CMD="$1"; shift
+X2GO_CLIPBOARD="$1"; shift
X2GO_RESIZE=1
X2GO_FULLSCREEN=0
@@ -292,10 +293,14 @@ if [ -n "$X2GO_GEOMETRY" ] && [ "$X2GO_GEOMETRY" != "fullscreen" ]; then
option_geometry="geometry=${X2GO_GEOMETRY},"
fi
+if [ -n "$X2GO_CLIPBOARD" ] && [ -z "`echo $X2GO_CLIPBOARD | sed -re 's/(0|none|client|server|both|1)//'`" ]; then
+ clipboard=",clipboard=$X2GO_CLIPBOARD"
+fi
+
if [ "$X2GO_SET_KBD" == "0" ] || [ "$X2GO_KBD_TYPE" == "auto" ];then
- X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=null/null,${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT},client=linux,menu=0,state=${STATE_FILE}"
+ X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=null/null,${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT}${clipboard},client=linux,menu=0,state=${STATE_FILE},"
else
- X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=${X2GO_KBD_TYPE},${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT},client=linux,menu=0,state=${STATE_FILE}"
+ X2GO_HOST="nx/nx,link=${X2GO_LINK},pack=${X2GO_PACK},limit=0,root=${SESSION_DIR},cache=8M,images=32M,type=${X2GO_TYPE},id=${SESSION_NAME},cookie=$X2GO_COOKIE,errors=${SESSION_LOG},kbtype=${X2GO_KBD_TYPE},${option_geometry}resize=${X2GO_RESIZE},fullscreen=${X2GO_FULLSCREEN},accept=${REMOTE},listen=${GR_PORT}${clipboard},client=linux,menu=0,state=${STATE_FILE},${clipboard}"
fi
diff --git a/x2goserver/share/x2gofeature.d/x2goserver.features b/x2goserver/share/x2gofeature.d/x2goserver.features
index fc769b9..2b75c6d 100755
--- a/x2goserver/share/x2gofeature.d/x2goserver.features
+++ b/x2goserver/share/x2gofeature.d/x2goserver.features
@@ -38,6 +38,7 @@ case "$X2GO_FEATURE" in
"X2GO_SET_KEYBOARD") echo "ok"; exit 0;;
"X2GO_LIST_SHADOWSESSIONS") echo "ok"; exit 0;;
"X2GO_MOUNT_UNCPATHS") echo "ok"; exit 0;;
+ "X2GO_CLIPBOARD_MODES") echo "ok"; exit 0;;
*) exit -1;;
esac
--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
More information about the x2go-commits
mailing list