[X2Go-Commits] [x2goserver] 01/01: Move session file to /tmp/.x2go-$USER. Remove nxcleanup script. Remove unused dependencies.

git-admin at x2go.org git-admin at x2go.org
Fri Jun 27 12:30:31 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 6e22bbd295fd2b40d1f0f973eef73af76e928c8d
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Fri Jun 27 12:30:17 2014 +0200

    Move session file to /tmp/.x2go-$USER. Remove nxcleanup script. Remove unused dependencies.
---
 X2Go/Server/Agent/NX.pm              |    3 +--
 X2Go/Utils.pm                        |   15 +------------
 debian/changelog                     |    4 +++-
 debian/control                       |    1 -
 x2goserver/bin/x2goruncommand        |    2 +-
 x2goserver/bin/x2gostartagent        |   27 ++++++++++++----------
 x2goserver/bin/x2goterminate-session |    3 ---
 x2goserver/lib/x2gonxcleanup         |   41 ----------------------------------
 8 files changed, 21 insertions(+), 75 deletions(-)

diff --git a/X2Go/Server/Agent/NX.pm b/X2Go/Server/Agent/NX.pm
index 7242474..b05f9e0 100644
--- a/X2Go/Server/Agent/NX.pm
+++ b/X2Go/Server/Agent/NX.pm
@@ -33,7 +33,6 @@ X2Go::Server::Agent::NX Perl package for X2Go::Server.
 use strict;
 use POSIX;
 use Sys::Syslog qw( :standard :macros );
-use File::HomeDir;
 
 use X2Go::Log qw( loglevel );
 
@@ -77,7 +76,7 @@ sub get_agent_state
 	my $sess=@_[1];
 	my $user=@_[2];
 	my $state;
-	my $stateFile = File::HomeDir->users_home($user) . "/.x2go/C-".$sess."/state";
+	my $stateFile = "/tmp/.x2go-".$user."/C-".$sess."/state";
 	if (! -e $stateFile )
 	{
 		die "state file not exists: $stateFile\n";
diff --git a/X2Go/Utils.pm b/X2Go/Utils.pm
index d5eb08d..41baf8b 100644
--- a/X2Go/Utils.pm
+++ b/X2Go/Utils.pm
@@ -35,14 +35,13 @@ X2Go::Utils Perl package.
 =cut
 
 use strict;
-use IO::Socket;
 
 use base 'Exporter';
 
 our @EXPORT = ( 'load_module', 'is_true',
                 'source_environment', 'clups', 'sanitizer',
                 'system_capture_merged_output', 'system_capture_stdout_output',
-                'check_x2go_sessionid', 'test_socket_state', );
+                'check_x2go_sessionid');
 
 use Sys::Syslog qw( :standard :macros );
 use Capture::Tiny qw ( :all );
@@ -181,16 +180,4 @@ sub check_x2go_sessionid {
 	}
 }
 
-sub test_socket_state {
-	my $portNum = sanitizer("num",$_[0]) or die "Port number not a number '$_[0]'?";
-	my $socket = IO::Socket::INET->new( PeerAddr => 'localhost', PeerPort => $portNum, Proto    => 'tcp');
-	if (defined $socket) {
-		print $socket "\n";
-		$socket->close;
-		return 1;
-	} else {
-		return 0;
-	}
-}
-
 1;
diff --git a/debian/changelog b/debian/changelog
index 5a0fc35..5ac6084 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -116,8 +116,10 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low
 
   [ Oleksandr Shneyder ]
   * x2gostartagent, x2golistsession, x2gosuspend-session and x2goresume-session
-    getting agent state from ~/.x2go/C-$SID/state. This should help to avoid 
+    getting agent state from ~/.x2go/C-$SID/state. This should help to avoid
     session damage. (Fixes: #302).
+    - Move session file to /tmp/.x2go-$USER. Remove nxcleanup script. Remove
+      unused dependencies.
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Fri, 09 May 2014 13:06:24 +0200
 
diff --git a/debian/control b/debian/control
index 5976f26..373738e 100644
--- a/debian/control
+++ b/debian/control
@@ -21,7 +21,6 @@ Depends:
  ${misc:Depends},
  libfile-basedir-perl,
  libfile-readbackwards-perl,
- libfile-homedir-perl,
  libtry-tiny-perl,
  libx2go-server-perl (>= ${source:Version}), libx2go-server-perl (<< ${source:Version}.1~),
  x2goagent (>= 2:3.5.0.25-0~),
diff --git a/x2goserver/bin/x2goruncommand b/x2goserver/bin/x2goruncommand
index 8339166..3e8dfab 100755
--- a/x2goserver/bin/x2goruncommand
+++ b/x2goserver/bin/x2goruncommand
@@ -306,5 +306,5 @@ test -r /etc/x2go/x2go_logout && . /etc/x2go/x2go_logout
 
 # clean up session dir if not in debug mode and if session has been successful
 if [ "$($X2GO_LIB_PATH/x2gologlevel)" != "7" ] && [ "x$successful_run" = "xtrue" ]; then
-	(sleep 10; rm -Rf "${HOME}/.x2go/C-${X2GO_SESSION}"; rm -f "/tmp/.x2go-${USER}/session-C-${X2GO_SESSION}.log"; rmdir --ignore-fail-on-non-empty "/tmp/.x2go-${USER}"; )&
+	(sleep 10; rm -f "${HOME}/.x2go/C-${X2GO_SESSION}"; rm -Rf "/tmp/.x2go-${USER}/C-${X2GO_SESSION}"; rmdir --ignore-fail-on-non-empty "/tmp/.x2go-${USER}"; )&
 fi
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 3f82c7f..732df7d 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -247,31 +247,34 @@ if [ "$X2GO_STYPE" == "S" ]; then
 	X2GO_GEOMETRY=`echo "$X2GO_GEOMETRY" | sed  -e  "s/-geometry//"`
 fi
 
-SESSION_DIR="${X2GO_ROOT}/C-${SESSION_NAME}"
+if [ ! -d "$X2GO_ROOT" ]; then
+	mkdir "$X2GO_ROOT"
+fi
+
+X2GO_TMP_ROOT="/tmp/.x2go-${USER}"
+if [ ! -d "$X2GO__TMP_ROOT" ]; then
+	mkdir "$X2GO_TMP_ROOT"
+fi
+
+SESSION_DIR="${X2GO_TMP_ROOT}/C-${SESSION_NAME}"
 if [ "x$X2GO_TELEKINESIS_ENABLED" != "x0" ]; then
 	mkdir -p "${SESSION_DIR}/telekinesis/remote/"
 fi
 
-STATE_FILE="${X2GO_ROOT}/C-${SESSION_NAME}/state"
+STATE_FILE="${SESSION_DIR}/state"
 
 # do not use $TMP or $TEMP here, the session.log file location has to be accessible by root
-SESSION_LOG="/tmp/.x2go-${USER}/session-C-${SESSION_NAME}.log"
-mkdir -p $(dirname "${SESSION_LOG}")
-chmod -f 0700 $(dirname "${SESSION_LOG}")
+SESSION_LOG="${SESSION_DIR}/session.log"
+mkdir -p "${SESSION_DIR}"
+chmod -f 0700 "${SESSION_DIR}"
 touch "${SESSION_LOG}"
 chmod -f 0600 "${SESSION_LOG}"
 
-if [ ! -d "$X2GO_ROOT" ]; then
-	mkdir "$X2GO_ROOT"
-fi
 
 if [ ! -d "$X2GO_ROOT/ssh" ]; then
 	mkdir "$X2GO_ROOT/ssh"
 fi
 
-if [ ! -d "$SESSION_DIR" ]; then
-	mkdir "$SESSION_DIR"
-fi
 
 X2GO_COOKIE=`mcookie`
 
@@ -337,7 +340,7 @@ else
 	NX_TEMP=/tmp x2goagent $X2GO_NXAGENT_OPTIONS $NOLISTOPT $X2GODPIOPTION_ $XDMCPOPT -$SESSION_TYPE $NOEXITPARAM -auth "$XAUTHORITY" $agent_geometry -name "${SESSION_WINDOW_TITLE}"  "${NX_AGENT}" 2>"${SESSION_LOG}" &
 fi
 
-ln -s "${SESSION_LOG}" "${SESSION_DIR}/session.log" 
+ln -s "${SESSION_DIR}" "${X2GO_ROOT}/C-${SESSION_NAME}"
 
 X2GO_AGENT_PID=$!
 X2GO_AGENT_RETVAL=$?
diff --git a/x2goserver/bin/x2goterminate-session b/x2goserver/bin/x2goterminate-session
index 8455c2a..64d44f8 100755
--- a/x2goserver/bin/x2goterminate-session
+++ b/x2goserver/bin/x2goterminate-session
@@ -54,9 +54,6 @@ if kill -TERM $X2GO_AGENT_PID &>/dev/null; then
 	# run x2goserver-extensions for post-terminate
 	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions "$SESSION_NAME" post-terminate || true
 
-	# this makes sure that the socket on localhost blocked by NX agent gets released immediately
-	$X2GO_LIB_PATH/x2gonxcleanup
-
 else
 	err_msg="ERROR: failed to terminate session with ID $SESSION_NAME"
 
diff --git a/x2goserver/lib/x2gonxcleanup b/x2goserver/lib/x2gonxcleanup
deleted file mode 100755
index 81ce580..0000000
--- a/x2goserver/lib/x2gonxcleanup
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/perl
-
-# Copyright (C) 2014 X2Go Project - http://wiki.x2go.org
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the
-# Free Software Foundation, Inc.,
-# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# Copyright (C) 2014 Guangzhou Nianguan Electronics Technology Co.Ltd. <opensource at gznianguan.com>
-# Copyright (C) 2014 Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
-#
-
-use strict;
-use X2Go::Server qw(get_session_info);
-use X2Go::Utils qw(check_x2go_sessionid test_socket_state);
-
-
-my $doRetryCnt = 5;
-my $X2GoSID = check_x2go_sessionid;
-
-my @X2GoSesINFO = get_session_info($X2GoSID);
-if (@X2GoSesINFO[1] eq $X2GoSID) {
-	while ($doRetryCnt > 0) {
-		$doRetryCnt--;
-		if (test_socket_state($X2GoSesINFO[8])) {
-			exit;
-		} 
-		sleep 1;
-	}
-}

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list