Bug 230681 - benchmarks/httperf: for TLS > 1.0 first request send to server is garbage / random bits
Summary: benchmarks/httperf: for TLS > 1.0 first request send to server is garbage / r...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Julien Laffaye
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-16 23:36 UTC by szander
Modified: 2019-08-13 05:09 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (jlaffaye)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description szander 2018-08-16 23:36:51 UTC
When I use TLS 1.1 or TLS 1.2 the first request that is send to the server is completely garbage (looks like some random bits from memory rather than a HTTP request). Subsequent requests to the same server work fine. I'm not sure what precisely the issue is but I noted that core_ssl_connect() is written such that httperf can interleave other stuff while connecting. With a more "atomic" connect loop the problem is gone on my test machine: 

        while ((ssl_err = SSL_connect(s->ssl)) == -1) {
                int reason = SSL_get_error(s->ssl, ssl_err);

                if (reason != SSL_ERROR_WANT_READ &&
                    reason != SSL_ERROR_WANT_WRITE) {
                        fprintf(stderr,
                            "%s: failed to connect to SSL server (err=%d, reason=%d)\n",
                            prog_name, ssl_err, reason);
                        ERR_print_errors_fp(stderr);
                        exit(-1);
                }
        }
Comment 1 Walter Schwarzenfeld freebsd_triage 2019-08-13 05:09:46 UTC
Maintainer feedback!