Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37768119
en ru br
Репозитории ALT

Группа :: Система/Серверы
Пакет: x2goserver

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: x2gomountdirs.diff
Скачать


--- 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";
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin