Daniel Stenberg
eaa95e0331
introducing libssh2_knownhost_get() to the public API
2009-05-27 16:00:52 +02:00
Daniel Stenberg
d965dda027
clarified a comment
2009-05-26 11:18:29 +02:00
Daniel Stenberg
28b08e0b4d
remove include since we don't use struct iovec in this file
2009-05-26 11:14:07 +02:00
Daniel Stenberg
6b7c19ec26
remove #if 0'ed code
2009-05-25 11:23:06 +02:00
Daniel Stenberg
42e9f02025
spell fix a comment
2009-05-25 10:58:13 +02:00
Daniel Stenberg
5a162ad9f8
Added some clarifying comments on how the 'sftpInit_sftp' and
...
'sftpInit_channel' struct fields within the session struct are used. And made
sure to clear them both correctly when sftp_init() returns instead of at
shutdown time, as it must not touch them at shutdown time. This should make it
possible to properly make more than one SFTP handle.
2009-05-25 10:50:49 +02:00
Daniel Stenberg
8df3222d91
use LIBSSH2_ERROR_ALLOC instead of introducing a new error code
2009-05-25 10:40:36 +02:00
Daniel Stenberg
0357ce6c48
clear session->sftpInit_sftp unconditionally
2009-05-24 23:51:59 +02:00
Daniel Stenberg
c5f335ad4f
Fix my recent session->sftpInit_sftp fix which wasn't correct. The memory area
...
does not need to be freed (it already gets freed) but clearing the pointer is
a good idea. And it should be done _after_ the channel_free() call.
2009-05-24 23:44:52 +02:00
Daniel Stenberg
fdc043e7b1
add an assert to help debugging
2009-05-24 23:44:23 +02:00
Daniel Stenberg
f1f49c3cce
- Anonymous bug report #2795816 revealed that libssh2_sftp_shutdown() did not
...
properly free/cleanup the SFTP handle so libssh2 leaked memory and caused
an assert() on subsequent libssh2_sftp_init() calls on the same session.
2009-05-23 22:30:43 +02:00
Daniel Stenberg
ad13de92d4
Fix _libssh2_channel_write(): fixed the write loop to also read from the
...
transport layer better, to avoid draining the window size when sending large
packets. I also fixed the return code for it to return the number of bytes
handled in this single invoke (and not the cumulative amount).
2009-05-20 14:34:30 +02:00
Daniel Stenberg
b755f3eb10
First, only try to send max packet size *4 to channel write, as trying to send
...
much larger packages only cause internal problems and much larger allocations.
Also fix sftp_write() when _libssh2_channel_write() returns that a packet was
only partially sent as that is not an error.
Fixed a few error messages to more accurately point out the problem
2009-05-20 14:31:46 +02:00
Daniel Stenberg
b95fe985af
If recv() returns something less than the full buffer we know we're done for
...
now, so skip looping and doing another read that then simply will cause an
EAGAIN as it may trick the user into believing things that aren't true.
2009-05-20 14:30:05 +02:00
Daniel Stenberg
18e03739be
typo
2009-05-12 10:10:55 +00:00
Daniel Stenberg
e367e1ad4e
comment typo and some indent fixes
2009-05-12 10:07:30 +00:00
Daniel Stenberg
f7149d1830
Partial fix based on the patch and discussions in #2788319
2009-05-12 09:33:22 +00:00
Daniel Stenberg
042b545247
clear the passed in struct when the entry has been removed to help prevent
...
mistakes due to re-use
2009-05-12 09:32:51 +00:00
Daniel Stenberg
d3542e6f7d
split out the knownhost code from hostkey.c into its own separate source file
...
now: knownhost.c
2009-05-07 17:21:56 +00:00
Daniel Stenberg
0cee15dc0c
this was never supposed to be added for real
2009-05-07 17:21:14 +00:00
Daniel Stenberg
4b991b232d
My knownhost work as of right now. It works at least partly. More tests and
...
tweaks will come.
2009-05-07 13:09:48 +00:00
Daniel Stenberg
9412588373
bug #2785173 pointed out that we really must call _libssh2_transport_read()
...
in loops until it returns < 0 when we call it, as if we just call it once we
may drain the socket for data and then leave unused in-memory data that we
won't detect because the socket is back to idle...
2009-05-01 19:07:20 +00:00
Daniel Stenberg
9f104cd883
Markus posted a bug report about a bad 0-return from libssh2_channel_read:
...
http://libssh2.haxx.se/mail/libssh2-devel-archive-2009-04/0076.shtml
And it was indeed a bad loop that terminated too early due to a receveived
close packet.
2009-04-30 10:30:26 +00:00
Daniel Stenberg
e63cbd907f
Jussi Mononen pointed out we used an unsigned variable to store negative
...
values in, when a plain int is much better anyway since it matches the return
type.
2009-04-06 14:50:29 +00:00
Daniel Stenberg
74f4b7817b
Uh, it is important that we don't set the local state 'local.close' to TRUE
...
until _after_ we're done as otherwise we might not get called again properly
to clean the entire thing since the close state is checked in
libssh2_channel_free
2009-03-31 08:52:25 +00:00
Daniel Stenberg
9ba11a374c
Removed the trace output that said "May block until packet of type..." since
...
it simply wasn't true for non-blocking operations.
2009-03-30 09:19:49 +00:00
Daniel Stenberg
117b95e6e3
made sure the SFTP code makes more use of internal non-blocking functions
...
instead of the external API entries
2009-03-29 22:09:29 +00:00
Daniel Stenberg
60ee30b6c9
Fixed the memory leak in in libssh2_userauth_hostbased_fromfile_ex() that
...
Jean-Louis Charton found. Additional minor indent and comment edits.
2009-03-28 21:31:53 +00:00
Daniel Stenberg
55744f8f34
indent changes and removed libssh2_ prefix from static function
2009-03-28 21:22:16 +00:00
Yang Tse
8f78a935ca
include libssh2_priv.h instead of libssh2.h in order to get
...
LIBSSH2_API properly defined on LIBSSH2_WIN32 build targets
2009-03-28 12:50:34 +00:00
Daniel Stenberg
75d5830490
Additional non-blocking fixes.
2009-03-27 22:24:09 +00:00
Daniel Stenberg
103a6e9e0b
Me and my long fingers couldn't resist "merging" these statements in a previous
...
commit but of course that broke functionality and this is a revert of that
change.
2009-03-27 21:52:49 +00:00
Daniel Stenberg
76dab196b1
Dump to stderr simply because the other tracing functions in misc.c already
...
use stderr and mixing output "channels" causes too much confusion for me!
2009-03-27 21:51:43 +00:00
Daniel Stenberg
4353711127
fixed sftp_shutdown() for the blockiness and fixed libssh2_channel_close()
...
to work properly non-blocking
2009-03-27 20:20:48 +00:00
Daniel Stenberg
ad8b49b208
Fixed the order of the check in the BLOCK_ADJUST() macro so that it also works
...
for libssh2_session_free()
2009-03-27 12:48:03 +00:00
Daniel Stenberg
5936d9ce4e
Fix the BLOCK_ADJUST_ERRNO() macro to behave properly in blocking mode.
2009-03-27 09:37:48 +00:00
Daniel Stenberg
f390c8e02d
fix comments, moved to htonu64 function to sftp.c and made it static
2009-03-27 07:03:00 +00:00
Daniel Stenberg
9df891e412
More cleaning up converting libssh2_ to _libssh2_ for internal functions and
...
removing libssh2_ from static functions. Added mac.h.
2009-03-26 22:25:23 +00:00
Daniel Stenberg
fc28f33384
comp.c only as a single _libssh2_ function, no external one
2009-03-26 22:09:35 +00:00
Daniel Stenberg
eabe072496
* Renamed the functions in src/transport.c to be _libssh2_transport_ prefixed
...
and introduced a transport.h header.
* Fixed the blocking mode to only change behavior not the actual underlying
socket mode so we now always work with non-blocking sockets. This also
introduces a new rule of thumb in libssh2 code: we don't call the
external function calls internally. We use the internal (non-blocking)
ones!
* libssh2_channel_receive_window_adjust2 was added and
libssh2_channel_receive_window_adjust is now deprecated
* Introduced "local" header files with prototypes etc for different parts
instead of cramming everything into libssh2_priv.h. channel.h is the
first.
2009-03-26 15:41:14 +00:00
Daniel Stenberg
2e548c1ca0
Updated comments and removed "libssh2_" prefixes from static functions
2009-03-23 13:35:20 +00:00
Daniel Stenberg
3d97a87669
ENOTCONN obviously doesn't exist in win32 so don't try to map that
2009-03-23 13:08:17 +00:00
Daniel Stenberg
022cac8510
[no comment]
2009-03-23 12:53:50 +00:00
Daniel Stenberg
d187a0fdb6
EEK revert the part of the previous commit that was just my non-functional
...
attempts to make things work with blocking sockets.
2009-03-23 12:51:53 +00:00
Daniel Stenberg
1936d167d1
I cut out the poll_socket argument from the protos for_libssh2_packet_askv()
...
and _libssh2_packet_ask() since they are internal and nothing in the code base
uses that functionality == simplicity with no drawbacks!
2009-03-23 12:43:59 +00:00
Daniel Stenberg
26b65e06b1
pass in unsigned ints for u32 values and not longs
2009-03-19 12:54:58 +00:00
Daniel Stenberg
468272d648
- (Mar 19 2009) Daniel Stenberg: based on a patch by "E L" we now use errno
...
properly after recv() and send() calls (that internally are now known as
_libssh2_recv() and _libssh2_send()) so that the API and more works fine on
windows too!
2009-03-19 12:45:59 +00:00
Daniel Stenberg
53ad07633e
re-indented for clarity
2009-03-17 14:58:24 +00:00
Daniel Stenberg
0b7f20566c
re-indented _libssh2_channel_packet_data_len() somewhat to make the huge
...
condition somewhat easier on the eye
2009-03-17 14:44:38 +00:00
Daniel Stenberg
cc5e952fa0
A cleanup effort: libssh2_ prefixes only on external APIs. Use _libssh2_ prefix
...
for library-wide internal functions. Don't use any of those on static functions.
I also did some comments and whitespace changes.
2009-03-17 13:48:35 +00:00