Possible bug in sftp v5 attrib processing?

Advertisement

galb@vandyke.com
Joined:
Posts:
2

Possible bug in sftp v5 attrib processing?

Hi,

I'm working on SFTP v5 support in VShell, and I've got a bug (either yours or mine, I'm not sure which.)

I'm using Version 3.7.6 (Build 306)

First off, when I bring up the properties dialog on a file:

+ WinSCP doesn't send anything to the server
+ Group / Owner are blank

My guess is it is just using the information returned during the FXP_READDIR processing-- however, under windows, it is far too expensive to fetch the security information for every file during FXP_READDIR.

Maybe you could check the "supported" extension, and if it says it supports OWNER/GROUP but it didn't send it to you during READDIR, perform a stat operation and ask for it explicitly?

Now, on to the problem:

If I type a username into the dialog combo box for either goupr of owner, I get this:

+ WinSCP hits me with a lstat() request.

+ I then get a dialog saying:
"Cannot change properties of file
'tsvn_loop_scopes1.patch'"

"EAccessViolation"

The interesting section from the log is:

Changing properties of "tsvn_loop_scopes1.patch" (No)
- owner: "galb"
Type: SSH_FXP_LSTAT, Size: 64, Number: 4615
07,00,00,12,07,00,00,00,33,45,3A,2F,55,73,65,72,73,2F,47,61,6C,62,2F,45,3A,
2F,55,73,65,72,73,2F,47,61,6C,62,2F,74,73,76,6E,5F,6C,6F,6F,70,5F,73,63,6F,
70,65,73,31,2E,70,61,74,63,68,00,00,00,AD,
Sent 68 bytes
There are 0 bytes remaining in the send buffer
Received 4 bytes
Received 34 bytes
Type: SSH_FXP_STATUS, Size: 34, Number: 4356
65,00,00,11,04,00,00,00,00,00,00,00,0F,53,46,54,50,5F,49,5F,53,55,43,43,45,
53,53,20,00,00,00,02,65,6E,
Discarding reserved response
Waiting for another 4 bytes
Looking for incoming data
Select result is 1
Received 4 bytes
Received 112 bytes
Type: SSH_FXP_ATTRS, Size: 112, Number: 4615
69,00,00,12,07,00,00,03,B9,01,00,00,00,00,00,00,09,9C,00,00,00,13,67,61,6C,
62,40,75,74,2E,76,61,6E,64,79,6B,65,2E,63,6F,6D,00,00,00,1B,44,6F,6D,61,69,
6E,20,55,73,65,72,73,40,75,74,2E,76,61,6E,64,79,6B,65,2E,63,6F,6D,00,00,00,
00,43,06,9C,5C,11,96,3E,38,00,00,00,00,43,06,47,59,05,96,82,F0,00,00,00,00,
43,06,47,2F,21,87,11,A0,00,00,00,10,
Asking user:
Cannot change properties of file 'tsvn_loop_scopes1.patch'. (EAccessViolation)

I'm not sure what the STATUS packet is (I'm pretty sure my server didn't send a status during that time frame.)

Anyway, the EAccessViolation led me to hope maybe it wasn't my bug :-)

Thanks,

Joseph Galbraith
galb@vandyke.com

Reply with quote E-mail

Advertisement

martin
Site Admin
martin avatar
Joined:
Posts:
40,476
Location:
Prague, Czechia

Re: Possible bug in sftp v5 attrib processing?

First thanks for notifing me!

galb@vandyke.com wrote:

Type: SSH_FXP_ATTRS, Size: 112, Number: 4615
69,00,00,12,07,00,00,03,B9,01,00,00,00,00,00,00,09,9C,00,00,00,13,67,61,6C,
62,40,75,74,2E,76,61,6E,64,79,6B,65,2E,63,6F,6D,00,00,00,1B,44,6F,6D,61,69,
6E,20,55,73,65,72,73,40,75,74,2E,76,61,6E,64,79,6B,65,2E,63,6F,6D,00,00,00,
00,43,06,9C,5C,11,96,3E,38,00,00,00,00,43,06,47,59,05,96,82,F0,00,00,00,00,
43,06,47,2F,21,87,11,A0,00,00,00,10,
Unfortunatelly I had no problems parsing the packet :-(
Can I have the Windows version of your server with SFTP5 support, so I can try myself?

I'm not sure what the STATUS packet is (I'm pretty sure my server didn't send a status during that time frame.)
It is response from some previous processing, that WinSCP had not considered important to wait for (hence the message "Discarding reserved response").

Reply with quote

martin
Site Admin
martin avatar
Joined:
Posts:
40,476
Location:
Prague, Czechia

Re: Possible bug in sftp v5 attrib processing?

galb@vandyke.com wrote:

Maybe you could check the "supported" extension, and if it says it supports OWNER/GROUP but it didn't send it to you during READDIR, perform a stat operation and ask for it explicitly?
Definitelly. But so far no server I have ever seen supported that, so it was not worth implementing it :-)

Reply with quote

Guest

Re: Possible bug in sftp v5 attrib processing?

martin wrote:


Unfortunatelly I had no problems parsing the packet :-(
Can I have the Windows version of your server with SFTP5 support, so I can try myself?

I can email you a pre alpha snapshot that has the most recent code in (which may not even be complete SFTPv5 support yet... I think I'm pretty close but I still have to review the drafts.)

You should be able to run it in evaluation mode for 30 days. Have we gotten you a permenant evaluators license so you can do interop testing yet?

Email me privately and let me know where you want the zip of the server sent. If we haven't got you a permenant evaluators license yet, let me know who it should show as registered to and where we should send
it and I'll see about getting you one.

Thanks,

Joseph
galb@vandyke.com

Reply with quote

galb@vandyke.com
Joined:
Posts:
2

Re: Possible bug in sftp v5 attrib processing?

martin wrote:

galb@vandyke.com wrote:

Maybe you could check the "supported" extension, and if it says it supports OWNER/GROUP but it didn't send it to you during READDIR, perform a stat operation and ask for it explicitly?
Definitelly. But so far no server I have ever seen supported that, so it was not worth implementing it :-)

Yes... VShell won't send the "supported" or "supported2" packets until 2.5 (if everything goes as I think it will be 2.5.)

But VShell has included the OWNER/GROUP/ACL information in response to a stat request specifically requesting them since v4 support went in.

It might be worth just always sending the stat for properties if the server didn't send you a "supported" packet. (Of course I'm always reluctant to introduce round trips like that into our clients... though in this case, we actually always send the stat at the moment as the client code hasn't been update for SFTP v5 yet.)

Thanks,

Joseph Galbraith
galb@vandyke.com

Reply with quote E-mail

Advertisement

You can post new topics in this forum