aboutsummaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2019-12-07 11:39:35 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2019-12-07 11:39:35 +0000
commit9a71a9819fbc83789b01bae75cd2ccd14d131578 (patch)
tree5d140a61bafce03649894df72286be1a50bacf93 /benchmarks
parent59fe6b4d59b08cf24abfa5000e68ce38eb6ed7a3 (diff)
downloadports-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/Makefile13
-rw-r--r--benchmarks/httperf/distinfo5
-rw-r--r--benchmarks/httperf/files/patch-nossl2345
-rw-r--r--benchmarks/httperf/files/patch-src_core.c30
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",