From: Joe Orton Date: Tue, 19 Jun 2012 15:13:37 +0000 (+0000) Subject: * support/ab.c (test, start_connect): Only bind the local end of the X-Git-Tag: 2.5.0-alpha~6722 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6c85d01a0618f8c3c968ed8ee4673c535eb51746;p=thirdparty%2Fapache%2Fhttpd.git * support/ab.c (test, start_connect): Only bind the local end of the socket (and look up an address for it) if -B is specified. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1351737 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/support/ab.c b/support/ab.c index 6b1e98954fa..d2b1a986f93 100644 --- a/support/ab.c +++ b/support/ab.c @@ -1186,8 +1186,10 @@ static void start_connect(struct connection * c) apr_err("socket", rv); } - if ((rv = apr_socket_bind(c->aprsock, mysa)) != APR_SUCCESS) { - apr_err("bind", rv); + if (myhost) { + if ((rv = apr_socket_bind(c->aprsock, mysa)) != APR_SUCCESS) { + apr_err("bind", rv); + } } c->pollfd.desc_type = APR_POLL_SOCKET; @@ -1686,13 +1688,15 @@ static void test(void) exit(1); } #endif /* NOT_ASCII */ - - /* This only needs to be done once */ - if ((rv = apr_sockaddr_info_get(&mysa, myhost, APR_UNSPEC, 0, 0, cntxt)) != APR_SUCCESS) { - char buf[120]; - apr_snprintf(buf, sizeof(buf), - "apr_sockaddr_info_get() for %s", myhost); - apr_err(buf, rv); + + if (myhost) { + /* This only needs to be done once */ + if ((rv = apr_sockaddr_info_get(&mysa, myhost, APR_UNSPEC, 0, 0, cntxt)) != APR_SUCCESS) { + char buf[120]; + apr_snprintf(buf, sizeof(buf), + "apr_sockaddr_info_get() for %s", myhost); + apr_err(buf, rv); + } } /* This too */