This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goserver. from dd39de9 x2goserver/bin/x2gosessionlimit: don't iterate over the whole groups file. new 4ad590e x2goserver/sbin/x2godbadmin: remove trailing whitespace. new 126b18d 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 | 70 ++++++++++++++++++++++++++----------------- 2 files changed, 49 insertions(+), 27 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 master in repository x2goserver. commit 4ad590e5b382e2a0efc1f1955b0eaffab94d10a2 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 | 54 +++++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/debian/changelog b/debian/changelog index fecc8ff..39d38d6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -202,6 +202,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 5629f31..e634ada 100755 --- a/x2goserver/sbin/x2godbadmin +++ b/x2goserver/sbin/x2godbadmin @@ -52,10 +52,10 @@ my $addgroup=''; my $rmgroup=''; my $listusers=''; -GetOptions('listusers' => \$listusers, 'createdb' => \$createdb, 'updatedb' => \$updatedb, 'help' => \$help, 'adduser=s' => \$adduser, +GetOptions('listusers' => \$listusers, 'createdb' => \$createdb, 'updatedb' => \$updatedb, 'help' => \$help, 'adduser=s' => \$adduser, 'addgroup=s' => \$addgroup, 'rmuser=s' => \$rmuser, 'rmgroup=s' => \$rmgroup); -if ($help || ! ( $createdb || $updatedb || $adduser || $rmuser || $addgroup || $rmgroup || $listusers)) +if ($help || ! ( $createdb || $updatedb || $adduser || $rmuser || $addgroup || $rmgroup || $listusers)) { show_usage(); exit(0); @@ -66,7 +66,7 @@ my $Config = get_sqlconfig(); 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) @@ -90,7 +90,7 @@ if ($Config->param("backend") eq 'sqlite') } else { # Update the session DB file - my $dbh=DBI->connect("dbi:SQLite:dbname=$dbfile","","",{AutoCommit => 1, PrintError => 0, PrintWarn => 1, RaiseError => 1 }) or die $_; + my $dbh=DBI->connect("dbi:SQLite:dbname=$dbfile","","",{AutoCommit => 1, PrintError => 0, PrintWarn => 1, RaiseError => 1 }) or die $_; my $coltest; my $sth; # Update missing column on sessions table: tekictrl_port @@ -215,19 +215,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 @@ -328,7 +328,7 @@ if ($updatedb) create or replace 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, tekictrl_port, tekidata_port from sessions + sound_port, last_time, uname, fs_port, tekictrl_port, tekidata_port from sessions where creator_id = current_user "); $sth_update->execute() or die; @@ -383,7 +383,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) { @@ -399,7 +399,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) { @@ -417,7 +417,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]); @@ -430,10 +430,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(); @@ -475,7 +475,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(); @@ -541,18 +541,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, tekictrl_port, tekidata_port from sessions + sound_port, last_time, uname, fs_port, tekictrl_port, tekidata_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; @@ -579,8 +579,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, @@ -617,7 +617,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 "); @@ -655,7 +655,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 @@ -664,11 +664,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 master in repository x2goserver. commit 126b18d1b9be1324edeefe21f9b95841b5901eef 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 39d38d6..125de2d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -205,6 +205,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 e634ada..d4f3972 100755 --- a/x2goserver/sbin/x2godbadmin +++ b/x2goserver/sbin/x2godbadmin @@ -432,6 +432,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(); @@ -465,6 +471,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