This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goserver. commit e4aa0850c984cab1c003f319c728ee33acec99d6 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Feb 5 10:21:42 2015 +0100 Make it possible to change the state of shadow sessions. --- X2Go/Server/DB/SQLite3.pm | 9 ++++++++- debian/changelog | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/X2Go/Server/DB/SQLite3.pm b/X2Go/Server/DB/SQLite3.pm index 5e73e56..2acb0b6 100644 --- a/X2Go/Server/DB/SQLite3.pm +++ b/X2Go/Server/DB/SQLite3.pm @@ -395,9 +395,16 @@ sub db_changestatus my $sid=shift or die "argument \"session_id\" missed"; $sid = sanitizer('x2gosid', $sid) or die "argument \"session_id\" malformed"; check_user($sid); + + # we need to be able to change the state of normal sessions ($realuser == $effective_user) + # _and_ desktop sharing session ($realuser != $effective_user). Thus, extracting the effective + # username from the session ID... + my $effective_user = $sid; + $effective_user =~ s/\-[0-9]+\-[0-9]{10}_.*//; + my $sth=$dbh->prepare("update sessions set last_time=datetime('now','localtime'), status=? where session_id = ? and uname=?"); - $sth->execute($status, $sid, $realuser); + $sth->execute($status, $sid, $effective_user); if ($sth->err()) { syslog('error', "changestatus (SQLite3 session db backend) failed with exitcode: $sth->err()"); diff --git a/debian/changelog b/debian/changelog index 3268e3c..6c6582a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -63,6 +63,7 @@ x2goserver (4.1.0.0-0x2go1.1) UNRELEASED; urgency=low parentheses. - Make sure to return "1" in X2Go::Server::DB Perl functions that don't return anything by default. + - Make it possible to change the state of shadow sessions. * debian/control: + Package X2Go::Log in separate package: libx2go-log-perl. + Package X2Go::Server::DB in separate package: libx2go-server-db-perl. -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git