This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch release/4.0.1.x in repository x2goserver. from a571b5f x2goserver/bin/x2gosessionlimit: don't iterate over the whole groups file. new 492f478 x2goserver/sbin/x2godbadmin: remove trailing whitespace. new 35e9b98 x2goserver/sbin/x2godbadmin: revoke all PRIVILEGES before trying to delete a user on postgres. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 6 ++++ x2goserver/sbin/x2godbadmin | 68 ++++++++++++++++++++++++++----------------- 2 files changed, 48 insertions(+), 26 deletions(-) -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
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 492f4788d1e5f8453b0203fe2bd5992b6d0be92b Author: Henning Heinold <h.heinold@tarent.de> Date: Fri Jun 19 23:00:07 2015 +0200 x2goserver/sbin/x2godbadmin: remove trailing whitespace. --- debian/changelog | 4 ++++ x2goserver/sbin/x2godbadmin | 52 +++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1f0a63a..b7ab2bb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -33,6 +33,10 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low * debian/control: - Add new dependency on bash. + [ Henning Heinold ] + * New upstream version (4.0.1.20): + - x2goserver/sbin/x2godbadmin: remove trailing whitespace. + -- X2Go Release Manager <git-admin@x2go.org> Tue, 24 Feb 2015 22:11:49 +0100 x2goserver (4.0.1.19-0x2go2) UNRELEASED; urgency=low diff --git a/x2goserver/sbin/x2godbadmin b/x2goserver/sbin/x2godbadmin index 400f36f..46f7656 100755 --- a/x2goserver/sbin/x2godbadmin +++ b/x2goserver/sbin/x2godbadmin @@ -24,7 +24,7 @@ use strict; use Sys::Syslog qw( :standard :macros ); use File::Path; use Getopt::Long; -use Config::Simple; +use Config::Simple; use DBI; use lib `x2gopath lib`; @@ -50,10 +50,10 @@ my $addgroup=''; my $rmgroup=''; my $listusers=''; -GetOptions('listusers' => \$listusers, 'createdb' => \$createdb, 'help' => \$help, 'adduser=s' => \$adduser, +GetOptions('listusers' => \$listusers, 'createdb' => \$createdb, 'help' => \$help, 'adduser=s' => \$adduser, 'addgroup=s' => \$addgroup, 'rmuser=s' => \$rmuser, 'rmgroup=s' => \$rmgroup); -if ($help || ! ( $createdb || $adduser || $rmuser || $addgroup || $rmgroup || $listusers)) +if ($help || ! ( $createdb || $adduser || $rmuser || $addgroup || $rmgroup || $listusers)) { show_usage(); exit(0); @@ -65,7 +65,7 @@ $Config->read('/etc/x2go/x2gosql/sql' ) or die "Can't read config file /etc/x2go if ($Config->param("backend") eq 'sqlite') { my $user="x2gouser"; - my ($name, $pass, $uid, $pgid, $quota, $comment, $gcos, $dir, $shell, $expire) = getpwnam($user); + my ($name, $pass, $uid, $pgid, $quota, $comment, $gcos, $dir, $shell, $expire) = getpwnam($user); my $dbfile="$dir/x2go_sessions"; if (! $uid) @@ -165,19 +165,19 @@ if ($Config->param("backend") eq 'sqlite') END; END; "); - $sth->execute() or die; + $sth->execute() or die; $sth->finish(); my $sth=$dbh->prepare(" CREATE TRIGGER fkd_ports_session_id BEFORE DELETE ON sessions - FOR EACH ROW + FOR EACH ROW BEGIN - DELETE FROM used_ports WHERE session_id = OLD.session_id; + DELETE FROM used_ports WHERE session_id = OLD.session_id; END; END; "); - $sth->execute() or die; + $sth->execute() or die; $sth->finish(); # undef $dbh should be preferred to $dbh->disconnect(), see @@ -251,7 +251,7 @@ if ($adduser) if ($addgroup) { - my ($name, $passwd, $gid, $members) = getgrnam( $addgroup); + my ($name, $passwd, $gid, $members) = getgrnam( $addgroup); my @grp_members=split(' ',$members); foreach (@grp_members) { @@ -267,7 +267,7 @@ if ($rmuser) if ($rmgroup) { - my ($name, $passwd, $gid, $members) = getgrnam( $rmgroup); + my ($name, $passwd, $gid, $members) = getgrnam( $rmgroup); my @grp_members=split(' ',$members); foreach (@grp_members) { @@ -284,7 +284,7 @@ sub list_users() printf ("%-20s DB user\n","UNIX user"); print "---------------------------------------\n"; my @data; - while (@data = $sth->fetchrow_array) + while (@data = $sth->fetchrow_array) { @data[0]=~s/x2gouser_//; printf ("%-20s x2gouser_@data[0]\n",@data[0]); @@ -296,10 +296,10 @@ sub rm_user() { my $user=shift; - print ("rm DB user \"x2gouser_$user\"\n"); + print ("rm DB user \"x2gouser_$user\"\n"); my $sth=$dbh->prepare("DROP OWNED BY \"x2gouser_$user\""); - $sth->execute(); + $sth->execute(); my $sth=$dbh->prepare("drop USER if exists \"x2gouser_$user\""); $sth->execute(); @@ -341,7 +341,7 @@ sub add_user() $sth->{PrintError}=0; $sth->execute(); - print ("create DB user \"x2gouser_$user\"\n"); + print ("create DB user \"x2gouser_$user\"\n"); $sth=$dbh->prepare("create USER \"x2gouser_$user\" WITH ENCRYPTED PASSWORD '$pass'"); $sth->execute(); @@ -404,18 +404,18 @@ sub create_tables() $sth->execute() or die; $sth=$dbh->prepare(" - create VIEW sessions_view as - SELECT + create VIEW sessions_view as + SELECT agent_pid, session_id, display, server, status, init_time, cookie, client, gr_port, - sound_port, last_time, uname, fs_port from sessions + sound_port, last_time, uname, fs_port from sessions where creator_id = current_user "); $sth->execute() or die; $sth=$dbh->prepare(" - create VIEW servers_view as - SELECT - server, display, status from sessions + create VIEW servers_view as + SELECT + server, display, status from sessions "); $sth->execute() or die; @@ -442,8 +442,8 @@ sub create_tables() $sth=$dbh->prepare(" create or replace RULE update_sess_view AS ON UPDATE - TO sessions_view DO INSTEAD - update sessions set + TO sessions_view DO INSTEAD + update sessions set status=NEW.status, last_time=NEW.last_time, cookie=NEW.cookie, @@ -478,7 +478,7 @@ sub create_tables() $sth->execute() or die; $sth=$dbh->prepare(" - create VIEW ports_view as + create VIEW ports_view as SELECT server, port from used_ports "); @@ -516,7 +516,7 @@ sub create_tables() $sth->execute() or die; $sth=$dbh->prepare(" - create VIEW mounts_view as + create VIEW mounts_view as SELECT client,path, session_id from mounts where creator_id = current_user @@ -525,11 +525,11 @@ sub create_tables() $sth=$dbh->prepare(" create or replace RULE delete_mounts_view AS ON DELETE - TO mounts_view DO INSTEAD + TO mounts_view DO INSTEAD delete from mounts where session_id=OLD.session_id and creator_id=current_user and path=OLD.path "); - $sth->execute() or die; + $sth->execute() or die; $sth=$dbh->prepare(" create or replace RULE insert_mount_priv AS ON INSERT -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
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 35e9b98c9edeb4e1407b7f2b3dcc5ce31567677e Author: Mihai Moldovan <ionic@ionic.de> Date: Sat Jun 20 11:11:46 2015 +0200 x2goserver/sbin/x2godbadmin: revoke all PRIVILEGES before trying to delete a user on postgres. Fixes: #889. --- debian/changelog | 2 ++ x2goserver/sbin/x2godbadmin | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/debian/changelog b/debian/changelog index b7ab2bb..183075e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -36,6 +36,8 @@ x2goserver (4.0.1.20-0x2go1) UNRELEASED; urgency=low [ Henning Heinold ] * New upstream version (4.0.1.20): - x2goserver/sbin/x2godbadmin: remove trailing whitespace. + - x2goserver/sbin/x2godbadmin: revoke all PRIVILEGES before trying to + delete a user on postgres. Fixes: #889. -- X2Go Release Manager <git-admin@x2go.org> Tue, 24 Feb 2015 22:11:49 +0100 diff --git a/x2goserver/sbin/x2godbadmin b/x2goserver/sbin/x2godbadmin index 46f7656..476e30a 100755 --- a/x2goserver/sbin/x2godbadmin +++ b/x2goserver/sbin/x2godbadmin @@ -298,6 +298,12 @@ sub rm_user() print ("rm DB user \"x2gouser_$user\"\n"); + my $sth=$dbh->prepare("REVOKE ALL PRIVILEGES ON sessions, used_ports, mounts FROM \"x2gouser_$user\""); + $sth->execute(); + + my $sth=$dbh->prepare("REVOKE ALL PRIVILEGES ON sessions_view, mounts_view, servers_view, ports_view FROM \"x2gouser_$user\""); + $sth->execute(); + my $sth=$dbh->prepare("DROP OWNED BY \"x2gouser_$user\""); $sth->execute(); @@ -331,6 +337,16 @@ sub add_user() $pass=`pwgen 8 1`; chomp($pass); + my $sth=$dbh->prepare("REVOKE ALL PRIVILEGES ON sessions, used_ports, mounts FROM \"x2gouser_$user\""); + $sth->{Warn}=0; + $sth->{PrintError}=0; + $sth->execute(); + + my $sth=$dbh->prepare("REVOKE ALL PRIVILEGES ON sessions_view, mounts_view, servers_view, ports_view FROM \"x2gouser_$user\""); + $sth->{Warn}=0; + $sth->{PrintError}=0; + $sth->execute(); + my $sth=$dbh->prepare("DROP OWNED BY \"x2gouser_$user\""); $sth->{Warn}=0; $sth->{PrintError}=0; -- Alioth's /srv/git/code.x2go.org/x2goserver.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git