# HG changeset patch # User Matt Johnston # Date 1457617055 -28800 # Node ID 428d83f2e5db514775366f1915d35444b73177cc # Parent 11f645c3715bc2216371197af4604f8cca251c01# Parent 1df4a0a162d7a01ded9f381ce8f26b455bcd7dc9 merge github master diff -r 11f645c3715b -r 428d83f2e5db .travis.yml --- a/.travis.yml Thu Mar 10 21:35:23 2016 +0800 +++ b/.travis.yml Thu Mar 10 21:37:35 2016 +0800 @@ -1,23 +1,55 @@ language: c + +os: + - linux + - osx + +env: + matrix: + - BUNDLEDLIBTOM=--disable-bundled-libtom WEXTRAFLAGS=-Werror + - BUNDLEDLIBTOM=--enable-bundled-libtom + - MULTI=1 + - NOWRITEV=1 + +# TODO: remove this section when libtomcrypt compiles on OSX: https://github.com/libtom/libtomcrypt/issues/82 +matrix: + exclude: + - os: osx + env: BUNDLEDLIBTOM=--disable-bundled-libtom WEXTRAFLAGS=-Werror + - os: osx + env: MULTI=1 + - os: osx + env: NOWRITEV=1 + compiler: - gcc + - clang -script: - - autoconf && autoheader && ./configure $BUNDLEDLIBTOM CFLAGS="-O2 -Wall -Wno-pointer-sign $WEXTRAFLAGS" --prefix=$HOME/inst - - test "$NOWRITEV" && sed -i s/HAVE_WRITEV/DONT_HAVE_WRITEV/ config.h || true - - make install +# container-based builds +sudo: false +addons: + apt: + packages: + # packages list: https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise + - zlib1g-dev + - libtomcrypt-dev + - libtommath-dev + + +before_install: + - if [ "$CC" = "clang" ]; then WEXTRAFLAGS="$WEXTRAFLAGS -Wno-error=incompatible-library-redeclaration" ; fi # workaround + +install: + - if [ "$TRAVIS_OS_NAME" = "osx" -a "$BUNDLEDLIBTOM" != "--enable-bundled-libtom" ]; then brew update > /dev/null && brew install libtomcrypt libtommath ; fi + +script: + - autoconf && autoheader && ./configure "$BUNDLEDLIBTOM" CFLAGS="-O2 -Wall -Wno-pointer-sign $WEXTRAFLAGS" --prefix="$HOME/inst" + - if [ "$NOWRITEV" = "1" ]; then sed -i s/HAVE_WRITEV/DONT_HAVE_WRITEV/ config.h ; fi + - make -j3 install + +after_success: - ~/inst/bin/dropbearkey -t rsa -f testrsa - ~/inst/bin/dropbearkey -t dss -f testdss - ~/inst/bin/dropbearkey -t ecdsa -f testec256 -s 256 - ~/inst/bin/dropbearkey -t ecdsa -f testec384 -s 384 - ~/inst/bin/dropbearkey -t ecdsa -f testec521 -s 521 - -before_install: - - sudo apt-get update -qq - - sudo apt-get install -qq libz-dev libtomcrypt-dev libtommath-dev - -env: - - BUNDLEDLIBTOM=--disable-bundled-libtom WEXTRAFLAGS=-Werror - - BUNDLEDLIBTOM=--enable-bundled-libtom - - MULTI=1 - - NOWRITEV=1 diff -r 11f645c3715b -r 428d83f2e5db cli-runopts.c --- a/cli-runopts.c Thu Mar 10 21:35:23 2016 +0800 +++ b/cli-runopts.c Thu Mar 10 21:37:35 2016 +0800 @@ -538,7 +538,7 @@ if (opts.recv_window != DEFAULT_RECV_WINDOW) { - int written = snprintf(ret+total, len-total, "-W %d ", opts.recv_window); + int written = snprintf(ret+total, len-total, "-W %u ", opts.recv_window); total += written; } diff -r 11f645c3715b -r 428d83f2e5db cli-tcpfwd.c --- a/cli-tcpfwd.c Thu Mar 10 21:35:23 2016 +0800 +++ b/cli-tcpfwd.c Thu Mar 10 21:37:35 2016 +0800 @@ -273,7 +273,7 @@ goto out; } - snprintf(portstring, sizeof(portstring), "%d", fwd->connectport); + snprintf(portstring, sizeof(portstring), "%u", fwd->connectport); channel->conn_pending = connect_remote(fwd->connectaddr, portstring, channel_connect_done, channel); channel->prio = DROPBEAR_CHANNEL_PRIO_UNKNOWABLE; diff -r 11f645c3715b -r 428d83f2e5db compat.c --- a/compat.c Thu Mar 10 21:35:23 2016 +0800 +++ b/compat.c Thu Mar 10 21:37:35 2016 +0800 @@ -235,7 +235,7 @@ static char **initshells() { /* don't touch this list. */ - const char *okshells[] = { "/bin/sh", "/bin/csh", NULL }; + static const char *okshells[] = { "/bin/sh", "/bin/csh", NULL }; register char **sp, *cp; register FILE *fp; struct stat statb; diff -r 11f645c3715b -r 428d83f2e5db svr-authpam.c --- a/svr-authpam.c Thu Mar 10 21:35:23 2016 +0800 +++ b/svr-authpam.c Thu Mar 10 21:37:35 2016 +0800 @@ -218,7 +218,7 @@ } /* just to set it to something */ - if ((rc = pam_set_item(pamHandlep, PAM_TTY, "ssh") != PAM_SUCCESS)) { + if ((rc = pam_set_item(pamHandlep, PAM_TTY, "ssh")) != PAM_SUCCESS) { dropbear_log(LOG_WARNING, "pam_set_item() failed, rc=%d, %s", rc, pam_strerror(pamHandlep, rc)); goto cleanup; diff -r 11f645c3715b -r 428d83f2e5db svr-session.c --- a/svr-session.c Thu Mar 10 21:35:23 2016 +0800 +++ b/svr-session.c Thu Mar 10 21:37:35 2016 +0800 @@ -160,7 +160,7 @@ } else if (ses.authstate.pw_name) { /* we have a potential user */ snprintf(fmtbuf, sizeof(fmtbuf), - "Exit before auth (user '%s', %d fails): %s", + "Exit before auth (user '%s', %u fails): %s", ses.authstate.pw_name, ses.authstate.failcount, format); } else { /* before userauth */ diff -r 11f645c3715b -r 428d83f2e5db svr-tcpfwd.c --- a/svr-tcpfwd.c Thu Mar 10 21:35:23 2016 +0800 +++ b/svr-tcpfwd.c Thu Mar 10 21:37:35 2016 +0800 @@ -269,7 +269,7 @@ goto out; } - snprintf(portstring, sizeof(portstring), "%d", destport); + snprintf(portstring, sizeof(portstring), "%u", destport); channel->conn_pending = connect_remote(desthost, portstring, channel_connect_done, channel); channel->prio = DROPBEAR_CHANNEL_PRIO_UNKNOWABLE; diff -r 11f645c3715b -r 428d83f2e5db svr-x11fwd.c --- a/svr-x11fwd.c Thu Mar 10 21:35:23 2016 +0800 +++ b/svr-x11fwd.c Thu Mar 10 21:37:35 2016 +0800 @@ -165,7 +165,7 @@ } /* create the DISPLAY string */ - val = snprintf(display, sizeof(display), "localhost:%d.%d", + val = snprintf(display, sizeof(display), "localhost:%d.%u", chansess->x11port - X11BASEPORT, chansess->x11screennum); if (val < 0 || val >= (int)sizeof(display)) { /* string was truncated */ @@ -175,7 +175,7 @@ addnewvar("DISPLAY", display); /* create the xauth string */ - val = snprintf(display, sizeof(display), "unix:%d.%d", + val = snprintf(display, sizeof(display), "unix:%d.%u", chansess->x11port - X11BASEPORT, chansess->x11screennum); if (val < 0 || val >= (int)sizeof(display)) { /* string was truncated */ diff -r 11f645c3715b -r 428d83f2e5db tcp-accept.c --- a/tcp-accept.c Thu Mar 10 21:35:23 2016 +0800 +++ b/tcp-accept.c Thu Mar 10 21:37:35 2016 +0800 @@ -121,7 +121,7 @@ TRACE(("enter listen_tcpfwd")) /* first we try to bind, so don't need to do so much cleanup on failure */ - snprintf(portstring, sizeof(portstring), "%d", tcpinfo->listenport); + snprintf(portstring, sizeof(portstring), "%u", tcpinfo->listenport); nsocks = dropbear_listen(tcpinfo->listenaddr, portstring, socks, DROPBEAR_MAX_SOCKS, &errstring, &ses.maxfd);