[X2Go-Commits] [x2goserver] 06/08: x2goserver/bin/x2goresume-session: catch errors while inserting values into database more gracefully. Fixes: #1230.

git-admin at x2go.org git-admin at x2go.org
Wed Nov 1 10:24:08 CET 2017


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goserver.

commit 76b8ce8dfb7595b76384e1147c4ae6cabc193ee8
Author: Mihai Moldovan <ionic at ionic.de>
Date:   Wed Nov 1 09:34:53 2017 +0100

    x2goserver/bin/x2goresume-session: catch errors while inserting values into database more gracefully. Fixes: #1230.
    
    Cherry-picked from release/4.0.1.x branch.
---
 debian/changelog                  |  2 ++
 x2goserver/bin/x2goresume-session |  9 +++++++++
 x2goserver/bin/x2gostartagent     | 29 ++++++++++++++++++++++++++++-
 3 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 4a2cdbb..28f4447 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -300,6 +300,8 @@ x2goserver (4.0.1.21-0x2go1) UNRELEASED; urgency=medium
       from a Debian patch.
     - x2goserver/bin/x2goresume-session: backport HOSTNAME changes from
       x2goserver/bin/x2gostartagent.
+    - x2goserver/bin/x2go{resume-session,startagent}: catch errors while
+      inserting values into database more gracefully. Fixes: #1230.
   * x2goserver.spec:
     - Add mandatory perl-generators Build-Requires as per
       https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index b8845f1..5e350f2 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -235,6 +235,15 @@ while [ "$GR_PORT" == "" ] || [ "$SOUND_PORT" == "" ] || [ "$FS_PORT" == "" ] ||
 		SERV=`grep $SSH_PORT /etc/services`
 		if [ "$SERV" == "" ]; then
 			OUTPUT="$("${X2GO_LIB_PATH}/x2goinsertport" "${current_host_name}" "$SESSION_NAME" "$SSH_PORT")"
+
+			if [[ "${?}" -ne "0" ]]; then
+				typeset msg="Unable to insert new port into database; parameters: hostname (${current_host_name}), session name (${SESSION_NAME}) and port (${SSH_PORT})."
+				"${X2GO_LIB_PATH}/x2gosyslog" "${0}" "err" "${msg}"
+
+				# Make x2goclient fail.
+				echo "${msg}" >&2
+				exit 1
+			fi
 		fi
 	done
 	if [ "$GR_PORT" == "" ]; then
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index f005cd8..794853d 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -341,11 +341,29 @@ while [ "$OUTPUT"  != "inserted" ]; do
 		if [ -n "$SHADREQ_USER" ]; then
 			$X2GO_LIB_PATH/x2gosyslog "$0" "debug" "initializing new shadow session with ID $SESSION_NAME"
 			OUTPUT=`$X2GO_LIB_PATH/x2goinsertshadowsession "$X2GO_PORT" "${current_host_name}" "$SESSION_NAME" "$SHADREQ_USER"`
+
+			if [[ "${?}" -ne "0" ]]; then
+				typeset msg="Unable to insert new session into database; parameters: port (${X2GO_PORT}), hostname (${current_host_name}), session name (${SESSION_NAME}) and user requesting desktop sharing permissions (${SHADREQ_USER})."
+				"${X2GO_LIB_PATH}/x2gosyslog" "${0}" "err" "${msg}"
+
+				# Make x2goclient fail.
+				echo "${msg}" >&2
+				exit 1
+			fi
 		else
 			$X2GO_LIB_PATH/x2gosyslog "$0" "debug" "initializing new session with ID $SESSION_NAME"
 			OUTPUT=`$X2GO_LIB_PATH/x2goinsertsession "$X2GO_PORT" "${current_host_name}" "$SESSION_NAME"`
+
+			if [[ "${?}" -ne "0" ]]; then
+				typeset msg="Unable to insert new session into database; parameters: port (${X2GO_PORT}), hostname (${current_host_name}) and session name (${SESSION_NAME})."
+				"${X2GO_LIB_PATH}/x2gosyslog" "${0}" "err" "${msg}"
+
+				# Make x2goclient fail.
+				echo "${msg}" >&2
+				exit 1
+			fi
 		fi
-	fi 
+	fi
 done
 
 if [ "x$X2GO_TELEKINESIS_ENABLED" == "x0" ] || [ "x$X2GO_STYPE" = "xS" ] || ! type -p telekinesis-server 1>/dev/null; then
@@ -373,6 +391,15 @@ while [ "$GR_PORT" == "" ] || [ "$SOUND_PORT" == "" ] || [ "$FS_PORT" == "" ] ||
 		SERV=`grep $SSH_PORT /etc/services`
 		if [ "$SERV" == "" ]; then
 			OUTPUT=`$X2GO_LIB_PATH/x2goinsertport "${current_host_name}" "$SESSION_NAME" "$SSH_PORT"`
+
+			if [[ "${?}" -ne "0" ]]; then
+				typeset msg="Unable to insert new port into database; parameters: hostname (${current_host_name}), session name (${SESSION_NAME}) and port (${SSH_PORT})."
+				"${X2GO_LIB_PATH}/x2gosyslog" "${0}" "err" "${msg}"
+
+				# Make x2goclient fail.
+				echo "${msg}" >&2
+				exit 1
+			fi
 		fi
 	done
 

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


More information about the x2go-commits mailing list