Commit Graph

608 Commits

Author SHA1 Message Date
James Housley
72c8408a40 Update to match current code and add errors 2007-06-13 14:23:46 +00:00
James Housley
3fbdf1a644 Remove extraneous character 2007-06-13 14:21:44 +00:00
James Housley
2bb177d3e0 Update to match current code and add errors 2007-06-13 14:07:12 +00:00
James Housley
8bc4fdc3b0 Update to match current code and add errors 2007-06-13 13:57:53 +00:00
James Housley
eac8fcdd77 Update to match current code and add errors 2007-06-13 13:50:34 +00:00
James Housley
fa0c6996ef Update to match current code and add errors 2007-06-13 13:41:46 +00:00
James Housley
45e4ec255c Update to match current code and add errors 2007-06-13 13:15:57 +00:00
James Housley
084500e9ca Update to match current code and add errors 2007-06-13 13:06:48 +00:00
James Housley
3e0cc45d10 Update to match current code and add errors 2007-06-13 12:58:58 +00:00
James Housley
3dece58b29 Fix spacing issue 2007-06-13 12:58:42 +00:00
James Housley
e4ec1c9aa9 Change "SEE ALSO" to SEE ALSO 2007-06-13 12:51:10 +00:00
James Housley
607e5c55e0 Update to reflect the current code and add possible error values 2007-06-13 12:50:35 +00:00
James Housley
dde2b09496 libssh2_channel_free() actually can return PACKET_EAGAIN. Update all
calling functions to support that with the following API notes:

* libssh2_publickey_shutdown(), libssh2_session_free() changed
  to return an "int" to allow signaling of LIBSSH2_ERROR_EAGAIN.

* libssh2_scp_recv(), libssh2_scp_send_ex() and libssh2_sftp_init()
  will loop in on libssh2_channel_free() when there is an error.
  It is not possible to return LIBSSH2_ERROR_EAGAIN in this condition
  in these 3 functions and not lose the original error code.
2007-06-12 18:27:37 +00:00
James Housley
f35ab0d070 Update for the libssh2_userauth_list() change 2007-06-12 13:34:20 +00:00
James Housley
041786732d The function no longer exists 2007-06-10 21:59:36 +00:00
Daniel Stenberg
d073a4ea52 include sys/types.h since the compile breaks on Linux otherwise - we need
ssize_t from there
2007-06-10 21:26:58 +00:00
James Housley
a5109ee5ba Sharing state vairables between the userauth functions was a nice idea,
but libssh2_userauth_list() can't share with the others.  So to be safe
don't have any share.
2007-06-10 13:59:05 +00:00
James Housley
b12a16f89c Add a define for vsnprintf, similar to snprintf that is already there.
Bug:	1702156
2007-06-10 11:16:36 +00:00
James Housley
8b4df6a9ab Fix misspelling in trace
Bug:	1703464
2007-06-10 11:09:39 +00:00
James Housley
8466a826f1 Since uint32_t is used, inttypes.h should be included. 2007-06-09 01:34:21 +00:00
James Housley
c39c618c62 * Convert all the code to properly work with a socket in
non-blocking mode.  All functions either return
LIBSSH2_ERROR_EAGAIN or return NULL and set the error code
to be LIBSSH2_ERROR_EAGAIN instead of blocking, when in
non-blocking mode.
2007-06-09 01:30:33 +00:00
James Housley
bdde6c3d60 In the code rewrite
libssh2_kex_method_diffie_hellman_group14_sha1_key_exchange() lost two
initializer routines, restore them.
2007-06-08 15:57:46 +00:00
James Housley
cf8f4d1818 To simplify the user's error interface always use LIBSSH2_ERROR_EAGAIN.
LIBSSH2CHANNEL_EAGAIN and LIBSSH2SFTP_EAGAIN are still valid, but are
defined as LIBSSH2_ERROR_EAGAIN.
2007-06-08 13:33:08 +00:00
James Housley
281283d252 libssh2_session_disconnect_ex() should be returning PACKET_EAGAIN instead
of LIBSSH2_ERROR_EAGAIN, so it matches the other functions return values.
2007-06-08 12:07:09 +00:00
James Housley
b2f3582a59 When shutting down sub-systems and closing the channel try our best
to free any memory still allocated in the state variables
2007-06-07 16:43:20 +00:00
James Housley
bb32d080fa Remove 2 last files 2007-06-07 16:07:09 +00:00
James Housley
eb39c0c091 Remove the removed files 2007-06-07 16:02:57 +00:00
James Housley
7d57222912 Finish making SFTP fully non-blocking capable.
Functions that return an "int", and friends, return LIBSSH2SFTP_EAGAIN.
Functions that return a structure return NULL and set the error to
LIBSSH2_ERROR_EAGAIN
2007-06-07 16:01:12 +00:00
James Housley
d141ba49f3 Make libssh2_sftp_write() be fully non-blocking. The state of the socket
is fully honored.  LIBSSH2SFTP_EAGAIN is returned when the call would
block.
2007-06-06 19:52:11 +00:00
James Housley
4b8db8c1ab Modify the code to truely support non-blocking. Propogate the EAGAIN error
all the way up to the user interface.  All code modules bug sftp.c have
been completed.

Functions that return an "int", or similar return LIBSSH2CHANNEL_EAGAIN to
indicate some part of the call would block, in non-blocking mode.

Functions that return a structure, like "LIBSSH2_CHANNEL *", return NULL
and set the libssh2 error.  The error can be obtained with either
libssh2_session_last_error() or libssh2_session_last_errno().  Either of
these will return the error code of LIBSSH2_ERROR_EAGAIN if the
call would block, in non-blocking mode.

The current state of a function and some variable are keep in the
structures so that on the next call the operation that would block can
be retried again with the same data.
2007-06-06 12:34:06 +00:00
James Housley
9896c291e4 libssh2_packet_read() was checking the "errno" even when recv() didn't
return an error.  "errno" should have been zero by the recv() call but
doesn't seem to be on all systems.  Only check when recv() says there
is an error.

Bug:		1703467
Patch:		1703468
2007-06-06 10:13:30 +00:00
James Housley
412b25d971 Initially the libssh2 code was indented with tabs of 4 spaces. Some of
the recent commits converted the tabs to 4 spaces, which matched the
initial indent size.  Other commits converted the tabs to 8 spaces, this
didn't match.

All the code has been converted to 4 space indents.  No changes to line
lengths or actual code was performed.  This is in preperation to my up
coming non-blocking work so my commits should only be code changes and
line lengths in the code I am working on.
2007-05-28 17:56:08 +00:00
Daniel Stenberg
355c9c634b Eberhard Mattes' fix for libssh2_packet_read() for when reading very small
chunks at a time.
2007-05-08 19:20:05 +00:00
Dan Fandrich
62f77b1e4b Fix building out of the source tree. 2007-05-01 20:07:08 +00:00
Guenter Knauf
145bbabb96 include libssh_config.h to get the configure vars in. 2007-04-26 23:59:14 +00:00
Guenter Knauf
40970adb53 changed to configure defines to control inclusion of headers from libssh2_config.h. 2007-04-26 22:59:29 +00:00
James Housley
34bcc69a1a Add more of the new programs to be ignored 2007-04-22 19:53:58 +00:00
James Housley
046edb478f Test programs for libssh2_sftp_mkdir_ex() and libssh2_sftp_mkdirnb_ex() 2007-04-22 19:52:51 +00:00
James Housley
54e6528822 Document libssh2_sftp_mkdir_ex() and libssh2_sftp_mkdirnb_ex() 2007-04-22 19:51:53 +00:00
James Housley
a66885c51c Make _libssh2_sftp_mkdir_ex() fully non-blocking safe. This makes
libssh2_sftp_mkdirnb_ex() non-blocking safe and libssh2_sftp_mkdir_ex()
blocking safe
2007-04-22 19:51:24 +00:00
James Housley
510df9bf52 libssh2_sftp.h is needed for all of these functions 2007-04-22 17:18:03 +00:00
James Housley
61807e8d4d Fix a couple of locations where read should have been readdir 2007-04-22 17:09:23 +00:00
James Housley
9ff217b6d2 libssh2_sftp_seek() and libssh2_sftp_tell() are NB-SAFE, since they
only set variables
2007-04-22 16:42:54 +00:00
James Housley
c43c390a7d Create two sample programs, similar to sftp.c and sftp_nonblock.c, that
will test blocking and non-blocking write SFTP transfers
2007-04-22 15:57:52 +00:00
James Housley
7eccfc7fbc Make _libssh2_sftp_write() fully non-blocking safe. This makes
libssh2_sftp_writenb() non-blocking safe and libssh2_sftp_write() blocking
safe
2007-04-22 15:56:06 +00:00
James Housley
d79939fc3a Commit the version that actually uses the non-blocking code 2007-04-22 15:05:06 +00:00
James Housley
c5fb9d8f1a Commit the version that actually uses the non-blocking read 2007-04-22 14:51:21 +00:00
James Housley
e85a2199b6 Update comment 2007-04-22 14:47:27 +00:00
James Housley
3bd3eb35b3 Make sftp_nonblock.c a non-blocking version of sftp.c, just like sftpdir.c 2007-04-22 14:16:26 +00:00
James Housley
08fd7e259b Move sftp_nonblock.c to sftp_RW_nonblock.c, since it isn't just a
non-blocking version of sftp.c.  It has different command line parameters
and tries to do more
2007-04-22 14:15:47 +00:00