From b13936bd6a89993cd3bf4a18317ca5bd84bb08d7 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 20 Mar 2023 15:46:12 +0000 Subject: [PATCH] example, tests: address compiler warnings Fix or silence all C compiler warnings discovered with (or without) `PICKY_COMPILER=ON` (in CMake). This means all warnings showing up in CI (gcc, clang, MSVS 2013/2015), in local tests on macOS (clang 14) and Windows cross-builds using gcc (12) and llvm/clang (14/15). Also fix the expression `nread -= nread` in `sftp_RW_nonblock.c`. Cherry-picked from: #846 Closes #861 --- example/direct_tcpip.c | 25 ++++++----- example/scp.c | 24 +++++++---- example/scp_nonblock.c | 26 ++++++----- example/scp_write.c | 17 ++++---- example/scp_write_nonblock.c | 25 +++++------ example/sftp.c | 18 +++++--- example/sftp_RW_nonblock.c | 38 +++++++++------- example/sftp_append.c | 13 +++--- example/sftp_mkdir.c | 2 +- example/sftp_mkdir_nonblock.c | 2 +- example/sftp_nonblock.c | 28 ++++++------ example/sftp_write.c | 13 +++--- example/sftp_write_nonblock.c | 20 ++++----- example/sftp_write_sliding.c | 22 +++++----- example/sftpdir.c | 9 ++-- example/sftpdir_nonblock.c | 4 +- example/ssh2.c | 9 ++-- example/ssh2_agent.c | 5 ++- example/ssh2_agent_forwarding.c | 28 ++++++------ example/ssh2_echo.c | 30 +++++++------ example/ssh2_exec.c | 27 ++++++------ example/subsystem_netconf.c | 11 ++--- example/tcpip-forward.c | 29 ++++++++----- example/x11.c | 11 ++--- tests/openssh_fixture.c | 43 ++++++++++--------- tests/openssh_fixture.h | 2 +- tests/session_fixture.c | 6 +-- tests/ssh2.c | 5 ++- tests/test_agent_forward_succeeds.c | 5 ++- tests/test_hostkey.c | 8 ++-- ...teractive_auth_fails_with_wrong_response.c | 7 +-- ...tive_auth_succeeds_with_correct_response.c | 7 +-- ..._password_auth_fails_with_wrong_password.c | 9 ++-- ..._password_auth_fails_with_wrong_username.c | 8 ++-- ...d_auth_succeeds_with_correct_credentials.c | 9 ++-- ...est_public_key_auth_fails_with_wrong_key.c | 5 ++- ...c_key_auth_succeeds_with_correct_dsa_key.c | 5 ++- ...key_auth_succeeds_with_correct_ecdsa_key.c | 5 ++- ...y_auth_succeeds_with_correct_ed25519_key.c | 5 ++- ...cceeds_with_correct_ed25519_key_from_mem.c | 3 +- ...ceeds_with_correct_encrypted_ed25519_key.c | 5 ++- ..._succeeds_with_correct_encrypted_rsa_key.c | 5 ++- ...c_key_auth_succeeds_with_correct_rsa_key.c | 5 ++- ...th_succeeds_with_correct_rsa_openssh_key.c | 5 ++- ...h_succeeds_with_correct_signed_ecdsa_key.c | 5 ++- ...uth_succeeds_with_correct_signed_rsa_key.c | 5 ++- tests/test_read.c | 7 +-- 47 files changed, 343 insertions(+), 262 deletions(-) diff --git a/example/direct_tcpip.c b/example/direct_tcpip.c index 7193ba1f..162f2fbd 100644 --- a/example/direct_tcpip.c +++ b/example/direct_tcpip.c @@ -11,6 +11,8 @@ #include #include #include +#define recv(s, b, l, f) recv((s), (b), (int)(l), (f)) +#define send(s, b, l, f) send((s), (b), (int)(l), (f)) #else #include #include @@ -161,7 +163,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password")) auth |= AUTH_PASSWORD; @@ -261,7 +264,7 @@ int main(int argc, char *argv[]) FD_SET(forwardsock, &fds); tv.tv_sec = 0; tv.tv_usec = 100000; - rc = select(forwardsock + 1, &fds, NULL, NULL, &tv); + rc = select((int)(forwardsock + 1), &fds, NULL, NULL, &tv); if(-1 == rc) { perror("select"); goto shutdown; @@ -279,15 +282,17 @@ int main(int argc, char *argv[]) } wr = 0; while(wr < len) { - i = libssh2_channel_write(channel, buf + wr, len - wr); - if(LIBSSH2_ERROR_EAGAIN == i) { + ssize_t nwritten = libssh2_channel_write(channel, + buf + wr, len - wr); + if(nwritten == LIBSSH2_ERROR_EAGAIN) { continue; } - if(i < 0) { - fprintf(stderr, "libssh2_channel_write: %d\n", i); + if(nwritten < 0) { + fprintf(stderr, "libssh2_channel_write: %d\n", + (int)nwritten); goto shutdown; } - wr += i; + wr += nwritten; } } for(;;) { @@ -300,12 +305,12 @@ int main(int argc, char *argv[]) } wr = 0; while(wr < len) { - i = send(forwardsock, buf + wr, len - wr, 0); - if(i <= 0) { + ssize_t nsent = send(forwardsock, buf + wr, len - wr, 0); + if(nsent <= 0) { perror("write"); goto shutdown; } - wr += i; + wr += nsent; } if(libssh2_channel_eof(channel)) { fprintf(stderr, "The server at %s:%d disconnected!\n", diff --git a/example/scp.c b/example/scp.c index 2076daa4..c8e0ee3d 100644 --- a/example/scp.c +++ b/example/scp.c @@ -36,9 +36,13 @@ #include #include +#ifdef WIN32 +#define write(f, b, c) write((f), (b), (unsigned int)(c)) +#endif + int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -159,20 +163,22 @@ int main(int argc, char *argv[]) while(got < fileinfo.st_size) { char mem[1024]; int amount = sizeof(mem); + ssize_t nread; - if((fileinfo.st_size -got) < amount) { - amount = (int)(fileinfo.st_size -got); + if((fileinfo.st_size - got) < amount) { + amount = (int)(fileinfo.st_size - got); } - rc = libssh2_channel_read(channel, mem, amount); - if(rc > 0) { - write(1, mem, rc); + nread = libssh2_channel_read(channel, mem, amount); + if(nread > 0) { + write(1, mem, nread); } - else if(rc < 0) { - fprintf(stderr, "libssh2_channel_read() failed: %d\n", rc); + else if(nread < 0) { + fprintf(stderr, "libssh2_channel_read() failed: %d\n", + (int)nread); break; } - got += rc; + got += nread; } libssh2_channel_free(channel); diff --git a/example/scp_nonblock.c b/example/scp_nonblock.c index e2adc652..453af82b 100644 --- a/example/scp_nonblock.c +++ b/example/scp_nonblock.c @@ -44,6 +44,10 @@ #include #include +#ifdef WIN32 +#define write(f, b, c) write((f), (b), (unsigned int)(c)) +#endif + #ifdef HAVE_GETTIMEOFDAY /* diff in ms */ static long tvdiff(struct timeval newer, struct timeval older) @@ -78,14 +82,14 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -238,6 +242,7 @@ int main(int argc, char *argv[]) while(got < fileinfo.st_size) { char mem[1024*24]; + ssize_t nread; do { int amount = sizeof(mem); @@ -247,15 +252,15 @@ int main(int argc, char *argv[]) } /* loop until we block */ - rc = libssh2_channel_read(channel, mem, amount); - if(rc > 0) { - write(1, mem, rc); - got += rc; - total += rc; + nread = libssh2_channel_read(channel, mem, amount); + if(nread > 0) { + write(1, mem, nread); + got += nread; + total += nread; } - } while(rc > 0); + } while(nread > 0); - if((rc == LIBSSH2_ERROR_EAGAIN) && (got < fileinfo.st_size)) { + if((nread == LIBSSH2_ERROR_EAGAIN) && (got < fileinfo.st_size)) { /* this is due to blocking that would occur otherwise so we loop on this condition */ @@ -271,8 +276,7 @@ int main(int argc, char *argv[]) time_ms = tvdiff(end, start); fprintf(stderr, "Got %ld bytes in %ld ms = %.1f bytes/sec spin: %d\n", - (long)total, - time_ms, total/(time_ms/1000.0), spin); + (long)total, time_ms, (double)total/(time_ms/1000.0), spin); #else fprintf(stderr, "Got %ld bytes spin: %d\n", (long)total, spin); #endif diff --git a/example/scp_write.c b/example/scp_write.c index 11e3860b..a92465b4 100644 --- a/example/scp_write.c +++ b/example/scp_write.c @@ -42,7 +42,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -171,7 +171,7 @@ int main(int argc, char *argv[]) /* Send a file via scp. The mode parameter must only have permissions! */ channel = libssh2_scp_send(session, scppath, fileinfo.st_mode & 0777, - (unsigned long)fileinfo.st_size); + (size_t)fileinfo.st_size); if(!channel) { char *errmsg; @@ -191,16 +191,17 @@ int main(int argc, char *argv[]) ptr = mem; do { + ssize_t nwritten; /* write the same data over and over, until error or completion */ - rc = libssh2_channel_write(channel, ptr, nread); - if(rc < 0) { - fprintf(stderr, "ERROR %d\n", rc); + nwritten = libssh2_channel_write(channel, ptr, nread); + if(nwritten < 0) { + fprintf(stderr, "ERROR %d\n", (int)nwritten); break; } else { - /* rc indicates how many bytes were written this time */ - ptr += rc; - nread -= rc; + /* nwritten indicates how many bytes were written this time */ + ptr += nwritten; + nread -= nwritten; } } while(nread); diff --git a/example/scp_write_nonblock.c b/example/scp_write_nonblock.c index 6179a0a5..b8ffa784 100644 --- a/example/scp_write_nonblock.c +++ b/example/scp_write_nonblock.c @@ -65,14 +65,14 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -90,7 +90,7 @@ int main(int argc, char *argv[]) char *ptr; struct stat fileinfo; time_t start; - long total = 0; + libssh2_struct_stat_size total = 0; int duration; size_t prev; @@ -210,7 +210,7 @@ int main(int argc, char *argv[]) /* Send a file via scp. The mode parameter must only have permissions! */ do { channel = libssh2_scp_send(session, scppath, fileinfo.st_mode & 0777, - (unsigned long)fileinfo.st_size); + (size_t)fileinfo.st_size); if((!channel) && (libssh2_session_last_errno(session) != LIBSSH2_ERROR_EAGAIN)) { @@ -236,22 +236,23 @@ int main(int argc, char *argv[]) prev = 0; do { - while((rc = libssh2_channel_write(channel, ptr, nread)) == + ssize_t nwritten; + while((nwritten = libssh2_channel_write(channel, ptr, nread)) == LIBSSH2_ERROR_EAGAIN) { waitsocket(sock, session); prev = 0; } - if(rc < 0) { - fprintf(stderr, "ERROR %d total %ld / %d prev %d\n", rc, - total, (int)nread, (int)prev); + if(nwritten < 0) { + fprintf(stderr, "ERROR %d total %ld / %d prev %d\n", + (int)nwritten, (long)total, (int)nread, (int)prev); break; } else { prev = nread; - /* rc indicates how many bytes were written this time */ - nread -= rc; - ptr += rc; + /* nwritten indicates how many bytes were written this time */ + nread -= nwritten; + ptr += nwritten; } } while(nread); } while(!nread); /* only continue if nread was drained */ @@ -259,7 +260,7 @@ int main(int argc, char *argv[]) duration = (int)(time(NULL)-start); fprintf(stderr, "%ld bytes in %d seconds makes %.1f bytes/sec\n", - total, duration, total/(double)duration); + (long)total, duration, (double)total / duration); fprintf(stderr, "Sending EOF\n"); while(libssh2_channel_send_eof(channel) == LIBSSH2_ERROR_EAGAIN); diff --git a/example/sftp.c b/example/sftp.c index 8707a502..e902912d 100644 --- a/example/sftp.c +++ b/example/sftp.c @@ -46,6 +46,10 @@ #pragma warning(disable:4127) #endif +#ifdef WIN32 +#define write(f, b, c) write((f), (b), (unsigned int)(c)) +#endif + const char *keyfile1 = "~/.ssh/id_rsa.pub"; const char *keyfile2 = "~/.ssh/id_rsa"; const char *username = "username"; @@ -90,7 +94,7 @@ static void kbd_callback(const char *name, int name_len, buf[n] = 0; responses[i].text = strdup(buf); - responses[i].length = n; + responses[i].length = (unsigned int)n; fprintf(stderr, "Response %d from user is '", i); fwrite(responses[i].text, 1, responses[i].length, stderr); @@ -104,7 +108,7 @@ static void kbd_callback(const char *name, int name_len, int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 0; struct sockaddr_in sin; @@ -195,7 +199,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password") != NULL) { auth_pw |= 1; @@ -277,12 +282,13 @@ int main(int argc, char *argv[]) fprintf(stderr, "libssh2_sftp_open() is done, now receive data!\n"); do { char mem[1024]; + ssize_t nread; /* loop until we fail */ fprintf(stderr, "libssh2_sftp_read()!\n"); - rc = libssh2_sftp_read(sftp_handle, mem, sizeof(mem)); - if(rc > 0) { - write(1, mem, rc); + nread = libssh2_sftp_read(sftp_handle, mem, sizeof(mem)); + if(nread > 0) { + write(1, mem, nread); } else { break; diff --git a/example/sftp_RW_nonblock.c b/example/sftp_RW_nonblock.c index 5b8fecec..5a6d8fba 100644 --- a/example/sftp_RW_nonblock.c +++ b/example/sftp_RW_nonblock.c @@ -43,6 +43,10 @@ #pragma warning(disable:4127) #endif +#ifdef WIN32 +#define write(f, b, c) write((f), (b), (unsigned int)(c)) +#endif + #define STORAGE "/tmp/sftp-storage" /* this is the local file name this example uses to store the downloaded file in */ @@ -72,7 +76,7 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } @@ -237,21 +241,22 @@ int main(int argc, char *argv[]) fprintf(stderr, "libssh2_sftp_open() is done, now receive data!\n"); do { + ssize_t nread; do { /* read in a loop until we block */ - rc = libssh2_sftp_read(sftp_handle, mem, sizeof(mem)); + nread = libssh2_sftp_read(sftp_handle, mem, sizeof(mem)); fprintf(stderr, "libssh2_sftp_read returned %d\n", - rc); + (int)nread); - if(rc > 0) { + if(nread > 0) { /* write to stderr */ - write(2, mem, rc); + write(2, mem, nread); /* write to temporary storage area */ - fwrite(mem, rc, 1, tempstorage); + fwrite(mem, nread, 1, tempstorage); } - } while(rc > 0); + } while(nread > 0); - if(rc != LIBSSH2_ERROR_EAGAIN) { + if(nread != LIBSSH2_ERROR_EAGAIN) { /* error or end of file */ break; } @@ -265,7 +270,7 @@ int main(int argc, char *argv[]) FD_SET(sock, &fd2); /* wait for readable or writeable */ - rc = select(sock + 1, &fd, &fd2, NULL, &timeout); + rc = select((int)(sock + 1), &fd, &fd2, NULL, &timeout); if(rc <= 0) { /* negative is error 0 is timeout */ @@ -296,6 +301,7 @@ int main(int argc, char *argv[]) size_t nread; char *ptr; do { + ssize_t nwritten; nread = fread(mem, 1, sizeof(mem), tempstorage); if(nread <= 0) { /* end of file */ @@ -305,13 +311,13 @@ int main(int argc, char *argv[]) do { /* write data in a loop until we block */ - rc = libssh2_sftp_write(sftp_handle, ptr, - nread); - ptr += rc; - nread -= nread; - } while(rc >= 0); + nwritten = libssh2_sftp_write(sftp_handle, ptr, + nread); + ptr += nwritten; + nread -= nwritten; + } while(nwritten >= 0); - if(rc != LIBSSH2_ERROR_EAGAIN) { + if(nwritten != LIBSSH2_ERROR_EAGAIN) { /* error or end of file */ break; } @@ -325,7 +331,7 @@ int main(int argc, char *argv[]) FD_SET(sock, &fd2); /* wait for readable or writeable */ - rc = select(sock + 1, &fd, &fd2, NULL, &timeout); + rc = select((int)(sock + 1), &fd, &fd2, NULL, &timeout); if(rc <= 0) { /* negative is error 0 is timeout */ diff --git a/example/sftp_append.c b/example/sftp_append.c index 7ad73068..783efb9c 100644 --- a/example/sftp_append.c +++ b/example/sftp_append.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -58,6 +58,7 @@ int main(int argc, char *argv[]) LIBSSH2_SFTP_ATTRIBUTES attrs; char mem[1024*100]; size_t nread; + ssize_t nwritten; char *ptr; #ifdef WIN32 @@ -213,14 +214,14 @@ int main(int argc, char *argv[]) do { /* write data in a loop until we block */ - rc = libssh2_sftp_write(sftp_handle, ptr, nread); - if(rc < 0) + nwritten = libssh2_sftp_write(sftp_handle, ptr, nread); + if(nwritten < 0) break; - ptr += rc; - nread -= rc; + ptr += nwritten; + nread -= nwritten; } while(nread); - } while(rc > 0); + } while(nwritten > 0); libssh2_sftp_close(sftp_handle); libssh2_sftp_shutdown(sftp_session); diff --git a/example/sftp_mkdir.c b/example/sftp_mkdir.c index ab51a4f3..90084d31 100644 --- a/example/sftp_mkdir.c +++ b/example/sftp_mkdir.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; diff --git a/example/sftp_mkdir_nonblock.c b/example/sftp_mkdir_nonblock.c index dfbf44c9..45a36d36 100644 --- a/example/sftp_mkdir_nonblock.c +++ b/example/sftp_mkdir_nonblock.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; diff --git a/example/sftp_nonblock.c b/example/sftp_nonblock.c index e12c2a42..f9f4da28 100644 --- a/example/sftp_nonblock.c +++ b/example/sftp_nonblock.c @@ -49,6 +49,10 @@ #pragma warning(disable:4127) #endif +#ifdef WIN32 +#define write(f, b, c) write((f), (b), (unsigned int)(c)) +#endif + #ifdef HAVE_GETTIMEOFDAY /* diff in ms */ static long tvdiff(struct timeval newer, struct timeval older) @@ -83,14 +87,14 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -105,7 +109,7 @@ int main(int argc, char *argv[]) long time_ms; #endif int rc; - int total = 0; + libssh2_struct_stat_size total = 0; int spin = 0; LIBSSH2_SFTP *sftp_session; LIBSSH2_SFTP_HANDLE *sftp_handle; @@ -258,16 +262,17 @@ int main(int argc, char *argv[]) fprintf(stderr, "libssh2_sftp_open() is done, now receive data!\n"); do { char mem[1024*24]; + ssize_t nread; /* loop until we fail */ - while((rc = libssh2_sftp_read(sftp_handle, mem, - sizeof(mem))) == LIBSSH2_ERROR_EAGAIN) { + while((nread = libssh2_sftp_read(sftp_handle, mem, + sizeof(mem))) == LIBSSH2_ERROR_EAGAIN) { spin++; waitsocket(sock, session); /* now we wait */ } - if(rc > 0) { - total += rc; - write(1, mem, rc); + if(nread > 0) { + total += nread; + write(1, mem, nread); } else { break; @@ -277,11 +282,10 @@ int main(int argc, char *argv[]) #ifdef HAVE_GETTIMEOFDAY gettimeofday(&end, NULL); time_ms = tvdiff(end, start); - fprintf(stderr, "Got %d bytes in %ld ms = %.1f bytes/sec spin: %d\n", - total, - time_ms, total/(time_ms/1000.0), spin); + fprintf(stderr, "Got %ld bytes in %ld ms = %.1f bytes/sec spin: %d\n", + (long)total, time_ms, (double)total/(time_ms/1000.0), spin); #else - fprintf(stderr, "Got %d bytes spin: %d\n", total, spin); + fprintf(stderr, "Got %ld bytes spin: %d\n", (long)total, spin); #endif libssh2_sftp_close(sftp_handle); diff --git a/example/sftp_write.c b/example/sftp_write.c index 758dc254..ce166b9a 100644 --- a/example/sftp_write.c +++ b/example/sftp_write.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -57,6 +57,7 @@ int main(int argc, char *argv[]) LIBSSH2_SFTP_HANDLE *sftp_handle; char mem[1024*100]; size_t nread; + ssize_t nwritten; char *ptr; #ifdef WIN32 @@ -197,14 +198,14 @@ int main(int argc, char *argv[]) do { /* write data in a loop until we block */ - rc = libssh2_sftp_write(sftp_handle, ptr, nread); - if(rc < 0) + nwritten = libssh2_sftp_write(sftp_handle, ptr, nread); + if(nwritten < 0) break; - ptr += rc; - nread -= rc; + ptr += nwritten; + nread -= nwritten; } while(nread); - } while(rc > 0); + } while(nwritten > 0); libssh2_sftp_close(sftp_handle); libssh2_sftp_shutdown(sftp_session); diff --git a/example/sftp_write_nonblock.c b/example/sftp_write_nonblock.c index 16400c67..b72daf4c 100644 --- a/example/sftp_write_nonblock.c +++ b/example/sftp_write_nonblock.c @@ -71,14 +71,14 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -94,9 +94,10 @@ int main(int argc, char *argv[]) LIBSSH2_SFTP_HANDLE *sftp_handle; char mem[1024 * 100]; size_t nread; + ssize_t nwritten; char *ptr; time_t start; - long total = 0; + libssh2_struct_stat_size total = 0; int duration; #ifdef WIN32 @@ -254,23 +255,22 @@ int main(int argc, char *argv[]) do { /* write data in a loop until we block */ - while((rc = libssh2_sftp_write(sftp_handle, ptr, nread)) == + while((nwritten = libssh2_sftp_write(sftp_handle, ptr, nread)) == LIBSSH2_ERROR_EAGAIN) { waitsocket(sock, session); } - if(rc < 0) + if(nwritten < 0) break; - ptr += rc; - nread -= rc; + ptr += nwritten; + nread -= nwritten; } while(nread); - } while(rc > 0); + } while(nwritten > 0); duration = (int)(time(NULL)-start); fprintf(stderr, "%ld bytes in %d seconds makes %.1f bytes/sec\n", - total, duration, total/(double)duration); - + (long)total, duration, (double)total / duration); fclose(local); libssh2_sftp_close(sftp_handle); diff --git a/example/sftp_write_sliding.c b/example/sftp_write_sliding.c index 2e9b75b6..acd76cf4 100644 --- a/example/sftp_write_sliding.c +++ b/example/sftp_write_sliding.c @@ -71,14 +71,14 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; @@ -95,8 +95,9 @@ int main(int argc, char *argv[]) char mem[1024 * 1000]; size_t nread; size_t memuse; + ssize_t nwritten; time_t start; - long total = 0; + libssh2_struct_stat_size total = 0; int duration; #ifdef WIN32 @@ -258,29 +259,28 @@ int main(int argc, char *argv[]) total += nread; /* write data in a loop until we block */ - while((rc = libssh2_sftp_write(sftp_handle, mem, memuse)) == + while((nwritten = libssh2_sftp_write(sftp_handle, mem, memuse)) == LIBSSH2_ERROR_EAGAIN) { waitsocket(sock, session); } - if(rc < 0) + if(nwritten < 0) break; - if(memuse - rc) { + if(memuse - nwritten) { /* make room for more data at the end of the buffer */ - memmove(&mem[0], &mem[rc], memuse - rc); - memuse -= rc; + memmove(&mem[0], &mem[nwritten], memuse - nwritten); + memuse -= nwritten; } else /* 'mem' was consumed fully */ memuse = 0; - } while(rc > 0); + } while(nwritten > 0); duration = (int)(time(NULL)-start); fprintf(stderr, "%ld bytes in %d seconds makes %.1f bytes/sec\n", - total, duration, total/(double)duration); - + (long)total, duration, (double)total / duration); fclose(local); libssh2_sftp_close(sftp_handle); diff --git a/example/sftpdir.c b/example/sftpdir.c index 2602413d..7c5cfe10 100644 --- a/example/sftpdir.c +++ b/example/sftpdir.c @@ -46,7 +46,7 @@ #pragma warning(disable:4127) #endif -#ifdef WIN32 +#if defined(_MSC_VER) #define __FILESIZE "I64u" #else #define __FILESIZE "llu" @@ -70,7 +70,7 @@ static void kbd_callback(const char *name, int name_len, (void)instruction_len; if(num_prompts == 1) { responses[0].text = strdup(password); - responses[0].length = strlen(password); + responses[0].length = (unsigned int)strlen(password); } (void)prompts; (void)abstract; @@ -78,7 +78,7 @@ static void kbd_callback(const char *name, int name_len, int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int rc, i, auth_pw = 0; struct sockaddr_in sin; @@ -166,7 +166,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password") != NULL) { auth_pw |= 1; diff --git a/example/sftpdir_nonblock.c b/example/sftpdir_nonblock.c index 62de69db..746ecd64 100644 --- a/example/sftpdir_nonblock.c +++ b/example/sftpdir_nonblock.c @@ -46,7 +46,7 @@ #pragma warning(disable:4127) #endif -#ifdef WIN32 +#if defined(_MSC_VER) #define __FILESIZE "I64u" #else #define __FILESIZE "llu" @@ -54,7 +54,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 1; struct sockaddr_in sin; diff --git a/example/ssh2.c b/example/ssh2.c index 9475e987..35785de7 100644 --- a/example/ssh2.c +++ b/example/ssh2.c @@ -70,7 +70,7 @@ static void kbd_callback(const char *name, int name_len, (void)instruction_len; if(num_prompts == 1) { responses[0].text = strdup(password); - responses[0].length = strlen(password); + responses[0].length = (unsigned int)strlen(password); } (void)prompts; (void)abstract; @@ -79,7 +79,7 @@ static void kbd_callback(const char *name, int name_len, int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int rc, i, auth_pw = 0; struct sockaddr_in sin; @@ -171,7 +171,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password") != NULL) { auth_pw |= 1; @@ -315,7 +316,7 @@ int main(int argc, char *argv[]) char buf[1024]; ssize_t err = libssh2_channel_read(channel, buf, sizeof(buf)); if(err < 0) - fprintf(stderr, "Unable to read response: %zd\n", err); + fprintf(stderr, "Unable to read response: %d\n", (int)err); else { fwrite(buf, 1, err, stdout); } diff --git a/example/ssh2_agent.c b/example/ssh2_agent.c index a4cf5e15..ffa376c3 100644 --- a/example/ssh2_agent.c +++ b/example/ssh2_agent.c @@ -46,7 +46,7 @@ const char *username = "username"; int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock = LIBSSH2_INVALID_SOCKET; int i, rc; struct sockaddr_in sin; @@ -126,7 +126,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "publickey") == NULL) { fprintf(stderr, "\"publickey\" authentication is not supported\n"); diff --git a/example/ssh2_agent_forwarding.c b/example/ssh2_agent_forwarding.c index 9735f397..96b26288 100644 --- a/example/ssh2_agent_forwarding.c +++ b/example/ssh2_agent_forwarding.c @@ -76,7 +76,7 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } @@ -86,7 +86,7 @@ int main(int argc, char *argv[]) const char *hostname = "127.0.0.1"; const char *commandline = "uptime"; const char *username = NULL; - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; struct sockaddr_in sin; LIBSSH2_SESSION *session; @@ -96,7 +96,7 @@ int main(int argc, char *argv[]) int rc; int exitcode; char *exitsignal = (char *)"none"; - int bytecount = 0; + ssize_t bytecount = 0; #ifdef WIN32 WSADATA wsadata; @@ -230,29 +230,31 @@ int main(int argc, char *argv[]) exit(1); } for(;;) { + ssize_t nread; /* loop until we block */ do { char buffer[0x4000]; - rc = libssh2_channel_read(channel, buffer, sizeof(buffer) ); - if(rc > 0) { - int i; - bytecount += rc; + nread = libssh2_channel_read(channel, buffer, sizeof(buffer) ); + if(nread > 0) { + ssize_t i; + bytecount += nread; fprintf(stderr, "We read:\n"); - for(i = 0; i < rc; ++i) + for(i = 0; i < nread; ++i) fputc(buffer[i], stderr); fprintf(stderr, "\n"); } else { - if(rc != LIBSSH2_ERROR_EAGAIN) + if(nread != LIBSSH2_ERROR_EAGAIN) /* no need to output this for the EAGAIN case */ - fprintf(stderr, "libssh2_channel_read returned %d\n", rc); + fprintf(stderr, "libssh2_channel_read returned %d\n", + (int)nread); } } - while(rc > 0); + while(nread > 0); /* this is due to blocking that would occur otherwise so we loop on this condition */ - if(rc == LIBSSH2_ERROR_EAGAIN) { + if(nread == LIBSSH2_ERROR_EAGAIN) { waitsocket(sock, session); } else @@ -272,7 +274,7 @@ int main(int argc, char *argv[]) printf("\nGot signal: %s\n", exitsignal); } else { - printf("\nEXIT: %d bytecount: %d\n", exitcode, bytecount); + printf("\nEXIT: %d bytecount: %d\n", exitcode, (int)bytecount); } libssh2_channel_free(channel); diff --git a/example/ssh2_echo.c b/example/ssh2_echo.c index 1ebd9e97..ac202f2a 100644 --- a/example/ssh2_echo.c +++ b/example/ssh2_echo.c @@ -72,7 +72,7 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) const char *commandline = "cat"; const char *username = "user"; const char *password = "password"; - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; struct sockaddr_in sin; const char *fingerprint; @@ -232,11 +232,11 @@ int main(int argc, char *argv[]) else { LIBSSH2_POLLFD *fds = NULL; int running = 1; - int bufsize = BUFSIZE; + ssize_t bufsize = BUFSIZE; char buffer[BUFSIZE]; - int totsize = 1500000; - int totwritten = 0; - int totread = 0; + ssize_t totsize = 1500000; + ssize_t totwritten = 0; + ssize_t totread = 0; int rereads = 0; int rewrites = 0; int i; @@ -262,7 +262,8 @@ int main(int argc, char *argv[]) continue; if(fds[0].revents & LIBSSH2_POLLFD_POLLIN) { - int n = libssh2_channel_read(channel, buffer, sizeof(buffer)); + ssize_t n = libssh2_channel_read(channel, + buffer, sizeof(buffer)); act++; if(n == LIBSSH2_ERROR_EAGAIN) { @@ -276,7 +277,7 @@ int main(int argc, char *argv[]) else { totread += n; fprintf(stderr, "read %d bytes (%d in total)\n", - n, totread); + (int)n, (int)totread); } } @@ -285,9 +286,10 @@ int main(int argc, char *argv[]) if(totwritten < totsize) { /* we have not written all data yet */ - int left = totsize - totwritten; - int size = (left < bufsize) ? left : bufsize; - int n = libssh2_channel_write_ex(channel, 0, buffer, size); + ssize_t left = totsize - totwritten; + ssize_t size = (left < bufsize) ? left : bufsize; + ssize_t n = libssh2_channel_write_ex(channel, 0, + buffer, size); if(n == LIBSSH2_ERROR_EAGAIN) { rewrites++; @@ -300,7 +302,7 @@ int main(int argc, char *argv[]) else { totwritten += n; fprintf(stderr, "wrote %d bytes (%d in total)", - n, totwritten); + (int)n, (int)totwritten); if(left >= bufsize && n != bufsize) { fprintf(stderr, " PARTIAL"); } @@ -349,11 +351,11 @@ int main(int argc, char *argv[]) channel = NULL; fprintf(stderr, "\nrereads: %d rewrites: %d totwritten %d\n", - rereads, rewrites, totwritten); + rereads, rewrites, (int)totwritten); if(totwritten != totread) { fprintf(stderr, "\n*** FAIL bytes written: %d bytes " - "read: %d ***\n", totwritten, totread); + "read: %d ***\n", (int)totwritten, (int)totread); exit(1); } } diff --git a/example/ssh2_exec.c b/example/ssh2_exec.c index 2073e85a..c205f1a8 100644 --- a/example/ssh2_exec.c +++ b/example/ssh2_exec.c @@ -74,7 +74,7 @@ static int waitsocket(libssh2_socket_t socket_fd, LIBSSH2_SESSION *session) if(dir & LIBSSH2_SESSION_BLOCK_OUTBOUND) writefd = &fd; - rc = select(socket_fd + 1, readfd, writefd, NULL, &timeout); + rc = select((int)(socket_fd + 1), readfd, writefd, NULL, &timeout); return rc; } @@ -85,7 +85,7 @@ int main(int argc, char *argv[]) const char *commandline = "uptime"; const char *username = "user"; const char *password = "password"; - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; struct sockaddr_in sin; const char *fingerprint; @@ -94,7 +94,7 @@ int main(int argc, char *argv[]) int rc; int exitcode; char *exitsignal = (char *)"none"; - int bytecount = 0; + ssize_t bytecount = 0; size_t len; LIBSSH2_KNOWNHOSTS *nh; int type; @@ -259,25 +259,27 @@ int main(int argc, char *argv[]) exit(1); } for(;;) { + ssize_t nread; /* loop until we block */ do { char buffer[0x4000]; - rc = libssh2_channel_read(channel, buffer, sizeof(buffer) ); - if(rc > 0) { - int i; - bytecount += rc; + nread = libssh2_channel_read(channel, buffer, sizeof(buffer)); + if(nread > 0) { + ssize_t i; + bytecount += nread; fprintf(stderr, "We read:\n"); - for(i = 0; i < rc; ++i) + for(i = 0; i < nread; ++i) fputc(buffer[i], stderr); fprintf(stderr, "\n"); } else { - if(rc != LIBSSH2_ERROR_EAGAIN) + if(nread != LIBSSH2_ERROR_EAGAIN) /* no need to output this for the EAGAIN case */ - fprintf(stderr, "libssh2_channel_read returned %d\n", rc); + fprintf(stderr, "libssh2_channel_read returned %d\n", + (int)nread); } } - while(rc > 0); + while(nread > 0); /* this is due to blocking that would occur otherwise so we loop on this condition */ @@ -300,7 +302,8 @@ int main(int argc, char *argv[]) if(exitsignal) fprintf(stderr, "\nGot signal: %s\n", exitsignal); else - fprintf(stderr, "\nEXIT: %d bytecount: %d\n", exitcode, bytecount); + fprintf(stderr, "\nEXIT: %d bytecount: %d\n", + exitcode, (int)bytecount); libssh2_channel_free(channel); channel = NULL; diff --git a/example/subsystem_netconf.c b/example/subsystem_netconf.c index ccb35ebd..beffc859 100644 --- a/example/subsystem_netconf.c +++ b/example/subsystem_netconf.c @@ -56,13 +56,13 @@ enum { static int netconf_write(LIBSSH2_CHANNEL *channel, const char *buf, size_t len) { - int i; + ssize_t i; ssize_t wr = 0; do { i = libssh2_channel_write(channel, buf, len); if(i < 0) { - fprintf(stderr, "libssh2_channel_write: %d\n", i); + fprintf(stderr, "libssh2_channel_write: %d\n", (int)i); return -1; } wr += i; @@ -71,8 +71,8 @@ static int netconf_write(LIBSSH2_CHANNEL *channel, const char *buf, size_t len) return 0; } -static int netconf_read_until(LIBSSH2_CHANNEL *channel, const char *endtag, - char *buf, size_t buflen) +static ssize_t netconf_read_until(LIBSSH2_CHANNEL *channel, const char *endtag, + char *buf, size_t buflen) { ssize_t len; size_t rd = 0; @@ -202,7 +202,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password")) auth |= AUTH_PASSWORD; diff --git a/example/tcpip-forward.c b/example/tcpip-forward.c index 6ed5a92a..55327ac7 100644 --- a/example/tcpip-forward.c +++ b/example/tcpip-forward.c @@ -11,6 +11,8 @@ #include #include #include +#define recv(s, b, l, f) recv((s), (b), (int)(l), (f)) +#define send(s, b, l, f) send((s), (b), (int)(l), (f)) #else #include #include @@ -157,7 +159,8 @@ int main(int argc, char *argv[]) fprintf(stderr, "\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); fprintf(stderr, "Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password")) auth |= AUTH_PASSWORD; @@ -251,12 +254,13 @@ int main(int argc, char *argv[]) FD_SET(forwardsock, &fds); tv.tv_sec = 0; tv.tv_usec = 100000; - rc = select(forwardsock + 1, &fds, NULL, NULL, &tv); + rc = select((int)(forwardsock + 1), &fds, NULL, NULL, &tv); if(-1 == rc) { perror("select"); goto shutdown; } if(rc && FD_ISSET(forwardsock, &fds)) { + ssize_t nwritten; len = recv(forwardsock, buf, sizeof(buf), 0); if(len < 0) { perror("read"); @@ -269,30 +273,33 @@ int main(int argc, char *argv[]) } wr = 0; do { - i = libssh2_channel_write(channel, buf, len); - if(i < 0) { - fprintf(stderr, "libssh2_channel_write: %d\n", i); + nwritten = libssh2_channel_write(channel, buf, len); + if(nwritten < 0) { + fprintf(stderr, "libssh2_channel_write: %d\n", + (int)nwritten); goto shutdown; } - wr += i; - } while(i > 0 && wr < len); + wr += nwritten; + } while(nwritten > 0 && wr < len); } for(;;) { + ssize_t nsent; len = libssh2_channel_read(channel, buf, sizeof(buf)); if(LIBSSH2_ERROR_EAGAIN == len) break; else if(len < 0) { - fprintf(stderr, "libssh2_channel_read: %d", (int)len); + fprintf(stderr, "libssh2_channel_read: %d", + (int)len); goto shutdown; } wr = 0; while(wr < len) { - i = send(forwardsock, buf + wr, len - wr, 0); - if(i <= 0) { + nsent = send(forwardsock, buf + wr, len - wr, 0); + if(nsent <= 0) { perror("write"); goto shutdown; } - wr += i; + wr += nsent; } if(libssh2_channel_eof(channel)) { fprintf(stderr, "The remote client at %s:%d disconnected!\n", diff --git a/example/x11.c b/example/x11.c index 5406b21e..0b8a3934 100644 --- a/example/x11.c +++ b/example/x11.c @@ -214,11 +214,12 @@ static int x11_send_receive(LIBSSH2_CHANNEL *channel, int sock) rc = libssh2_poll(fds, nfds, 0); if(rc >0) { - rc = libssh2_channel_read(channel, buf, bufsize); - write(sock, buf, rc); + ssize_t nread; + nread = libssh2_channel_read(channel, buf, bufsize); + write(sock, buf, nread); } - rc = select(sock + 1, &set, NULL, NULL, &timeval_out); + rc = select((int)(sock + 1), &set, NULL, NULL, &timeval_out); if(rc > 0) { memset((void *)buf, 0, bufsize); @@ -247,7 +248,7 @@ static int x11_send_receive(LIBSSH2_CHANNEL *channel, int sock) int main (int argc, char *argv[]) { - unsigned long hostaddr = 0; + uint32_t hostaddr = 0; int sock = 0; int rc = 0; struct sockaddr_in sin; @@ -448,7 +449,7 @@ main (int argc, char *argv[]) } - rc = select(fileno(stdin) + 1, &set, NULL, NULL, &timeval_out); + rc = select((int)(fileno(stdin) + 1), &set, NULL, NULL, &timeval_out); if(rc > 0) { /* Data in stdin*/ rc = read(fileno(stdin), buf, 1); diff --git a/tests/openssh_fixture.c b/tests/openssh_fixture.c index 9c358eae..ccae69e5 100644 --- a/tests/openssh_fixture.c +++ b/tests/openssh_fixture.c @@ -41,8 +41,8 @@ #endif #endif -#include "openssh_fixture.h" #include "session_fixture.h" +#include "openssh_fixture.h" #include "libssh2_config.h" #ifdef HAVE_WINSOCK2_H @@ -66,6 +66,12 @@ #include #include +#if defined(WIN32) && (defined(_M_X64) || defined(__x86_64__)) +#define LIBSSH2_SOCKET_MASK "%lld" +#else +#define LIBSSH2_SOCKET_MASK "%d" +#endif + static int have_docker = 0; static int run_command_varg(char **output, const char *command, va_list args) @@ -113,7 +119,7 @@ static int run_command_varg(char **output, const char *command, va_list args) buf[0] = 0; buf_len = 0; while(buf_len < (sizeof(buf) - 1) && - fgets(&buf[buf_len], sizeof(buf) - buf_len, pipe) != NULL) { + fgets(&buf[buf_len], (int)(sizeof(buf) - buf_len), pipe) != NULL) { buf_len = strlen(buf); } @@ -327,30 +333,30 @@ static int port_from_container(char *container_id, char **port_out) } } -static int open_socket_to_container(char *container_id) +static libssh2_socket_t open_socket_to_container(char *container_id) { char *ip_address = NULL; char *port_string = NULL; - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; struct sockaddr_in sin; int counter = 0; - int ret; + libssh2_socket_t ret = LIBSSH2_INVALID_SOCKET; if(have_docker) { - ret = ip_address_from_container(container_id, &ip_address); - if(ret != 0) { + int res; + res = ip_address_from_container(container_id, &ip_address); + if(res != 0) { fprintf(stderr, "Failed to get IP address for container %s\n", container_id); - ret = -1; goto cleanup; } - ret = port_from_container(container_id, &port_string); - if(ret != 0) { + res = port_from_container(container_id, &port_string); + if(res != 0) { fprintf(stderr, "Failed to get port for container %s\n", container_id); - ret = -1; + goto cleanup; } } else { @@ -365,7 +371,6 @@ static int open_socket_to_container(char *container_id) env = "4711"; } port_string = strdup(env); - ret = 0; } /* 0.0.0.0 is returned by Docker for Windows, because the container @@ -377,16 +382,15 @@ static int open_socket_to_container(char *container_id) } hostaddr = inet_addr(ip_address); - if(hostaddr == (unsigned long)(-1)) { + if(hostaddr == (uint32_t)(-1)) { fprintf(stderr, "Failed to convert %s host address\n", ip_address); - ret = -1; goto cleanup; } sock = socket(AF_INET, SOCK_STREAM, 0); - if(sock <= 0) { - fprintf(stderr, "Failed to open socket (%d)\n", sock); - ret = -1; + if(sock == LIBSSH2_INVALID_SOCKET) { + fprintf(stderr, + "Failed to open socket (" LIBSSH2_SOCKET_MASK ")\n", sock); goto cleanup; } @@ -397,7 +401,6 @@ static int open_socket_to_container(char *container_id) for(counter = 0; counter < 3; ++counter) { if(connect(sock, (struct sockaddr *)(&sin), sizeof(struct sockaddr_in)) != 0) { - ret = -1; fprintf(stderr, "Connection to %s:%s attempt #%d failed: retrying...\n", ip_address, port_string, counter); @@ -408,7 +411,7 @@ static int open_socket_to_container(char *container_id) break; } } - if(ret == -1) { + if(ret == LIBSSH2_INVALID_SOCKET) { fprintf(stderr, "Failed to connect to %s:%s\n", ip_address, port_string); goto cleanup; @@ -460,7 +463,7 @@ void stop_openssh_fixture(void) } } -int open_socket_to_openssh_server(void) +libssh2_socket_t open_socket_to_openssh_server(void) { return open_socket_to_container(running_container_id); } diff --git a/tests/openssh_fixture.h b/tests/openssh_fixture.h index f8e3632c..055ee4ef 100644 --- a/tests/openssh_fixture.h +++ b/tests/openssh_fixture.h @@ -40,6 +40,6 @@ int start_openssh_fixture(void); void stop_openssh_fixture(void); -int open_socket_to_openssh_server(void); +libssh2_socket_t open_socket_to_openssh_server(void); #endif diff --git a/tests/session_fixture.c b/tests/session_fixture.c index 521e60bf..1a25feb1 100644 --- a/tests/session_fixture.c +++ b/tests/session_fixture.c @@ -65,13 +65,13 @@ #include LIBSSH2_SESSION *connected_session = NULL; -int connected_socket = -1; +libssh2_socket_t connected_socket = LIBSSH2_INVALID_SOCKET; static int connect_to_server(void) { int rc; connected_socket = open_socket_to_openssh_server(); - if(connected_socket <= 0) { + if(connected_socket == LIBSSH2_INVALID_SOCKET) { return -1; } @@ -91,7 +91,7 @@ static void setup_fixture_workdir(void) #else char wd_buf[MAXPATHLEN]; #endif - char *wd = getenv("FIXTURE_WORKDIR"); + const char *wd = getenv("FIXTURE_WORKDIR"); #ifdef FIXTURE_WORKDIR if(!wd) { wd = FIXTURE_WORKDIR; diff --git a/tests/ssh2.c b/tests/ssh2.c index 983cc051..d9f1639e 100644 --- a/tests/ssh2.c +++ b/tests/ssh2.c @@ -32,7 +32,7 @@ int main(int argc, char *argv[]) { - unsigned long hostaddr; + uint32_t hostaddr; libssh2_socket_t sock; int i, auth_pw = 0; struct sockaddr_in sin; @@ -108,7 +108,8 @@ int main(int argc, char *argv[]) printf("\n"); /* check what authentication methods are available */ - userauthlist = libssh2_userauth_list(session, username, strlen(username)); + userauthlist = libssh2_userauth_list(session, username, + (unsigned int)strlen(username)); printf("Authentication methods: %s\n", userauthlist); if(strstr(userauthlist, "password") != NULL) { auth_pw |= 1; diff --git a/tests/test_agent_forward_succeeds.c b/tests/test_agent_forward_succeeds.c index 9d203dc9..990531df 100644 --- a/tests/test_agent_forward_succeeds.c +++ b/tests/test_agent_forward_succeeds.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) LIBSSH2_CHANNEL *channel; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_hostkey.c b/tests/test_hostkey.c index 80588b00..007b9bfb 100644 --- a/tests/test_hostkey.c +++ b/tests/test_hostkey.c @@ -33,13 +33,13 @@ int test(LIBSSH2_SESSION *session) if(type == LIBSSH2_HOSTKEY_TYPE_ECDSA_256) { rc = libssh2_base64_decode(session, &expected_hostkey, &expected_len, - EXPECTED_ECDSA_HOSTKEY, - strlen(EXPECTED_ECDSA_HOSTKEY)); + EXPECTED_ECDSA_HOSTKEY, + (unsigned int)strlen(EXPECTED_ECDSA_HOSTKEY)); } else if(type == LIBSSH2_HOSTKEY_TYPE_RSA) { rc = libssh2_base64_decode(session, &expected_hostkey, &expected_len, - EXPECTED_RSA_HOSTKEY, - strlen(EXPECTED_RSA_HOSTKEY)); + EXPECTED_RSA_HOSTKEY, + (unsigned int)strlen(EXPECTED_RSA_HOSTKEY)); } else { fprintf(stderr, "Unexpected type of hostkey: %i\n", type); diff --git a/tests/test_keyboard_interactive_auth_fails_with_wrong_response.c b/tests/test_keyboard_interactive_auth_fails_with_wrong_response.c index f41d0ce6..9927a96c 100644 --- a/tests/test_keyboard_interactive_auth_fails_with_wrong_response.c +++ b/tests/test_keyboard_interactive_auth_fails_with_wrong_response.c @@ -26,7 +26,7 @@ static void kbd_callback(const char *name, int name_len, if(num_prompts == 1) { responses[0].text = strdup(WRONG_PASSWORD); - responses[0].length = strlen(WRONG_PASSWORD); + responses[0].length = (unsigned int)strlen(WRONG_PASSWORD); } } @@ -35,7 +35,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -49,7 +50,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_keyboard_interactive_ex( - session, USERNAME, strlen(USERNAME), kbd_callback); + session, USERNAME, (unsigned int)strlen(USERNAME), kbd_callback); if(rc == 0) { fprintf(stderr, "Keyboard-interactive auth succeeded with wrong response\n"); diff --git a/tests/test_keyboard_interactive_auth_succeeds_with_correct_response.c b/tests/test_keyboard_interactive_auth_succeeds_with_correct_response.c index 224189ae..14746e96 100644 --- a/tests/test_keyboard_interactive_auth_succeeds_with_correct_response.c +++ b/tests/test_keyboard_interactive_auth_succeeds_with_correct_response.c @@ -28,7 +28,7 @@ static void kbd_callback(const char *name, int name_len, if(num_prompts == 1) { responses[0].text = strdup(PASSWORD); - responses[0].length = strlen(PASSWORD); + responses[0].length = (unsigned int)strlen(PASSWORD); } } @@ -37,7 +37,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -51,7 +52,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_keyboard_interactive_ex( - session, USERNAME, strlen(USERNAME), kbd_callback); + session, USERNAME, (unsigned int)strlen(USERNAME), kbd_callback); if(rc != 0) { print_last_session_error("libssh2_userauth_keyboard_interactive_ex"); return 1; diff --git a/tests/test_password_auth_fails_with_wrong_password.c b/tests/test_password_auth_fails_with_wrong_password.c index d888c78e..ec57b3b9 100644 --- a/tests/test_password_auth_fails_with_wrong_password.c +++ b/tests/test_password_auth_fails_with_wrong_password.c @@ -13,7 +13,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -25,8 +26,10 @@ int test(LIBSSH2_SESSION *session) return 1; } - rc = libssh2_userauth_password_ex(session, USERNAME, strlen(USERNAME), - WRONG_PASSWORD, strlen(WRONG_PASSWORD), + rc = libssh2_userauth_password_ex(session, USERNAME, + (unsigned int)strlen(USERNAME), + WRONG_PASSWORD, + (unsigned int)strlen(WRONG_PASSWORD), NULL); if(rc == 0) { fprintf(stderr, "Password auth succeeded with wrong password\n"); diff --git a/tests/test_password_auth_fails_with_wrong_username.c b/tests/test_password_auth_fails_with_wrong_username.c index e0630aa2..6ada9682 100644 --- a/tests/test_password_auth_fails_with_wrong_username.c +++ b/tests/test_password_auth_fails_with_wrong_username.c @@ -14,7 +14,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, WRONG_USERNAME, strlen(WRONG_USERNAME)); + libssh2_userauth_list(session, WRONG_USERNAME, + (unsigned int)strlen(WRONG_USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -27,8 +28,9 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_password_ex(session, WRONG_USERNAME, - strlen(WRONG_USERNAME), PASSWORD, - strlen(PASSWORD), NULL); + (unsigned int)strlen(WRONG_USERNAME), + PASSWORD, + (unsigned int)strlen(PASSWORD), NULL); if(rc == 0) { fprintf(stderr, "Password auth succeeded with wrong username\n"); return 1; diff --git a/tests/test_password_auth_succeeds_with_correct_credentials.c b/tests/test_password_auth_succeeds_with_correct_credentials.c index 48e62373..7b3fd7d8 100644 --- a/tests/test_password_auth_succeeds_with_correct_credentials.c +++ b/tests/test_password_auth_succeeds_with_correct_credentials.c @@ -14,7 +14,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -26,8 +27,10 @@ int test(LIBSSH2_SESSION *session) return 1; } - rc = libssh2_userauth_password_ex(session, USERNAME, strlen(USERNAME), - PASSWORD, strlen(PASSWORD), NULL); + rc = libssh2_userauth_password_ex(session, USERNAME, + (unsigned int)strlen(USERNAME), + PASSWORD, + (unsigned int)strlen(PASSWORD), NULL); if(rc != 0) { print_last_session_error("libssh2_userauth_password_ex"); return 1; diff --git a/tests/test_public_key_auth_fails_with_wrong_key.c b/tests/test_public_key_auth_fails_with_wrong_key.c index 44b459f8..83cba13d 100644 --- a/tests/test_public_key_auth_fails_with_wrong_key.c +++ b/tests/test_public_key_auth_fails_with_wrong_key.c @@ -14,7 +14,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -27,7 +28,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc == 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_dsa_key.c b/tests/test_public_key_auth_succeeds_with_correct_dsa_key.c index 01ea06e4..6d77b3b9 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_dsa_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_dsa_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { print_last_session_error("libssh2_userauth_publickey_fromfile_ex"); diff --git a/tests/test_public_key_auth_succeeds_with_correct_ecdsa_key.c b/tests/test_public_key_auth_succeeds_with_correct_ecdsa_key.c index 1a55686d..768f417c 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_ecdsa_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_ecdsa_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = NULL; - userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + userauth_list = libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_ed25519_key.c b/tests/test_public_key_auth_succeeds_with_correct_ed25519_key.c index ce15295e..31b9bf0d 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_ed25519_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_ed25519_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = NULL; - userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + userauth_list = libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c b/tests/test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c index 0a13edba..8f7865ff 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c +++ b/tests/test_public_key_auth_succeeds_with_correct_ed25519_key_from_mem.c @@ -18,7 +18,8 @@ int test(LIBSSH2_SESSION *session) size_t len = 0; const char *userauth_list = NULL; - userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + userauth_list = libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; diff --git a/tests/test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c b/tests/test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c index 998fa572..0095cf47 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_encrypted_ed25519_key.c @@ -16,7 +16,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = NULL; - userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + userauth_list = libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -29,7 +30,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), PASSWORD); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_encrypted_rsa_key.c b/tests/test_public_key_auth_succeeds_with_correct_encrypted_rsa_key.c index d114f95a..08acc2be 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_encrypted_rsa_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_encrypted_rsa_key.c @@ -16,7 +16,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -29,7 +30,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), PASSWORD); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_rsa_key.c b/tests/test_public_key_auth_succeeds_with_correct_rsa_key.c index aa0a79de..96792259 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_rsa_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_rsa_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c b/tests/test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c index c6b4cabb..cac578a3 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_rsa_openssh_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_signed_ecdsa_key.c b/tests/test_public_key_auth_succeeds_with_correct_signed_ecdsa_key.c index 1fd7db05..93d5a310 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_signed_ecdsa_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_signed_ecdsa_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = NULL; - userauth_list = libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + userauth_list = libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_public_key_auth_succeeds_with_correct_signed_rsa_key.c b/tests/test_public_key_auth_succeeds_with_correct_signed_rsa_key.c index ef64d298..4a9a6ddd 100644 --- a/tests/test_public_key_auth_succeeds_with_correct_signed_rsa_key.c +++ b/tests/test_public_key_auth_succeeds_with_correct_signed_rsa_key.c @@ -15,7 +15,8 @@ int test(LIBSSH2_SESSION *session) int rc; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -28,7 +29,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { diff --git a/tests/test_read.c b/tests/test_read.c index 14d05240..b7f9d6af 100644 --- a/tests/test_read.c +++ b/tests/test_read.c @@ -35,7 +35,8 @@ int test(LIBSSH2_SESSION *session) LIBSSH2_CHANNEL *channel; const char *userauth_list = - libssh2_userauth_list(session, USERNAME, strlen(USERNAME)); + libssh2_userauth_list(session, USERNAME, + (unsigned int)strlen(USERNAME)); if(userauth_list == NULL) { print_last_session_error("libssh2_userauth_list"); return 1; @@ -48,7 +49,7 @@ int test(LIBSSH2_SESSION *session) } rc = libssh2_userauth_publickey_fromfile_ex( - session, USERNAME, strlen(USERNAME), + session, USERNAME, (unsigned int)strlen(USERNAME), srcdir_path(KEY_FILE_PUBLIC), srcdir_path(KEY_FILE_PRIVATE), NULL); if(rc != 0) { print_last_session_error("libssh2_userauth_publickey_fromfile_ex"); @@ -73,7 +74,7 @@ int test(LIBSSH2_SESSION *session) char buf[1024]; ssize_t err = libssh2_channel_read(channel, buf, sizeof(buf)); if(err < 0) - fprintf(stderr, "Unable to read response: %zd\n", err); + fprintf(stderr, "Unable to read response: %d\n", (int)err); else { int i; for(i = 0; i < err; ++i) {