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@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@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 ,,@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 ,,@dirs[$i]'' at ,,$fname'', media type is: client-side folder on harddrive"); + $fname="$fname\ (sshfs-cdrom$current_desktop)"; + syslog('info', "creating desktop icon for ,,@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 ,,@dirs[$i]'' at ,,$fname'', media type is: optical disc"); - } - else - { - $fname="$fname\ (sshfs-removable$current_desktop)"; - syslog('info', "creating desktop icon for ,,@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 ,,@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).