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@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