Group :: System/Servers
RPM: x2goserver
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: x2gomountdirs.diff
Download
Download
--- 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";