From: Richard Levitte Date: Wed, 13 Jan 2016 16:27:06 +0000 (+0100) Subject: Pipes on VMS do not work well with binary data, use an intermediary file X-Git-Tag: OpenSSL_1_1_0-pre2~29 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=412a963c5869d3e59ac753b93f6407947e21ca27;p=oweals%2Fopenssl.git Pipes on VMS do not work well with binary data, use an intermediary file VMS being a record oriented operating system, it's uncertain how the 'pipe' passes binary data from one process to another. Experience shows that we get in trouble, and it's probably due to the pipe in itself being opened in text mode (variable length records). It's safer to pass data via an intermediary file instead. Reviewed-by: Rich Salz --- diff --git a/test/recipes/80-test_ocsp.t b/test/recipes/80-test_ocsp.t index 96e1220ed2..6e256c7122 100644 --- a/test/recipes/80-test_ocsp.t +++ b/test/recipes/80-test_ocsp.t @@ -20,15 +20,17 @@ sub test_ocsp { my $CAfile = shift; my $expected_exit = shift; + run(app(["openssl", "base64", "-d", + "-in", catfile($ocspdir,$inputfile), + "-out", "ocsp-resp-fff.dat"])); with({ exit_checker => sub { return shift == $expected_exit; } }, - sub { ok(run(pipe(app(["openssl", "base64", "-d", - "-in", catfile($ocspdir,$inputfile)]), - app(["openssl", "ocsp", "-respin", "-", - "-partial_chain", @check_time, - "-CAfile", catfile($ocspdir, $CAfile), - "-verify_other", catfile($ocspdir, $CAfile), - "-no-CApath"]))), - $title); }); + sub { ok(run(app(["openssl", "ocsp", "-respin", "ocsp-resp-fff.dat", + "-partial_chain", @check_time, + "-CAfile", catfile($ocspdir, $CAfile), + "-verify_other", catfile($ocspdir, $CAfile), + "-no-CApath"])), + $title); }); + unlink "ocsp-resp-fff.dat"; } plan tests => 10;