[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libssh-0.6.4 Connection to server and build problem
[Thread Prev] | [Thread Next]
- Subject: libssh-0.6.4 Connection to server and build problem
- From: Виктор Буцких <brainvictor777@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Wed, 24 Dec 2014 15:29:53 +0400
- To: libssh@xxxxxxxxxx
Hello I use your perfect library for my project on Windows. I decide to migrate from libssh 0.4.8 to 0.6.4. I don't use pre-compiled library (prefer to build myself). For building libssh I use VisualStudio 2010 Express (static build). I've built libssh with following environmental: Windows 7 32 bit zlib - 1.2.8 openssl - 1.0.1j I haven't got any problem with libssh-0.4.8 but with libssh I have two problem 1) When I try to build libssh I've got following error: sftp.obj : error LNK2019: unresolved external symbol _htonll referenced in function _buffer_add_attributes sftp.obj : error LNK2019: unresolved external symbol _ntohll referenced in function _sftp_parse_attr_4 I've fixed this error comment //#ifndef HAVE_HTONLL in misc.c and misc.h patch is attached 2) After fix this error I build my program successfull, but I got problem with connect to ssh server. When I call ssh_connect(session) I got error *Failed to connect: No error*. I try to learn your source code and found interesting thing: rc = connect(s, itr->ai_addr, itr->ai_addrlen); if (rc == -1 && (errno != EINPROGRESS)) { ssh_set_error(session, SSH_FATAL, "Failed to connect: %s", strerror(errno)); ssh_connect_socket_close(s); s = -1; continue; } It's really interesting situation: Cuz we use nonblocking socket our connect function return -1 but connect successful done and *errno=0*. I've fixed this error too (complex patch arrached to e-mail) Best regards, Viktor Butskih
diff -uNrp libssh-0.6.4/include/libssh/misc.h libssh-0.6.4.win_fix2/include/libssh/misc.h --- libssh-0.6.4/include/libssh/misc.h 2014-09-15 22:54:34.000000000 +0400 +++ libssh-0.6.4.win_fix2/include/libssh/misc.h 2014-12-23 15:14:13.788502000 +0400 @@ -33,14 +33,14 @@ int ssh_analyze_banner(ssh_session sessi int ssh_is_ipaddr_v4(const char *str); int ssh_is_ipaddr(const char *str); -#ifndef HAVE_NTOHLL +//#ifndef HAVE_NTOHLL /* macro for byte ordering */ uint64_t ntohll(uint64_t); -#endif +//#endif -#ifndef HAVE_HTONLL +//#ifndef HAVE_HTONLL #define htonll(x) ntohll((x)) -#endif +//#endif /* list processing */ diff -uNrp libssh-0.6.4/src/connect.c libssh-0.6.4.win_fix2/src/connect.c --- libssh-0.6.4/src/connect.c 2014-12-05 13:42:06.000000000 +0400 +++ libssh-0.6.4.win_fix2/src/connect.c 2014-12-24 13:47:50.897760000 +0400 @@ -383,7 +383,7 @@ socket_t ssh_connect_host_nonblocking(ss } rc = connect(s, itr->ai_addr, itr->ai_addrlen); - if (rc == -1 && (errno != EINPROGRESS)) { + if (rc == -1 && (errno != EINPROGRESS) && errno != 0) { ssh_set_error(session, SSH_FATAL, "Failed to connect: %s", strerror(errno)); ssh_connect_socket_close(s); diff -uNrp libssh-0.6.4/src/misc.c libssh-0.6.4.win_fix2/src/misc.c --- libssh-0.6.4/src/misc.c 2014-09-15 22:54:34.000000000 +0400 +++ libssh-0.6.4.win_fix2/src/misc.c 2014-12-23 15:13:36.962656000 +0400 @@ -289,7 +289,7 @@ int ssh_is_ipaddr(const char *str) { #endif /* _WIN32 */ -#ifndef HAVE_NTOHLL +//#ifndef HAVE_NTOHLL uint64_t ntohll(uint64_t a) { #ifdef WORDS_BIGENDIAN return a; @@ -304,7 +304,7 @@ uint64_t ntohll(uint64_t a) { ((uint64_t)(a) >> 56)); #endif /* WORDS_BIGENDIAN */ } -#endif /* HAVE_NTOHLL */ +//#endif /* HAVE_NTOHLL */ char *ssh_lowercase(const char* str) { char *new, *p;
Re: libssh-0.6.4 Connection to server and build problem | Andreas Schneider <asn@xxxxxxxxxxxxxx> |