On Tue, 31 Aug 2010, Uli Zappe wrote:
> The reason for this is the if clause in lines 614-630 in src/scp.c
> (libssh2-1.2.7). It returns
>
> LIBSSH2_ERROR_SCP_PROTOCOL, "Invalid data in SCP response"
>
> as soon as a character > 126 surfaces in the sshd response, which it will do
> for every 8-bit or UTF-8 file name with a non-ASCII character.
Quite clearly. I don't understand that limitation - and I find it funny that
nobody else before noticed.
I guess a problem is that SCP is not a standard thing. It would be worthwhile
to check how OpenSSH actually provides file names with non-ascii letters. I
mean, if it truly is 8bit then surely the < 32 check is wrong as well?
> Indeed, as soon as I changed "126" to "256" in line 626, scp worked just
> fine with 8-bit and UTF-8 file names, and I could not find any problem
> whatsoever.
Uhm, UTF-8 file names can surely have bytes below 32, right? In fact, UTF-8
can even contain the bytes 0x0a and 0x0d so the checks for the end of line is
then not good enough.
> So why this seemingly unnecessary limitation?
An oversight I'd guess. It's been like this for ages.
Nice catch! Now we only need to figure out the right fix...
-- / daniel.haxx.se _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-develReceived on 2010-08-31