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 <[email protected]>
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
_______________________________________________
x2go-commits mailing list
[email protected]
https://lists.x2go.org/listinfo/x2go-commits

Reply via email to