[X2Go-Commits] x2goserver.git - build-baikal (branch) updated: 3.0.99-2-7-g6ec9965

X2Go dev team git-admin at x2go.org
Fri Jan 3 20:52:07 CET 2014


The branch, build-baikal has been updated
       via  6ec99657c4be82fe659cf3d13614be7a9734a380 (commit)
      from  881eb49831cf84440670f3fb8a10cf116c2a1e01 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/control                           |   11 +--
 debian/rules                             |  117 ++----------------------------
 debian/{dirs => x2goserver.dirs}         |    4 +-
 debian/{init.d => x2goserver.init}       |    0
 debian/x2goserver.install                |   32 ++++++++
 debian/{postinst => x2goserver.postinst} |   22 ++++++
 debian/x2goserver.postrm                 |   37 ++++++++++
 sql                                      |    2 +-
 x2godbwrapper.pm                         |   38 +++++-----
 x2gosqlitewrapper                        |   23 +++---
 10 files changed, 134 insertions(+), 152 deletions(-)
 delete mode 100644 debian/docs
 rename debian/{dirs => x2goserver.dirs} (72%)
 rename debian/{init.d => x2goserver.init} (100%)
 create mode 100644 debian/x2goserver.install
 rename debian/{postinst => x2goserver.postinst} (59%)
 create mode 100644 debian/x2goserver.postrm

The diff of changes is:
diff --git a/debian/control b/debian/control
index db467de..a322e54 100644
--- a/debian/control
+++ b/debian/control
@@ -7,8 +7,9 @@ Standards-Version: 3.7.2
 
 Package: x2goserver
 Architecture: all
-Depends: x2goagent, sudo, lsof, openssh-client, openssh-server, libconfig-simple-perl, makepasswd, libdbd-pg-perl, libdbd-sqlite3-perl
+Depends: x2goagent, perl-suid, lsof, openssh-client, openssh-server, libconfig-simple-perl, makepasswd, libdbd-pg-perl, libdbd-sqlite3-perl, adduser
 Recommends: sshfs
+Breaks: x2goserver-one
 Description: x2goserver (daemon and tools)
  x2go is a serverbased computing environment with
  - session resuming
@@ -16,9 +17,9 @@ Description: x2goserver (daemon and tools)
  - LDAP support
  - client side mass storage mounting support
  - audio/arts support
- - authentification by smartcard and usb-stick
- - kde control-center modules for administration
- - kde based tools for just in time messaging and client surveillance
+ - authentication by smartcard and usb-stick
+ - KDE control-center modules for administration
+ - KDE based tools for just in time messaging and client surveillance
  .
  x2goserver contains the main daemon and tools for
- session administrations (scripts).
\ No newline at end of file
+ session administrations (scripts).
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index e69de29..0000000
diff --git a/debian/rules b/debian/rules
index ac4ff98..dc98d08 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,128 +1,24 @@
 #!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-
-
-
-CFLAGS = -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -O0
-else
-	CFLAGS += -O2
-endif
-
-configure: configure-stamp
-configure-stamp:
-	dh_testdir
-	# Add here commands to configure the package.
-
-	touch configure-stamp
-
-
-build: build-stamp
-
-build-stamp: configure-stamp 
-	dh_testdir
-
-	# Add here commands to compile the package.
-	#docbook-to-man debian/x2goserver.sgml > x2goserver.1
-
-	touch $@
 
 clean:
 	dh_testdir
 	dh_testroot
-	rm -f build-stamp configure-stamp
-
-	# Add here commands to clean up after the build process.
-
 	dh_clean 
 
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k 
-	dh_installdirs
-
-	# Add here commands to install the package into debian/x2goserver.
-	install  x2gochangestatus  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gocmdexitmessage  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gocreatesession  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gogetagent  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gogetdisplays  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gogetports  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gogetservers  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goinsertport  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goinsertsession  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2golistsessions  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2golistdesktops  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2golistsessions_root  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2golistsessions_sql  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gomountdirs  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goresume  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goresume-session  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goruncommand  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goshowblocks  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gosqlitewrapper  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gostartagent  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gosuspend-session  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gosuspend-agent  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goterminate  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goterminate-session  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goumount  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2goumount_session  $(CURDIR)/debian/x2goserver/usr/bin/
-	install  x2gosessionlimit  $(CURDIR)/debian/x2goserver/usr/bin/
-
-
+build:
+	dh_prep
 
-
-	cp  sql  $(CURDIR)/debian/x2goserver/etc/x2go/x2gosql/
-	cp  x2goserver.conf  $(CURDIR)/debian/x2goserver/etc/x2go/
-	cp x2godbwrapper.pm $(CURDIR)/debian/x2goserver/usr/lib/x2go/
-	install  x2gocleansessions  $(CURDIR)/debian/x2goserver/usr/sbin/
-	install  x2godbadmin  $(CURDIR)/debian/x2goserver/usr/lib/x2go/script
-
-
-
-
-# Build architecture-independent files here.
-binary-indep: build install
 # We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
+binary-indep: build
+binary-arch: build
 	dh_testdir
 	dh_testroot
+	dh_installdirs
+	dh_install
 	dh_installchangelogs 
 	dh_installdocs
-	dh_installexamples
-#	dh_install
-#	dh_installmenu
-#	dh_installdebconf	
-#	dh_installlogrotate
-#	dh_installemacsen
-#	dh_installpam
-#	dh_installmime
-#	dh_python
-	dh_installinit -R
-#	dh_installcron
-#	dh_installinfo
-	dh_installman
-	dh_link
-	dh_strip
 	dh_compress
 	dh_fixperms
-#	dh_perl
-#	dh_makeshlibs
 	dh_installdeb
 	dh_shlibdeps
 	dh_gencontrol
@@ -130,4 +26,3 @@ binary-arch: build install
 	dh_builddeb
 
 binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/debian/dirs b/debian/x2goserver.dirs
similarity index 72%
rename from debian/dirs
rename to debian/x2goserver.dirs
index 8d37723..29d4959 100644
--- a/debian/dirs
+++ b/debian/x2goserver.dirs
@@ -1,7 +1,5 @@
-usr/bin
-usr/sbin
 etc/x2go
 etc/x2go/x2gosql
 etc/x2go/x2gosql/passwords
 usr/lib/x2go/script
-var/db/x2go
\ No newline at end of file
+var/lib/x2go
diff --git a/debian/init.d b/debian/x2goserver.init
similarity index 100%
rename from debian/init.d
rename to debian/x2goserver.init
diff --git a/debian/x2goserver.install b/debian/x2goserver.install
new file mode 100644
index 0000000..f6627fd
--- /dev/null
+++ b/debian/x2goserver.install
@@ -0,0 +1,32 @@
+x2gochangestatus      /usr/bin/
+x2gocmdexitmessage    /usr/bin/
+x2gocreatesession     /usr/bin/
+x2gogetagent          /usr/bin/
+x2gogetdisplays       /usr/bin/
+x2gogetports          /usr/bin/
+x2gogetservers        /usr/bin/
+x2goinsertport        /usr/bin/
+x2goinsertsession     /usr/bin/
+x2golistsessions      /usr/bin/
+x2golistdesktops      /usr/bin/
+x2golistsessions_root /usr/bin/
+x2golistsessions_sql  /usr/bin/
+x2gomountdirs         /usr/bin/
+x2goresume            /usr/bin/
+x2goresume-session    /usr/bin/
+x2goruncommand        /usr/bin/
+x2goshowblocks        /usr/bin/
+x2gosqlitewrapper     /usr/bin/
+x2gostartagent        /usr/bin/
+x2gosuspend-session   /usr/bin/
+x2gosuspend-agent     /usr/bin/
+x2goterminate         /usr/bin/
+x2goterminate-session /usr/bin/
+x2goumount            /usr/bin/
+x2goumount_session    /usr/bin/
+x2gosessionlimit      /usr/bin/
+sql                   /etc/x2go/x2gosql/
+x2goserver.conf       /etc/x2go/
+x2godbwrapper.pm      /usr/lib/x2go/
+x2gocleansessions     /usr/sbin/
+x2godbadmin           /usr/lib/x2go/script
diff --git a/debian/postinst b/debian/x2goserver.postinst
similarity index 59%
rename from debian/postinst
rename to debian/x2goserver.postinst
index 67086e0..d81b6ce 100755
--- a/debian/postinst
+++ b/debian/x2goserver.postinst
@@ -23,6 +23,28 @@ case "$1" in
     chmod 700 /etc/x2go/x2gosql/passwords
     touch /etc/x2go/x2gosql/passwords/pgadmin
     chmod 600 /etc/x2go/x2gosql/passwords/pgadmin
+
+    # setup x2gouser and group
+    if ! getent group x2gousers >/dev/null; then
+        echo "Creating x2gouser user." >&2
+        addgroup --system x2gousers
+    else
+        echo "User x2gouser already exists." >&2
+    fi
+    if ! getent passwd x2gouser >/dev/null; then
+        echo "Creating x2gouser user." >&2
+        adduser --system --no-create-home \
+            --disabled-password --disabled-login \
+            --shell /bin/false --group --home /var/lib/x2go x2gouser
+    else
+        echo "User x2gouser already exists." >&2
+    fi
+
+    if [ ! -f /var/lib/x2go/x2go_sessions ]; then
+        /usr/lib/x2go/script/x2godbadmin --createdb
+    fi
+
+    dpkg-statoverride --add --update x2gouser x2gousers 6755 /usr/bin/x2gosqlitewrapper || true
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/x2goserver.postrm b/debian/x2goserver.postrm
new file mode 100644
index 0000000..9cc8f3a
--- /dev/null
+++ b/debian/x2goserver.postrm
@@ -0,0 +1,37 @@
+#! /bin/sh
+# postrm script for x2goserver
+#
+# see: dh_installdeb(1)
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
+# for details, see /usr/share/doc/packaging-manual/
+
+set -e
+
+
+case "$1" in
+        purge)
+            dpkg-statoverride --remove /usr/bin/x2gosqlitewrapper || true
+            echo "Removing x2go session database" >&2
+            rm -vf /var/lib/x2go/x2go_sessions
+            getent passwd x2gouser >/dev/null && deluser x2gouser
+            getent group x2gousers >/dev/null && delgroup x2gousers
+        ;;
+        remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+        ;;
+        *)
+            echo "postrm called with unknown argument \`$1'" >&2
+            exit 0
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
diff --git a/sql b/sql
index dfbfca0..f3052d7 100644
--- a/sql
+++ b/sql
@@ -1,5 +1,5 @@
 #postgres or sqlite
-backend=postgres
+backend=sqlite
 
 [postgres]
 host=localhost
diff --git a/x2godbwrapper.pm b/x2godbwrapper.pm
index 3d78b4b..ebadcff 100644
--- a/x2godbwrapper.pm
+++ b/x2godbwrapper.pm
@@ -80,7 +80,7 @@ sub dbsys_rmsessionsroot
        }
        if($backend eq 'sqlite')
        {
-	   `sudo -u x2gouser x2gosqlitewrapper rmsessionsroot $sid`;
+	   `x2gosqlitewrapper rmsessionsroot $sid`;
        }
 }
 
@@ -110,7 +110,7 @@ sub dbsys_listsessionsroot
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper listsessionsroot $server`);
+	   return split("\n",`x2gosqlitewrapper listsessionsroot $server`);
        }
 }
 
@@ -139,7 +139,7 @@ sub dbsys_listsessionsroot_all
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper listsessionsroot_all`);
+	   return split("\n",`x2gosqlitewrapper listsessionsroot_all`);
        }
 }
 
@@ -165,7 +165,7 @@ sub dbsys_getmounts
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper getmounts $sid`);
+	   return split("\n",`x2gosqlitewrapper getmounts $sid`);
        }
 
 }
@@ -191,7 +191,7 @@ sub db_getmounts
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper getmounts $sid`);
+	   return split("\n",`x2gosqlitewrapper getmounts $sid`);
        }
 }
 	     
@@ -209,7 +209,7 @@ sub db_deletemount
        }
        if($backend eq 'sqlite')
        {
-	   `sudo -u x2gouser x2gosqlitewrapper deletemount $sid \"$path\"`;
+	   `x2gosqlitewrapper deletemount $sid \"$path\"`;
        }
 
 }
@@ -234,7 +234,7 @@ sub db_insertmount
        }
        if($backend eq 'sqlite')
        {
-	   if( `sudo -u x2gouser x2gosqlitewrapper insertmount $sid \"$path\" $client` eq "ok")
+	   if( `x2gosqlitewrapper insertmount $sid \"$path\" $client` eq "ok")
 	   {
 	     $res_ok=1;
 	   }
@@ -258,7 +258,7 @@ sub db_insertsession
        }
        if($backend eq 'sqlite')
        {
-	   my $err=`sudo -u x2gouser x2gosqlitewrapper insertsession $display $server $sid`;
+	   my $err=`x2gosqlitewrapper insertsession $display $server $sid`;
 	   if($err ne "ok")
 	   {
 	     die "$err: x2gosqlitewrapper insertsession $display $server $sid";
@@ -288,7 +288,7 @@ sub db_createsession
        }
        if($backend eq 'sqlite')
        {
-	   my $err= `sudo -u x2gouser x2gosqlitewrapper createsession $cookie $pid $client $gr_port $snd_port $fs_port $sid`;
+	   my $err= `x2gosqlitewrapper createsession $cookie $pid $client $gr_port $snd_port $fs_port $sid`;
 	   if($err ne "ok")
 	   {
 	     die $err;
@@ -312,7 +312,7 @@ sub db_insertport
        }
        if($backend eq 'sqlite')
        {
-	   `sudo -u x2gouser x2gosqlitewrapper insertport $server $sid $sshport`;
+	   `x2gosqlitewrapper insertport $server $sid $sshport`;
        }
 
 }
@@ -332,7 +332,7 @@ sub db_resume
        }
        if($backend eq 'sqlite')
        {
-	   `sudo -u x2gouser x2gosqlitewrapper resume $client $sid`;
+	   `x2gosqlitewrapper resume $client $sid`;
        }
 
 }
@@ -351,7 +351,7 @@ sub db_changestatus
        }
        if($backend eq 'sqlite')
        {
-	   `sudo -u x2gouser x2gosqlitewrapper changestatus $status $sid`;
+	   `x2gosqlitewrapper changestatus $status $sid`;
        }
 
 }
@@ -378,7 +378,7 @@ sub db_getdisplays
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper getdisplays $server`);
+	   return split("\n",`x2gosqlitewrapper getdisplays $server`);
        }
 
 }
@@ -405,7 +405,7 @@ sub db_getports
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper getports $server`);
+	   return split("\n",`x2gosqlitewrapper getports $server`);
        }
 
 }
@@ -431,7 +431,7 @@ sub db_getservers
        }
               if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper getservers`);
+	   return split("\n",`x2gosqlitewrapper getservers`);
        }
 
 }
@@ -458,7 +458,7 @@ sub db_getagent
        }
        if($backend eq 'sqlite')
        {
-	   $agent=`sudo -u x2gouser x2gosqlitewrapper getagent $sid`;
+	   $agent=`x2gosqlitewrapper getagent $sid`;
        }
        return $agent;
 }
@@ -485,7 +485,7 @@ sub db_getdisplay
        }
        if($backend eq 'sqlite')
        {
-	   $display=`sudo -u x2gouser x2gosqlitewrapper getdisplay $sid`;
+	   $display=`x2gosqlitewrapper getdisplay $sid`;
        }
        return $display;
 }
@@ -516,7 +516,7 @@ sub db_listsessions
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper listsessions $server`);
+	   return split("\n",`x2gosqlitewrapper listsessions $server`);
        }
 
 }
@@ -547,7 +547,7 @@ sub db_listsessions_all
        }
        if($backend eq 'sqlite')
        {
-	   return split("\n",`sudo -u x2gouser x2gosqlitewrapper listsessions_all`);
+	   return split("\n",`x2gosqlitewrapper listsessions_all`);
        }
 
 }
diff --git a/x2gosqlitewrapper b/x2gosqlitewrapper
index 55b8e43..744c780 100755
--- a/x2gosqlitewrapper
+++ b/x2gosqlitewrapper
@@ -1,31 +1,28 @@
 #!/usr/bin/perl
+
 use strict;
 
 use DBI;
 use POSIX;
 
-my $realuser=$ENV{SUDO_USER};
-my ($uname, $pass, $uid, $pgid, $quota, $comment, $gcos, $homedir, $shell, $expire) = getpwuid(getuid());
-
-if($uname ne "x2gouser")
+if ($< eq $>)
 {
-	die "Use \"sudo -u x2gouser\" to run this programm";
+    die "Please install this program as SUID x2gouser!\n";
 }
 
-my $cmd=shift or die "command not specified";
-
-my $user="x2gouser";
-my ($name, $pass, $uid, $pgid, $quota, $comment, $gcos, $dir, $shell, $expire) = getpwnam($user);
-my $dbfile="$dir/x2go_sessions";
-
+my $realuser=$<;
+my ($uname, $pass, $uid, $pgid, $quota, $comment, $gcos, $homedir, $shell, $expire) = getpwuid(getuid());
+my $dbfile="/var/lib/x2go/x2go_sessions";
 my $dbh=DBI->connect("dbi:SQLite:dbname=$dbfile","","",{AutoCommit => 1}) or die $_;
 
+my $cmd=shift or die "command not specified";
+
 if($cmd eq  "rmsessionsroot")
 {
 	checkroot();
 	my $sid=shift or die "argument \"session_id\" missed";
 	my $sth=$dbh->prepare("delete from sessions  where session_id=?");
-	$sth->execute($id)or die;
+	$sth->execute($sid)or die;
 	$sth->finish();
 }
 
@@ -115,7 +112,7 @@ elsif($cmd eq  "createsession")
 	my $sid=shift or die "argument \"session_id\" missed";
 	my $sth=$dbh->prepare("update sessions set status='R',last_time=datetime('now','localtime'),cookie=?,agent_pid=?,
 	                       client=?,gr_port=?,sound_port=?,fs_port=? where session_id=? and uname=?");
-	$sth->execute($cookie, $pid, $client, $gr_port, $snd_port, $fs_port, $sid, $realuid)or die;
+	$sth->execute($cookie, $pid, $client, $gr_port, $snd_port, $fs_port, $sid, $realuser)or die;
 	$sth->finish();
 	print "ok";
 }


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