--- x2goserver-2.0.1.orig/x2gomountdirs +++ x2goserver-2.0.1/x2gomountdirs @@ -5,8 +5,25 @@ my $session=shift; my $user=shift; my $key=shift; -my $dirlist=shift; - +my @dl; +my $i=0; +@dl[$i]=shift; +while(@dl[$i]) +{ + $i++; + @dl[$i]=shift; +} +my $dirlist=join(" ",@dl); +chop($dirlist); +print "dirs:$dirlist\n"; +@dl=split("__SSH_PORT__","$dirlist"); +$dirlist=@dl[0]; +my $port=@dl[1]; +if (! $port ) +{ + $port="22"; +} +print "ssh port:$port\n"; my $host=(split(" ",$ENV{'SSH_CLIENT'}))[0]; print "Host:$host\n"; print "User:$user\n"; @@ -42,18 +59,23 @@ $p=~s/\/ramdrive\/mnt\///; } $p=~s/\//_/g; + $p=~s/ /_/g; + $p=~s/_cygdrive_//g; mkdir("$mdir/$p"); my $mntpath="$mdir/$p"; + + print "starting:sudo x2gopgwrapper insertmount $session \"$mntpath\" $host\n"; my $outp=`sudo x2gopgwrapper insertmount $session \"$mntpath\" $host`; if($outp =~ m/INSERT/) { - print "inserted, sshfs -o IdentityFile=$key,UserKnownHostsFile=$key.ident $user\@$host:@dirs[$i] $mdir/$p\n"; - if(system("sshfs -o IdentityFile=$key,UserKnownHostsFile=$key.ident $user\@$host:@dirs[$i] $mdir/$p")==0) + print "inserted,\nsshfs -o IdentityFile=$key,UserKnownHostsFile=$key.ident $user\@$host:\"@dirs[$i]\" \"$mdir/$p\" -p $port\n"; + if(system("sshfs -o IdentityFile=$key,UserKnownHostsFile=$key.ident $user\@$host:\"@dirs[$i]\" \"$mdir/$p\" -p $port 2>>~/mounts.log")==0) { print "mount @dirs[$i] ok\n"; my $fname="$ENV{'HOME'}/Desktop"; $p=@dirs[$i]; - $p=~s/\//%2f/g; + $p=~s/\/cygdrive\///g; + $p=~s/\//%2f/g; $fname="$fname/$p"; if($type eq "dir") { @@ -61,7 +83,14 @@ } else { - $fname="$fname(sshfs-removable)"; + if($fname =~ m/CDROM/) + { + $fname="$fname(sshfs-cdrom)"; + } + else + { + $fname="$fname(sshfs-removable)"; + } $fname=~s/%2framdrive%2fmnt%2f//; } print "fname: $fname\n";