Hi Rene,
I have checked for last errno on both cases when libssh2_scp_recv() &
libssh2_channel_read() is called, libssh2_session_last_errno() return 0.
The issues is that my user has access to the remote folder, but does not
have read permission on the target file which is contained in that folder.
So the return value from libssh2_channel_read() is always 0 and sb.st_size
is 1.
you can simulate and check what you get
On Wed, Feb 17, 2016 at 4:57 PM, Belau, Rene (ext) <
belau.rene.ext_at_siemens.com> wrote:
> You need to do an operation and then check session error.
>
>
>
> libssh2_scp_recv() //handle null, return -37
>
> libssh2_session_last_errno() //error -28 scp protocol error (libssh2
> version 1.5.0) if you have no rights at target device
>
>
>
> libssh2_channel_read() //got we some bytes ?
>
> libssh2_session_last_errno() //without error?
>
>
>
> libssh2_channel_read() -> 0 bytes => no payload, it is not an error ->
> libssh2 tells us if it is error ! -> libssh2_session_last_errno()
>
>
>
>
>
> Rene
>
>
>
> *Von:* libssh2-devel [mailto:libssh2-devel-bounces_at_cool.haxx.se] *Im
> Auftrag von *Amirul Islam
> *Gesendet:* Mittwoch, 17. Februar 2016 11:24
> *An:* libssh2-devel_at_cool.haxx.se
> *Betreff:* libssh2_channel_read() issue
>
>
>
> Hi All,
>
>
>
> I am having an issue with the libssh2_channel_read() function. I am using
> it in blocking mode to download files from remote server. Now, I have an
> instance where the file I am trying to download, I do not have read
> permission. This is causing the read() function to return 0. I am not sure,
> if I should break my read loop when 0 is returned, since the documentation
> implies we should break when there is a negative value returned. I am not
> if breaking on 0 will have unpredictable behavior on other instances. need
> help
>
>
>
> Also, I can check the file mode when I call libssh2_scp_recv() function,
> what would be the best way to check if my user has read permission?
>
>
>
> Thank you in advance.
>
>
>
> --
>
>
>
> "Fame is a vapor; popularity an accident; the only earthly certainty is
> oblivion."
>
> _______________________________________________
> libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
>
>
-- "Fame is a vapor; popularity an accident; the only earthly certainty is oblivion."
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2016-02-17