[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:23:26 CET 2017


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

x2go pushed a commit to branch release/4.0.1.x
in repository x2goserver.

commit 80d2f2d9068f4bcdfeb98cf675a8505301bb7130
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.
---
 debian/changelog                  |  2 ++
 x2goserver/bin/x2goresume-session |  9 +++++++++
 x2goserver/bin/x2gostartagent     | 19 ++++++++++++++++++-
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index b707326..533bd80 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -54,6 +54,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 8ac0fa6..292b09c 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -207,6 +207,15 @@ while [ "$GR_PORT" == "" ] || [ "$SOUND_PORT" == "" ] || [ "$FS_PORT" == "" ]; d
 		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 96783e7..a6062b4 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -333,7 +333,15 @@ while [ "$OUTPUT"  != "inserted" ]; do
 		SESSION_NAME=`echo "$SESSION_NAME" | perl -pe  "s/[^a-zA-Z0-9\.\_\-\@]//g"`
 
 		OUTPUT=`$X2GO_LIB_PATH/x2goinsertsession "$X2GO_PORT" "${current_host_name}" "$SESSION_NAME"`
-	fi 
+		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
 done
 
 
@@ -356,6 +364,15 @@ while [ "$GR_PORT" == "" ] || [ "$SOUND_PORT" == "" ] || [ "$FS_PORT" == "" ]; d
 		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