[X2go-Commits] x2goserver.git - master (branch) updated: 3.0.99-2-320-gdaf3a93

X2go dev team git-admin at x2go.org
Thu Sep 29 00:27:52 CEST 2011


The branch, master has been updated
       via  daf3a935ab5b71b86d9cb43d2aa5d108a6883297 (commit)
       via  11c950ceffccdf78b2da5db02f33327b52dc1d04 (commit)
      from  da4800f1505c62f65d8d91fbb7ad5d7de21ce2e3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit daf3a935ab5b71b86d9cb43d2aa5d108a6883297
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Sep 29 00:27:45 2011 +0200

    Provide pluggable X2go extension system for main X2go server functions.

commit 11c950ceffccdf78b2da5db02f33327b52dc1d04
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Wed Sep 28 23:09:27 2011 +0200

    Resume/suspend x2godesktopsharing during x2goresume-session, x2gosuspend-session.

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                                   |    4 ++
 debian/x2goserver-extensions.install               |    3 +-
 x2goserver-extensions/Makefile                     |   32 +++++++++++++++++--
 .../bin/x2goserver-run-extensions                  |   19 ++++++-----
 .../x2gofeature.d/x2goserver-extensions.features   |    1 +
 x2goserver/bin/x2goresume-session                  |   15 +++++++++
 x2goserver/bin/x2goruncommand                      |   11 +++++++
 x2goserver/bin/x2gostartagent                      |   17 +++++++++-
 x2goserver/bin/x2gosuspend-session                 |   15 +++++++++
 x2goserver/bin/x2goterminate-session               |   13 +++++++-
 10 files changed, 113 insertions(+), 17 deletions(-)
 copy x2goserver-compat/share/x2gofeature.d/x2goserver-compat.features => x2goserver-extensions/bin/x2goserver-run-extensions (79%)
 create mode 100644 x2goserver-extensions/lib/extensions/fail-resume.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/fail-runcommand.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/fail-start.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/fail-suspend.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/fail-terminate.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/post-resume.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/post-runcommand.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/post-start.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/post-suspend.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/post-terminate.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/pre-resume.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/pre-runcommand.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/pre-start.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/pre-suspend.d/.placeholder
 create mode 100644 x2goserver-extensions/lib/extensions/pre-terminate.d/.placeholder

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 72acfab..a9cbbf2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -99,6 +99,10 @@ x2goserver (3.0.99.6-0~x2go1) UNRELEASED; urgency=low
     x2gocleansessions.
   * Terminate x2godesktopsharing for current session on x2goterminate-session
     or when x2goruncommand is about to exit.
+  * Resume/suspend x2godesktopsharing during x2goresume-session,
+    x2gosuspend-session.
+  * Provide pluggable X2go extension system for main X2go server
+    functions.
 
   [ Ivan Kabaivanov ]
   * Makefile fix around man page installation in x2goserver-compat package.
diff --git a/debian/x2goserver-extensions.install b/debian/x2goserver-extensions.install
index 4983aa8..30d64d3 100644
--- a/debian/x2goserver-extensions.install
+++ b/debian/x2goserver-extensions.install
@@ -1,3 +1,4 @@
 x2goserver-extensions/bin/x2go*      /usr/bin/
 x2goserver-extensions/VERSION.x2goserver-extensions      /usr/share/x2go/versions/
-x2goserver-extensions/share/x2gofeature.d/*              /usr/share/x2go/x2gofeature.d/
\ No newline at end of file
+x2goserver-extensions/share/x2gofeature.d/*              /usr/share/x2go/x2gofeature.d/
+x2goserver-extensions/lib/*                              /usr/lib/x2go/
\ No newline at end of file
diff --git a/x2goserver-extensions/Makefile b/x2goserver-extensions/Makefile
index 591a598..35f9c99 100755
--- a/x2goserver-extensions/Makefile
+++ b/x2goserver-extensions/Makefile
@@ -15,7 +15,7 @@ PREFIX=/usr/local
 ETCDIR=/etc/x2go
 BINDIR=$(PREFIX)/bin
 #SBINDIR=$(PREFIX)/sbin
-#LIBDIR=$(PREFIX)/lib/x2go
+LIBDIR=$(PREFIX)/lib/x2go
 MANDIR=$(PREFIX)/share/man
 SHAREDIR=$(PREFIX)/share/x2go
 
@@ -53,11 +53,35 @@ install: install_scripts install_config install_man install_version
 install_scripts:
 	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
 #	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
-#	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/pre-start.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/post-start.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/fail-start.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/pre-resume.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/post-resume.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/fail-resume.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/pre-suspend.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/post-suspend.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/fail-suspend.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/pre-terminate.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/post-terminate.d
+	$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)/fail-terminate.d
 	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)
+	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d
 	$(INSTALL_PROGRAM) bin/*                $(DESTDIR)$(BINDIR)/
 #	$(INSTALL_PROGRAM) sbin/*               $(DESTDIR)$(SBINDIR)/
-#	$(INSTALL_FILE) lib/*                   $(DESTDIR)$(LIBDIR)/
+	$(INSTALL_FILE) lib/extensions/pre-start.d/* $(DESTDIR)$(LIBDIR)/extensions/pre-start.d/
+	$(INSTALL_FILE) lib/extensions/post-start.d/* $(DESTDIR)$(LIBDIR)/extensions/post-start.d/
+	$(INSTALL_FILE) lib/extensions/fail-start.d/* $(DESTDIR)$(LIBDIR)/extensions/fail-start.d/
+	$(INSTALL_FILE) lib/extensions/pre-resume.d/* $(DESTDIR)$(LIBDIR)/extensions/pre-resume.d/
+	$(INSTALL_FILE) lib/extensions/post-resume.d/* $(DESTDIR)$(LIBDIR)/extensions/post-resume.d/
+	$(INSTALL_FILE) lib/extensions/post-fail.d/* $(DESTDIR)$(LIBDIR)/extensions/fail-resume.d/
+	$(INSTALL_FILE) lib/extensions/pre-suspend.d/* $(DESTDIR)$(LIBDIR)/extensions/pre-suspend.d/
+	$(INSTALL_FILE) lib/extensions/post-suspend.d/* $(DESTDIR)$(LIBDIR)/extensions/post-suspend.d/
+	$(INSTALL_FILE) lib/extensions/fail-suspend.d/* $(DESTDIR)$(LIBDIR)/extensions/fail-suspend.d/
+	$(INSTALL_FILE) lib/extensions/pre-terminate.d/* $(DESTDIR)$(LIBDIR)/extensions/pre-terminate.d/
+	$(INSTALL_FILE) lib/extensions/post-terminate.d/* $(DESTDIR)$(LIBDIR)/extensions/post-terminate.d/
+	$(INSTALL_FILE) lib/extensions/fail-terminate.d/* $(DESTDIR)$(LIBDIR)/extensions/fail-terminate.d/
 	$(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/
 
 install_config:
@@ -84,7 +108,7 @@ uninstall_scripts:
 	for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(BINDIR)/$$file; done
 #	for file in $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SBINDIR)/$$file; done
 #	for file in $(LIB_FILES); do $(RM_FILE) $(DESTDIR)$(LIBDIR)/$$file; done
-#	$(RM_DIR) $(DESTDIR)$(LIBDIR) || true
+	$(RM_DIR) $(DESTDIR)$(LIBDIR)/extensions/ || true
 	for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done
 
 uninstall_config:
diff --git a/x2goserver-compat/share/x2gofeature.d/x2goserver-compat.features b/x2goserver-extensions/bin/x2goserver-run-extensions
similarity index 79%
copy from x2goserver-compat/share/x2gofeature.d/x2goserver-compat.features
copy to x2goserver-extensions/bin/x2goserver-run-extensions
index 030aa6e..3b807e1 100755
--- a/x2goserver-compat/share/x2gofeature.d/x2goserver-compat.features
+++ b/x2goserver-extensions/bin/x2goserver-run-extensions
@@ -19,18 +19,19 @@
 #
 # Copyright (C) 2011  Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
 # Copyright (C) 2011  Heinz-Markus Graesing <heinz-m.graesing at obviously-nice.de>
+# Copyright (C) 2011  Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+set -e
 
 X2GO_LIB_PATH=`echo -n \$(x2gobasepath)/lib/x2go`
 
 $X2GO_LIB_PATH/x2gosyslog "$0" "info" "$(basename $0) called with options: $@"
 
-X2GO_FEATURE=$1
-
-# check for X2go server core features
-case "$X2GO_FEATURE" in
-
-    "X2GO_COMPAT_SCRIPTS") echo "ok"; exit 0;;
-    *) exit -1;;
-
-esac
+X2GO_SESSION=$1
+X2GO_MODALITY=$2
 
+# scan extensions and execute them
+ls $X2GO_LIB_PATH/extensions/$X2GO_MODALITY.d/* | sort | while read x2go_extension; do
+	$x2go_extension $X2GO_SESSION
+done
+exit 0
\ No newline at end of file
diff --git a/x2goserver-extensions/lib/extensions/fail-resume.d/.placeholder b/x2goserver-extensions/lib/extensions/fail-resume.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/fail-runcommand.d/.placeholder b/x2goserver-extensions/lib/extensions/fail-runcommand.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/fail-start.d/.placeholder b/x2goserver-extensions/lib/extensions/fail-start.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/fail-suspend.d/.placeholder b/x2goserver-extensions/lib/extensions/fail-suspend.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/fail-terminate.d/.placeholder b/x2goserver-extensions/lib/extensions/fail-terminate.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/post-resume.d/.placeholder b/x2goserver-extensions/lib/extensions/post-resume.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/post-runcommand.d/.placeholder b/x2goserver-extensions/lib/extensions/post-runcommand.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/post-start.d/.placeholder b/x2goserver-extensions/lib/extensions/post-start.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/post-suspend.d/.placeholder b/x2goserver-extensions/lib/extensions/post-suspend.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/post-terminate.d/.placeholder b/x2goserver-extensions/lib/extensions/post-terminate.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/pre-resume.d/.placeholder b/x2goserver-extensions/lib/extensions/pre-resume.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/pre-runcommand.d/.placeholder b/x2goserver-extensions/lib/extensions/pre-runcommand.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/pre-start.d/.placeholder b/x2goserver-extensions/lib/extensions/pre-start.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/pre-suspend.d/.placeholder b/x2goserver-extensions/lib/extensions/pre-suspend.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/lib/extensions/pre-terminate.d/.placeholder b/x2goserver-extensions/lib/extensions/pre-terminate.d/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features b/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features
index b2e384f..eb4e740 100755
--- a/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features
+++ b/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features
@@ -31,6 +31,7 @@ case "$X2GO_FEATURE" in
 
     "X2GO_SET_KEYBOARD") echo "ok"; exit 0;;
     "X2GO_LIST_MOUNTS") echo "ok"; exit 0;;
+    "X2GO_RUN_EXTENSIONS") echo "ok"; exit 0;;
     *) exit -1;;
 
 esac
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index 5fa453a..03adf97 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -83,8 +83,18 @@ echo "$NEWOPTIONS" >${SESSION_DIR}/options
 
 $X2GO_LIB_PATH/x2goresume  $X2GO_CLIENT $SESSION_NAME  > /dev/null
 
+# run x2goserver-extensions for pre-resume
+x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-resume
+
 kill -HUP $X2GO_AGENT_PID &>/dev/null && {
 	$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "client $X2GO_CLIENT has successfully resumed session with ID $SESSION_NAME"
+
+	# resume x2godesktopsharing, if it has been in use before the session got suspended
+	x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2godesktopsharing_resume $SESSION_NAME
+
+	# run x2goserver-extensions for post-resume
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-resume
+
 } || {
 	err_msg="ERROR: failed to resume session with ID $SESSION_NAME"
 	echo "$err_msg" 1>&2
@@ -93,4 +103,9 @@ kill -HUP $X2GO_AGENT_PID &>/dev/null && {
 	# If we reach here it means that the x2goagent process of the session has vanisshed
 	# If this happens than we mark the session as finished...
 	$X2GO_LIB_PATH/x2gochangestatus 'F' $SESSION_NAME  > /dev/null
+
+	# run x2goserver-extensions for fail-resume
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-resume
+
 }
+
diff --git a/x2goserver/bin/x2goruncommand b/x2goserver/bin/x2goruncommand
index b14920f..136b770 100755
--- a/x2goserver/bin/x2goruncommand
+++ b/x2goserver/bin/x2goruncommand
@@ -109,6 +109,9 @@ then
 	IMEXIT="true"
 fi
 
+# run x2goserver-extensions for pre-runcommand
+x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-runcommand
+
 sucessful_run=false
 if [ "$EXEC" != "" ] && [ -x $EXEC ]; then
 	$X2GO_LIB_PATH/x2gosyslog "$0" "debug" "running command $EXEC"
@@ -122,9 +125,17 @@ if [ "$EXEC" != "" ] && [ -x $EXEC ]; then
 	fi
 	# if we reach here the possibility of a successful command execution is rather high
 	successful_run=true
+
+	# run x2goserver-extensions for post-runcommand
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-runcommand
+
 else
 	$X2GO_LIB_PATH/x2gosyslog "$0" "err" "ERROR: command $EXEC failed to execute"
 	echo "X2GORUNCOMMAND ERR NOEXEC:$cmd" > $MESSAGE_FILE
+
+	# run x2goserver-extensions for fail-runcommand
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-runcommand
+
 fi
 
 # stop x2godesktopsharing process gracefully...
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 2759865..00c2a58 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -224,6 +224,9 @@ else
 	XDMCPOPT="-query $X2GOXDMCP"
 fi
 
+# run x2goserver-extensions for pre-start
+x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-start
+
 if  [ "$X2GO_STYPE" == "S" ]; then
 	LD_LIBRARY_PATH=$X2GO_LIB x2goagent $X2GODPIOPTION_  -$SESSION_TYPE -auth ~/.Xauthority -S -shadow $SHADOW_DESKTOP -shadowmode $SHADOW_MODE -geometry ${X2GO_GEOMETRY} -name "X2GO-${SESSION_NAME}"  ${NX_AGENT} 2>${SESSION_DIR}/session.log &
 else
@@ -232,10 +235,20 @@ fi
 
 X2GO_AGENT_PID=$!
 X2GO_AGENT_RETVAL=$?
-test $X2GO_AGENT_RETVAL && \
-	$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "successfully started X2go agent session with ID $SESSION_NAME" || \
+test $X2GO_AGENT_RETVAL && {
+	$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "successfully started X2go agent session with ID $SESSION_NAME"
+
+	# run x2goserver-extensions for post-start
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-start
+
+} || {
 	$X2GO_LIB_PATH/x2gosyslog "$0" "err" "ERROR: failed to start X2go agent session with ID $SESSION_NAME"
 
+	# run x2goserver-extensions for fail-start
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-start
+
+}
+
 X2GO_SND_PORT=1024
 
 $X2GO_LIB_PATH/x2gocreatesession $X2GO_COOKIE $X2GO_AGENT_PID $X2GO_CLIENT $GR_PORT $SOUND_PORT $FS_PORT $SESSION_NAME > /dev/null
diff --git a/x2goserver/bin/x2gosuspend-session b/x2goserver/bin/x2gosuspend-session
index 973edc9..ddb86d6 100755
--- a/x2goserver/bin/x2gosuspend-session
+++ b/x2goserver/bin/x2gosuspend-session
@@ -38,8 +38,18 @@ killall -HUP knotify &>/dev/null
 
 $X2GO_LIB_PATH/x2gochangestatus 'S' $SESSION_NAME  > /dev/null
 
+# terminate x2godesktopsharing instance and remember that it was running...
+x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2godesktopsharing-suspend $SESSION_NAME
+
+# run x2goserver-extensions for pre-suspend
+x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-suspend
+
 kill -HUP $X2GO_AGENT_PID &>/dev/null && {
 	$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "session with ID $SESSION_NAME has been suspended successfully"
+
+	# run x2goserver-extensions for post-suspend
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-suspend
+
 } || {
 	err_msg="ERROR: failed to suspend session with ID $SESSION_NAME"
 	echo "$err_msg" 1>&2
@@ -48,7 +58,12 @@ kill -HUP $X2GO_AGENT_PID &>/dev/null && {
 	# If we reach here it means that the x2goagent process of the session has vanisshed
 	# If this happens than we mark the session as finished...
 	$X2GO_LIB_PATH/x2gochangestatus 'F' $SESSION_NAME  > /dev/null
+
+	# run x2goserver-extensions for fail-suspend
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-suspend
+
 }
 
 export HOSTNAME 
 x2goumount-session $SESSION_NAME
+
diff --git a/x2goserver/bin/x2goterminate-session b/x2goserver/bin/x2goterminate-session
index 50357f3..72b4912 100755
--- a/x2goserver/bin/x2goterminate-session
+++ b/x2goserver/bin/x2goterminate-session
@@ -36,10 +36,17 @@ X2GO_AGENT_PID=`echo "$X2GO_AGENT_PID"| awk {'print $1'}`
 $X2GO_LIB_PATH/x2gochangestatus 'F' $SESSION_NAME  > /dev/null
 
 # stop x2godesktopsharing process gracefully...
-x2gofeature X2GO_DESKTOPSHARING >/dev/null && x2godesktopsharing-terminate $SESSION_NAME
+x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2godesktopsharing-terminate $SESSION_NAME
+
+# run x2goserver-extensions for pre-terminate
+x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-terminate
 
 kill -TERM $X2GO_AGENT_PID &>/dev/null && {
 	$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "session with ID $SESSION_NAME has been terminated successfully"
+
+	# run x2goserver-extensions for post-terminate
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-terminate
+
 } || {
 	err_msg="ERROR: failed to terminate session with ID $SESSION_NAME"
 
@@ -47,6 +54,10 @@ kill -TERM $X2GO_AGENT_PID &>/dev/null && {
 	#echo "$err_msg" 1>&2
 
 	$X2GO_LIB_PATH/x2gosyslog "$0" "err" "$err_msg"
+
+	# run x2goserver-extensions for fail-terminate
+	x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-terminate
+
 }
 
 export HOSTNAME


hooks/post-receive
-- 
x2goserver.git (X2go Server)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goserver.git" (X2go Server).




More information about the x2go-commits mailing list