diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2019-12-07 11:39:35 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2019-12-07 11:39:35 +0000 |
commit | 9a71a9819fbc83789b01bae75cd2ccd14d131578 (patch) | |
tree | 5d140a61bafce03649894df72286be1a50bacf93 /benchmarks | |
parent | 59fe6b4d59b08cf24abfa5000e68ce38eb6ed7a3 (diff) | |
download | ports-9a71a9819fbc83789b01bae75cd2ccd14d131578.tar.gz ports-9a71a9819fbc83789b01bae75cd2ccd14d131578.zip |
- Update to the latest GitHub commit: current version is from 2015
and is not compatible with modern OpenSSL implementations
- Set PORTVERSION to the version number as reported by `httperf -V'
- Increase buffer size in do_recv() to match TLS record size which
can be up to 16kB [1]
- When using TLS 1.1 or TLS 1.2, the first SSL_connect() may often
return error, while subsequent requests work fine -- to mitigate
this, try to SSL_connect() a little harder [2]
Approved by: maintainer timeout
PR: 230680 [1], 230681 [2]
Notes
Notes:
svn path=/head/; revision=519200
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/httperf/Makefile | 13 | ||||
-rw-r--r-- | benchmarks/httperf/distinfo | 5 | ||||
-rw-r--r-- | benchmarks/httperf/files/patch-nossl23 | 45 | ||||
-rw-r--r-- | benchmarks/httperf/files/patch-src_core.c | 30 |
4 files changed, 36 insertions, 57 deletions
diff --git a/benchmarks/httperf/Makefile b/benchmarks/httperf/Makefile index d226a4121a00..5a58fedc02bb 100644 --- a/benchmarks/httperf/Makefile +++ b/benchmarks/httperf/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= httperf -PORTVERSION= 0.9.0.1 +PORTVERSION= 0.9.1 CATEGORIES= benchmarks www MAINTAINER= jlaffaye@FreeBSD.org @@ -13,7 +13,7 @@ LICENSE= GPLv2 GNU_CONFIGURE= yes USES= autoreconf gmake libtool ssl USE_GITHUB= yes -GH_TAGNAME= dcfb746 +GH_TAGNAME= 568322e MAKE_ARGS= LIBUTIL_OBJS=ssl_writev.o \ exec_prefix=${PREFIX} @@ -23,13 +23,6 @@ PORTDOCS= ChangeLog NEWS README TODO OPTIONS_DEFINE= DOCS -.include <bsd.port.pre.mk> - -.if ${SSL_DEFAULT} == base -BROKEN_FreeBSD_12= error: incomplete definition of type 'struct ssl_cipher_st' -BROKEN_FreeBSD_13= error: incomplete definition of type 'struct ssl_cipher_st' -.endif - do-install: ${INSTALL_MAN} ${WRKSRC}/man/${PORTNAME}.1 \ ${STAGEDIR}${MAN1PREFIX}/man/man1 @@ -39,4 +32,4 @@ do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR} -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/benchmarks/httperf/distinfo b/benchmarks/httperf/distinfo index d8795a901555..aa2c6f635dd1 100644 --- a/benchmarks/httperf/distinfo +++ b/benchmarks/httperf/distinfo @@ -1,2 +1,3 @@ -SHA256 (httperf-httperf-0.9.0.1-dcfb746_GH0.tar.gz) = 72294a3cbfd78b48f38b077f7a380ef24b69f3bc24f6ec87875f2f069153677d -SIZE (httperf-httperf-0.9.0.1-dcfb746_GH0.tar.gz) = 103950 +TIMESTAMP = 1567099566 +SHA256 (httperf-httperf-0.9.1-568322e_GH0.tar.gz) = 03fea35c6a1ce4c4a5461b45708659ffc48906b63816721eec20cc01f9d2d1c0 +SIZE (httperf-httperf-0.9.1-568322e_GH0.tar.gz) = 107694 diff --git a/benchmarks/httperf/files/patch-nossl23 b/benchmarks/httperf/files/patch-nossl23 deleted file mode 100644 index 5325a68ba8e3..000000000000 --- a/benchmarks/httperf/files/patch-nossl23 +++ /dev/null @@ -1,45 +0,0 @@ ---- src/httperf.c -+++ src/httperf.c -@@ -664,10 +664,14 @@ main(int argc, char **argv) - { - if (strcasecmp (optarg, "auto") == 0) - param.ssl_protocol = 0; -+#ifndef OPENSSL_NO_SSL2 - else if (strcasecmp (optarg, "SSLv2") == 0) - param.ssl_protocol = 2; -+#endif -+#ifndef OPENSSL_NO_SSL3 - else if (strcasecmp (optarg, "SSLv3") == 0) - param.ssl_protocol = 3; -+#endif - else if (strcasecmp (optarg, "TLSv1") == 0) - param.ssl_protocol = 4; - else -@@ -997,10 +1001,14 @@ main(int argc, char **argv) - { - /* 0/auto for SSLv23 */ - case 0: ssl_ctx = SSL_CTX_new (SSLv23_client_method ()); break; -+#ifndef OPENSSL_NO_SSL2 - /* 2/SSLv2 */ - case 2: ssl_ctx = SSL_CTX_new (SSLv2_client_method ()); break; -+#endif -+#ifndef OPENSSL_NO_SSL3 - /* 3/SSLv3 */ - case 3: ssl_ctx = SSL_CTX_new (SSLv3_client_method ()); break; -+#endif - /* 4/TLSv1 */ - case 4: ssl_ctx = SSL_CTX_new (TLSv1_client_method ()); break; - } -@@ -1204,8 +1212,12 @@ main(int argc, char **argv) - switch (param.ssl_protocol) - { - case 0: printf (" --ssl-protocol=auto"); break; -+#ifndef OPENSSL_NO_SSL2 - case 2: printf (" --ssl-protocol=SSLv2"); break; -+#endif -+#ifndef OPENSSL_NO_SSL3 - case 3: printf (" --ssl-protocol=SSLv3"); break; -+#endif - case 4: printf (" --ssl-protocol=TLSv1"); break; - } - #endif diff --git a/benchmarks/httperf/files/patch-src_core.c b/benchmarks/httperf/files/patch-src_core.c new file mode 100644 index 000000000000..f6d0840073ec --- /dev/null +++ b/benchmarks/httperf/files/patch-src_core.c @@ -0,0 +1,30 @@ +--- src/core.c.orig 2019-08-29 17:26:06 UTC ++++ src/core.c +@@ -651,7 +651,7 @@ recv_done(Call * call) + static void + do_recv(Conn * s) + { +- char *cp, buf[8193]; ++ char *cp, buf[16385]; + Call *c = s->recvq; + int i, saved_errno; + ssize_t nread = 0; +@@ -1062,8 +1062,7 @@ core_ssl_connect(Conn * s) + exit(-1); + } + +- ssl_err = SSL_connect(s->ssl); +- if (ssl_err < 0) { ++ while ((ssl_err = SSL_connect(s->ssl)) < 0) { + int reason = SSL_get_error(s->ssl, ssl_err); + + if (reason == SSL_ERROR_WANT_READ +@@ -1083,7 +1082,7 @@ core_ssl_connect(Conn * s) + clear_active(s, READ); + set_active(s, WRITE); + } +- return; ++ continue; + } + fprintf(stderr, + "%s: failed to connect to SSL server (err=%d, reason=%d)\n", |