[horde] VFS ssh2 _listFolder() buglet?

Jan Schneider jan at horde.org
Mon Jan 17 08:47:23 UTC 2011


Zitat von Lawrence Stewart <lstewart at room52.net>:

> On 01/07/11 20:21, Jan Schneider wrote:
>> Zitat von Lawrence Stewart <lstewart at room52.net>:
>>
>>> Does the above seem reasonable or have I misunderstood something? I'll
>>> file a bug report with the patch if people think my analysis is correct.
>>
>> Nice catch! I didn't try to reproduce this, but please create a ticket
>> for that.
>
> Stop the press...
>
> So whilst my analysis is correct and my patch helps, there are some more
> fundamental problems with the ssh2 VFS module and possibly more so with
> the ssh2 PECL module.
>
> I'm trying to figure out the appropriate way to address these issues.
> Any thoughts/input would be very welcome.
>
> I run my server with most user accounts set to use the scponly shell.
> This ensures the users who don't need full shell access but may want to
> upload/download files from the server can. The ssh2 VFS module issues
> commands in a way that assumes it is communicating with a proper shell
> e.g. "cd /blah ; pwd" in lib/VFS/ssh2.php _setPath(). These do not work
> with the scponly shell or sftp.
>
> I've spent a bit of time studying the code in ssh2.php and can't see an
> easy fix for the problem. It seems that instead of issuing raw shell
> commands, what we should move towards is issuing sftp commands over the
> sftp resource that gets created during connect(). That would allow all
> the current functionality to work both with regular shells and scponly
> which is my goal.
>
> I didn't run into the problem when debugging the original issue that
> started this thread because my user account obviously has full shell
> access. Switching to the VFS ssh backend has broken Gollem for all
> scponly accounts, which is the majority of other users on this server.
>
> Based on my current understanding, code in both ssh2.php and the ssh2
> PECL module will need to be changed in order to get all this working.
> The PECL module will need to add functions for things like cd, pwd and
> chmod. Horde's ssh2 VFS code will need to switch from issuing shell
> commands to using the sftp based PECL functions.
>
> Does anyone see an easier solution or reason not to go down the path
> outlined above?

There are obviously backward compatibility issues with this approach,  
though it might be long-term solution. A different (sftp/scp) VFS  
driver might be solution for that.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the horde mailing list