[X2Go-Commits] x2goserver.git - build-baikal (branch) updated: 3.0.99.9-16-g66b2de1

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


The branch, build-baikal has been updated
       via  66b2de1473bfbe5e8dca1d039bb63b33f75c1acc (commit)
      from  68c31a60197982a605f9e38a6e4720ab05e56825 (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/changelog               |    4 +-
 x2goserver/bin/x2gomountdirs   |  380 +++++++++++++++++-----------------------
 x2goserver/etc/x2goserver.conf |    4 -
 3 files changed, 166 insertions(+), 222 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 311a312..58ff0d3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,7 +2,7 @@ x2goserver (3.0.99.10-0~x2go1) UNRELEASED; urgency=low
 
   [ Mike Gabriel ]
   * New upstream version (3.0.99.10):
-    - Replace all string ,,X2go.' with ,,X2Go''.
+    - Replace all string ,,X2Go.' with ,,X2Go''.
     - Use $(MAKE) -C <subdir> calls to run Makefiles in subfolders.
     - Disable rastering in >= KDE4.8 and Qt4.8.
   * x2goserver.postinst script leaves the DB file alone if
@@ -19,7 +19,7 @@ x2goserver (3.0.99.10-0~x2go1) UNRELEASED; urgency=low
   * New upstream version (3.0.99.10):
     - Check whether the associated TCP/IP port is available before
       assigning a display number.
-  * Add net-tools package as dependency.
+  * Add net-tools packaged as dependency.
 
   [ John Williams ]
   * New upstream version (3.0.99.10):
diff --git a/x2goserver/bin/x2gomountdirs b/x2goserver/bin/x2gomountdirs
index 883c3cb..0d52a7b 100755
--- a/x2goserver/bin/x2gomountdirs
+++ b/x2goserver/bin/x2gomountdirs
@@ -22,7 +22,6 @@
 
 use strict;
 use Sys::Syslog qw( :standard :macros );
-use Config::IniFiles;
 
 use lib `echo -n \$(x2gobasepath)/lib/x2go`;
 use x2godbwrapper;
@@ -31,20 +30,9 @@ use x2gologlevel;
 openlog($0,'cons,pid','user');
 setlogmask( LOG_UPTO(x2gologlevel()) );
 
-if ( @ARGV lt 5 ) {
-	print("usage: x2gomountdirs <mount-type> <session-id> <user> <key> <client-folder-1> [<client-folder-2> [...]]\n");
-	exit -1;
-}
 
 syslog('info', "x2gomountdirs has been called with options: @ARGV");
 
-my $Config = Config::IniFiles->new( -file => "/etc/x2go/x2goserver.conf" );
-my $allow_foldersharing = $Config->val("clientshares", "folders", 1);
-my $allow_mimebox = $Config->val("clientshares", "mimebox", 1);
-my $allow_printing = $Config->val("clientshares", "printers", 1);
-
-syslog('debug', "allow client-side sharing... folders: $allow_foldersharing, printers: $allow_printing, mimebox: $allow_mimebox");
-
 my $type=shift;
 my $session=shift;
 my $user=shift;
@@ -110,267 +98,227 @@ close(F);
 chmod(0600,"$key");
 chmod(0600,"$key.ident");
 
-my $mdir;
-my $spooldir;
-my $mimeboxdir;
-my $plasmstamp;
+my $mdir="/tmp/$ENV{'USER'}_media";
+my $ldir="$ENV{'HOME'}/media";
+my $spooldir_lnk="$ENV{'HOME'}/.x2go/C-$session/spool";
+my $spooldir="/tmp/spool_$ENV{'USER'}";
+my $mimeboxdir_lnk="$ENV{'HOME'}/.x2go/C-$session/mimebox";
+my $mimeboxdir="/tmp/mimebox_$ENV{'USER'}";
 
+if (! -e $mdir)
+{
+	mkdir($mdir);
+}
+chmod(0700,$mdir);
 
-if ( $allow_foldersharing eq 1 )
+if (! -e "$mdir/disk")
 {
-	$mdir="/tmp/$ENV{'USER'}_media";
-	my $ldir="$ENV{'HOME'}/media";
+	mkdir("$mdir/disk");
+}
+chmod(0700,"$mdir/disk");
 
-	if (! -e $mdir)
-	{       
-		mkdir($mdir);
-	}
-	chmod(0700,$mdir);
+if (! -e "$mdir/cd")
+{
+	mkdir("$mdir/cd");
+}
+chmod(0700,"$mdir/cd");
 
-	if (! -e "$mdir/disk")
-	{
-		mkdir("$mdir/disk");
-	}
-	chmod(0700,"$mdir/disk");
+if (! -e "$mdir/rm")
+{
+	mkdir("$mdir/rm");
+}
+chmod(0700,"$mdir/rm");
 
-	if (! -e "$mdir/cd")
-	{
-		mkdir("$mdir/cd");
-	}
-	chmod(0700,"$mdir/cd");
+my $plasmstamp=$mdir."/".$session.".plasmoid";
 
-	if (! -e "$mdir/rm")
-	{
-		mkdir("$mdir/rm");
-	}
-	chmod(0700,"$mdir/rm");
+if (! -e $spooldir)
+{
+	mkdir($spooldir);
+}
+chmod(0700,$spooldir);
 
-	$plasmstamp=$mdir."/".$session.".plasmoid";
+$spooldir="$spooldir/$session";
+if (! -e $spooldir)
+{
+	mkdir($spooldir);
+}
+chmod(0700,$spooldir);
 
-	if ( -d $ldir)
-	{
-		rmdir($ldir);
-	}
+if (! -e $mimeboxdir)
+{
+	mkdir($mimeboxdir);
+}
+chmod(0700,$mimeboxdir);
 
-	if ( ! -l $ldir)
-	{
-		system ("ln -s $mdir $ldir");
-	}
+$mimeboxdir="$mimeboxdir/$session";
+if (! -e $mimeboxdir)
+{
+	mkdir($mimeboxdir);
 }
+chmod(0700,$mimeboxdir);
 
-if ( $allow_printing eq 1 )
+if ( -d $ldir)
 {
-	my $spooldir_lnk="$ENV{'HOME'}/.x2go/C-$session/spool";
-	$spooldir="/tmp/spool_$ENV{'USER'}";
-	if (! -e $spooldir)
-	{
-		mkdir($spooldir);
-	}
-	chmod(0700,$spooldir);
+	rmdir($ldir);
+}
 
-	$spooldir="$spooldir/$session";
-	if (! -e $spooldir)
-	{
-		mkdir($spooldir);
-	}
-	chmod(0700,$spooldir);
-	if ( -d $spooldir_lnk)
-	{
-		rmdir($spooldir_lnk);
-	}
+if ( ! -l $ldir)
+{
+	system ("ln -s $mdir $ldir");
+}
 
-	if ( ! -l $spooldir_lnk)
-	{
-		system ("ln -s $spooldir $spooldir_lnk");
-	}
+if ( -d $spooldir_lnk)
+{
+	rmdir($spooldir_lnk);
 }
 
-if ( $allow_mimebox eq 1 )
+if ( ! -l $spooldir_lnk)
 {
-	my $mimeboxdir_lnk="$ENV{'HOME'}/.x2go/C-$session/mimebox";
-	$mimeboxdir="/tmp/mimebox_$ENV{'USER'}";
+	system ("ln -s $spooldir $spooldir_lnk");
+}
 
-	if (! -e $mimeboxdir)
-	{
-	mkdir($mimeboxdir);
-	}
-	chmod(0700,$mimeboxdir);
+if ( -d $mimeboxdir_lnk)
+{
+	rmdir($mimeboxdir_lnk);
+}
 
-	$mimeboxdir="$mimeboxdir/$session";
-	if (! -e $mimeboxdir)
-	{
-		mkdir($mimeboxdir);
-	}
-	chmod(0700,$mimeboxdir);
+if ( ! -l $mimeboxdir_lnk)
+{
+	system ("ln -s $mimeboxdir $mimeboxdir_lnk");
+}
+
+my $uname=$ENV{'USER'};
 
-	if ( -d $mimeboxdir_lnk)
+my @dirs=split(':',$dirlist);
+for (my $i=0;$i<@dirs;$i++)
+{
+	my $printspool=0;
+	my $mimeboxspool=0;
+	my $mntpath;
+	if(@dirs[$i]=~m/__PRINT_SPOOL_/)
 	{
-		rmdir($mimeboxdir_lnk);
+		@dirs[$i]=~s/__PRINT_SPOOL_//;
+		$printspool=1;
+		$mntpath=$spooldir;
+		syslog('debug', "mounting $spooldir, mount point type is print spool directory");
 	}
-
-	if ( ! -l $mimeboxdir_lnk)
+	elsif(@dirs[$i]=~m/__MIMEBOX_SPOOL_/)
 	{
-		system ("ln -s $mimeboxdir $mimeboxdir_lnk");
+		@dirs[$i]=~s/__MIMEBOX_SPOOL_//;
+		$mimeboxspool=1;
+		$mntpath=$mimeboxdir;
+		syslog('debug', "mounting $mimeboxdir, mount point type is MIME box directory");
 	}
-}
-
-if ( $allow_foldersharing | $allow_printing | $allow_mimebox gt 0 )
-{
-	my $uname=$ENV{'USER'};
-
-	my @dirs=split(':',$dirlist);
-	for (my $i=0;$i<@dirs;$i++)
+	else
 	{
-		my $skip_mount=0;
-		my $printspool=0;
-		my $mimeboxspool=0;
-		my $mntpath;
-		if(@dirs[$i]=~m/__PRINT_SPOOL_/)
+		my $p=@dirs[$i];
+		if ($type ne "dir")
 		{
-			if ( $allow_printing eq 1 )
+			$p=~s/\/ramdrive\/mnt\///;
+			if ($p =~ m/CDROM/)
 			{
-				@dirs[$i]=~s/__PRINT_SPOOL_//;
-				$printspool=1;
-				$mntpath=$spooldir;
-				syslog('debug', "mounting $spooldir, mount point type is print spool directory");
-			} else {
-				syslog('warning', "client tried to mount $spooldir which is denied by server configuration");
-				print "\nX2Go server denied client-side printing.\n";
-				$skip_mount=1;
+				$mdir=$mdir."/cd";
 			}
-		}
-		elsif(@dirs[$i]=~m/__MIMEBOX_SPOOL_/)
-		{
-			if ( $allow_mimebox eq 1 )
+			else
 			{
-				@dirs[$i]=~s/__MIMEBOX_SPOOL_//;
-				$mimeboxspool=1;
-				$mntpath=$mimeboxdir;
-				syslog('debug', "mounting $mimeboxdir, mount point type is MIME box directory");
-			} else {
-				syslog('warning', "client tried to mount $mimeboxdir which is denied by server configuration");
-				print "\nX2Go server denied MIME box usage.\n";
-				$skip_mount=1;
+				$mdir=$mdir."/rm";
 			}
 		}
 		else
 		{
-			if ( $allow_foldersharing eq 1 )
-			{
-				my $p=@dirs[$i];
-				if ($type ne "dir")
-				{
-					$p=~s/\/ramdrive\/mnt\///;
-					if ($p =~ m/CDROM/)
-					{
-						$mdir=$mdir."/cd";
-					}
-					else
-					{
-						$mdir=$mdir."/rm";
-					}
-				}
-				else
-				{
-					$mdir=$mdir."/disk";
-				}
-				$p=~s/\//_/g;
-				$p=~s/ /_/g;
-				$p=~s/_cygdrive_//g;
-				$p=~s/~//g;
-				mkdir("$mdir/$p");
-				$mntpath="$mdir/$p";
-			} else {
-				syslog('warning', "client tried to mount $mdir which is denied by server configuration");
-				print "\nX2Go server denied client-side folder sharing.\n";
-				$skip_mount=1;
-			}
+			$mdir=$mdir."/disk";
 		}
+		$p=~s/\//_/g;
+		$p=~s/ /_/g;
+		$p=~s/_cygdrive_//g;
+		$p=~s/~//g;
+		mkdir("$mdir/$p");
+		$mntpath="$mdir/$p";
+	}
 
-		if ( ( $skip_mount eq 0 ) && ( db_insertmount( $session, $mntpath, $host) ) )
+	if (db_insertmount( $session, $mntpath, $host))
+	{
+		my $code_conv=$ENV{'X2GO_ICONV'};
+		if ($code_conv ne "")
+		{
+			$code_conv="-o $code_conv";
+		}
+		$msg = "sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port";
+		syslog('debug', "executing: $msg");
+		print "inserted, $msg\n";
+		if (system("sshfs  $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port 2>>~/mounts.log")==0)
 		{
-			my $code_conv=$ENV{'X2GO_ICONV'};
-			if ($code_conv ne "")
+			print "mount @dirs[$i] ok\n";
+			syslog('notice', "successfully mounted $user\@$host:$port at dirs[$i] to $mntpath");
+			# check if kde4 plasmoid running
+			my $useplasmoid=0;
+			if ( -e $plasmstamp )
 			{
-				$code_conv="-o $code_conv";
+				open(STMP,"<$plasmstamp");
+				my $stamp=<STMP>;
+				close (STMP);
+				if (abs($stamp-time())<15)
+				{
+					$useplasmoid=1;
+				}
 			}
-			$msg = "sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port";
-			syslog('debug', "executing: $msg");
-			print "inserted, $msg\n";
-			if (system("sshfs  $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port 2>>~/mounts.log")==0)
+			if (! $printspool && ! $mimeboxspool && ! $useplasmoid )
 			{
-				print "mount @dirs[$i] ok\n";
-				syslog('notice', "successfully mounted $user\@$host:$port at dirs[$i] to $mntpath");
-				# check if kde4 plasmoid running
-				my $useplasmoid=0;
-				if ( -e $plasmstamp )
+				my $fname="$ENV{'HOME'}/Desktop";
+				my $current_desktop = "";
+				if ($session =~ m/stDGNOME/)
 				{
-					open(STMP,"<$plasmstamp");
-					my $stamp=<STMP>;
-					close (STMP);
-					if (abs($stamp-time())<15)
-					{
-						$useplasmoid=1;
-					}
+					$current_desktop="-gnome";
 				}
-				if (! $printspool && ! $mimeboxspool && ! $useplasmoid )
+				elsif ($session =~ m/stDLXDE/)
 				{
-					my $fname="$ENV{'HOME'}/Desktop";
-					my $current_desktop = "";
-					if ($session =~ m/stDGNOME/)
-					{
-						$current_desktop="-gnome";
-					}
-					elsif ($session =~ m/stDLXDE/)
-					{
-						$current_desktop="-lxde";
-					}
+					$current_desktop="-lxde";
+				}
 
-					my $p=@dirs[$i];
-					$p=~s/\/cygdrive\///g;
-					$p=~s/\//_/g;
-					$fname="$fname/$p";
-					if ($type eq "dir")
+				my $p=@dirs[$i];
+				$p=~s/\/cygdrive\///g;
+				$p=~s/\//_/g;
+				$fname="$fname/$p";
+				if ($type eq "dir")
+				{
+					$fname="$fname\ (sshfs-disk$current_desktop)";
+					syslog('info', "creating desktop icon for ,, at dirs[$i]'' at ,,$fname'', media type is: client-side folder on harddrive");
+				}
+				else
+				{
+					if ($fname =~ m/CDROM/)
 					{
-						$fname="$fname\ (sshfs-disk$current_desktop)";
-						syslog('info', "creating desktop icon for ,, at dirs[$i]'' at ,,$fname'', media type is: client-side folder on harddrive");
+						$fname="$fname\ (sshfs-cdrom$current_desktop)";
+						syslog('info', "creating desktop icon for ,, at dirs[$i]'' at ,,$fname'', media type is: optical disc");
 					}
 					else
 					{
-						if ($fname =~ m/CDROM/)
-						{
-							$fname="$fname\ (sshfs-cdrom$current_desktop)";
-							syslog('info', "creating desktop icon for ,, at dirs[$i]'' at ,,$fname'', media type is: optical disc");
-						}
-						else
-						{
-							$fname="$fname\ (sshfs-removable$current_desktop)";
-							syslog('info', "creating desktop icon for ,, at dirs[$i]'' at ,,$fname'', media type is: removable device");
-						}
-						$fname=~s/_ramdrive_mnt_//;
+						$fname="$fname\ (sshfs-removable$current_desktop)";
+						syslog('info', "creating desktop icon for ,, at dirs[$i]'' at ,,$fname'', media type is: removable device");
 					}
-					print "fname: $fname\n";
-					open(F,">$fname");
-					print F "$mntpath\n$session\n\n\0";
-					close(F);
+					$fname=~s/_ramdrive_mnt_//;
 				}
-			}
-			else
-			{
-				$msg = "mounting of @dirs[$i] failed";
-				print "$msg\n";
-				syslog('warning', "WARNING: $msg");
-				db_deletemount( $session, $mntpath);
-				rmdir($mntpath);
+				print "fname: $fname\n";
+				open(F,">$fname");
+				print F "$mntpath\n$session\n\n\0";
+				close(F);
 			}
 		}
 		else
 		{
-			$msg = "insertion of @dirs[$i] failed (already mounted? access denied?), not mounting";
-			syslog('warning', "WARNING: $msg");
+			$msg = "mounting of @dirs[$i] failed";
 			print "$msg\n";
+			syslog('warning', "WARNING: $msg");
+			db_deletemount( $session, $mntpath);
+			rmdir($mntpath);
 		}
 	}
+	else
+	{
+		$msg = "insertion of @dirs[$i] failed (already mounted?), not mounting";
+		syslog('warning', "WARNING: $msg");
+		print "$msg\n";
+	}
 }
 
 unlink($key);
diff --git a/x2goserver/etc/x2goserver.conf b/x2goserver/etc/x2goserver.conf
index 7dac7a9..5fa6baf 100644
--- a/x2goserver/etc/x2goserver.conf
+++ b/x2goserver/etc/x2goserver.conf
@@ -4,10 +4,6 @@
 [limit groups]
 #bar-group=1
 
-[clientshares]
-printers=0
-folders=1
-
 [log]
 # possible levels are: emerg, alert, crit, err, warning, notice, info, debug
 loglevel=notice


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