[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