This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch release/4.0.1.x in repository x2goserver. from a3abbf5 Remove macro call %systemd_pre for Fedora/EPEL-7 builds. No such macro in Fedora/RHEL7. (Fixes: 698). new d6b726d Start sshfs with a timeout of 30 seconds (because it never finishes if something is wrong with the client-side TCP socket). Also remove/unmount mountpoints erroneously registered sshfs mountpoints if sshfs command times out. (Fixes: #405). The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 5 +++++ x2goserver/bin/x2gomountdirs | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch release/4.0.1.x in repository x2goserver. commit d6b726dc6b9ad2945d3a3218ce2eeaef6474257a Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Thu Jan 8 13:26:21 2015 +0100 Start sshfs with a timeout of 30 seconds (because it never finishes if something is wrong with the client-side TCP socket). Also remove/unmount mountpoints erroneously registered sshfs mountpoints if sshfs command times out. (Fixes: #405). --- debian/changelog | 5 +++++ x2goserver/bin/x2gomountdirs | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4d34828..bf219da 100644 --- a/debian/changelog +++ b/debian/changelog @@ -55,6 +55,11 @@ x2goserver (4.0.1.19-0x2go1) UNRELEASED; urgency=medium - Improve sanitizer, use 'x2gosid' sanitizer for session IDs everywhere. Drop unused 'pnixusername' sanitizer in 4.0.1.x release of X2Go Server. - Allow usernames in session IDs of length 48 chars. + - Start sshfs with a timeout of 30 seconds (because it never finishes if + something is wrong with the client-side TCP socket). Also remove/unmount + mountpoints erroneously registered sshfs mountpoints if sshfs command + times out. Furthermore, print errors to STDERR (not STDOUT). (Fixes: + #405). * debian/control: + Add D (x2goserver): libfile-which-perl. + Add C (x2goserver: x2godesktopsharing (<< 3.1.1.2). diff --git a/x2goserver/bin/x2gomountdirs b/x2goserver/bin/x2gomountdirs index 8ef6ba0..52b8c6d 100755 --- a/x2goserver/bin/x2gomountdirs +++ b/x2goserver/bin/x2gomountdirs @@ -296,10 +296,20 @@ for (my $i=0;$i<@dirs;$i++) { $code_conv="-o $code_conv"; } - $msg = "sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,$umaskstr,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port"; + if ( -f "$key" ) + { + syslog('debug', "SSH key file has arrived: $key"); + } + if ( -f "$key.ident" ) + { + syslog('debug', "SSH host key has arrived: $key.ident"); + } + $msg = "timeout 30 sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,$umaskstr,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`,$umaskstr,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port 1>>$sessiondir/sshfs-mounts.log 2>&1 ")==0) + + # FIXME: this system call should be converted to a multi-argument system call while pertaining the redirect of stderr to the mounts.log file + if (system("timeout 30 sshfs $code_conv -o idmap=user,uid=`id -u`,gid=`id -g`,$umaskstr,ServerAliveInterval=300,Cipher=blowfish,IdentityFile=$key,UserKnownHostsFile=$key.ident \"$user\"\@$host:\"@dirs[$i]\" \"$mntpath\" -p $port 1>>$sessiondir/sshfs-mounts.log 2>&1")==0) { print "mount @dirs[$i] ok\n"; syslog('notice', "successfully mounted $user\@$host:$port@dirs[$i] to $mntpath"); @@ -381,9 +391,12 @@ for (my $i=0;$i<@dirs;$i++) else { $msg = "mounting of @dirs[$i] failed"; - print "$msg\n"; + print STDERR "$msg\n"; syslog('warning', "WARNING: $msg"); db_deletemount( $session, $mntpath); + # it maybe possible that the sshfs mount is already registered with the + # kernel, but dysfunctional. Attempting removal... + system("fusermount", "-u", "$mntpath"); rmdir($mntpath); } } @@ -391,7 +404,7 @@ for (my $i=0;$i<@dirs;$i++) { $msg = "insertion of @dirs[$i] failed (already mounted?), not mounting"; syslog('warning', "WARNING: $msg"); - print "$msg\n"; + print STDERR "$msg\n"; } } -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git