On Mon, Aug 13, 2018 at 11:59:56AM -0500, Scott Cheloha wrote: > This is a fun one. When you run > > openssl s_time -connect host:port -new > > it exits with status 1, even if nothing fails, because we 'goto end' > without setting ret = 0 in the -new case. > > Present since the SSLeay 0.8.1b import into the OpenSSL tree [1]. > A seasoned bug. :) > > ok?
ok tb > > -- > Scott Cheloha > > [1] > https://github.com/openssl/openssl/blob/d02b48c63a58ea4367a0e905979f140b7d090f86/apps/s_time.c > > Index: usr.bin/openssl/s_time.c > =================================================================== > RCS file: /cvs/src/usr.bin/openssl/s_time.c,v > retrieving revision 1.25 > diff -u -p -r1.25 s_time.c > --- usr.bin/openssl/s_time.c 11 Aug 2018 16:07:36 -0000 1.25 > +++ usr.bin/openssl/s_time.c 13 Aug 2018 16:46:57 -0000 > @@ -316,29 +316,22 @@ s_time_main(int argc, char **argv) > /* goto end; */ > } > > - if (!(s_time_config.perform & 1)) > - goto next; > - printf("Collecting connection statistics for %lld seconds\n", > - (long long)s_time_config.maxtime); > - > /* Loop and time how long it takes to make connections */ > - > - if (benchmark(0)) > - goto end; > - > + if (s_time_config.perform & 1) { > + printf("Collecting connection statistics for %lld seconds\n", > + (long long)s_time_config.maxtime); > + if (benchmark(0)) > + goto end; > + } > /* > * Now loop and time connections using the same session id over and > * over > */ > - > - next: > - if (!(s_time_config.perform & 2)) > - goto end; > - printf("\n\nNow timing with session id reuse.\n"); > - > - if (benchmark(1)) > - goto end; > - > + if (s_time_config.perform & 2) { > + printf("\n\nNow timing with session id reuse.\n"); > + if (benchmark(1)) > + goto end; > + } > ret = 0; > end: > if (tm_ctx != NULL) {
