Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

test,win: speedup tls-server-verify #25368

Closed
wants to merge 7 commits into from
Closed

test,win: speedup tls-server-verify #25368

wants to merge 7 commits into from

Conversation

orangemocha
Copy link
Contributor

Addresses #25279 (and the related nodejs/node#1461 once ported there).

The test now takes half as long as it did before.

@orangemocha
Copy link
Contributor Author

@indutny , I noticed that in the test case that has renegotiate:true only connection with the first client is renegotiated, and the test depends on that. That's why we didn't parallelize clients if renegotiate is true. Was that intentional / mean to test that specific sequence? If not, we could refactor that test case to speed up things a bit more.

@orangemocha
Copy link
Contributor Author

With the -no-rand-screen changes, the test is now much much faster (less than 1s) on my machine. I am not sure however if speeding up a test is a good justification for adding a floating patch in openssl. I added all the commits in here to get more feedback.

joaocgreis and others added 7 commits June 1, 2015 19:03
OpenSSL s_client introduces some delay on Windows. With all clients
running sequentially, this delay is big enough to break CI. This fix runs
the clients in parallel (unless the test includes renegotiation),
reducing the total run time.
Different servers must use different ports. Since we can count only on
common.PORT and common.PORT+1, run only 2 servers in parallel.
When running in parallel, it is not easy to identify what server and
client failed when the test fails. This adds identifiers to all lines
of console output.
Now that the test is fixed, node-accept-pull-request should
fail when the test fails.
For better performance of the test, the parent kills child processes
so as not to wait them to be ended.

(cherry picked from commit 833b236)
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)
This improves the performance of openssl s_client on Windows and
gains several seconds to finish test-tls-server-verify.

(cherry picked from commit 2ff517e)
@joaocgreis
Copy link
Member

I updated the commits as suggested in nodejs/node#1836 .

@orangemocha
Copy link
Contributor Author

@joyent/node-coreteam : these changes already landed in io.js with nodejs/node#1836. Can you give a quick +1 so I can land this PR here?

Please note that the commits about -no_rand_screen are floated on top of openssl.

@jasnell
Copy link
Member

jasnell commented Jun 3, 2015

LGTM

orangemocha pushed a commit that referenced this pull request Jun 4, 2015
OpenSSL s_client introduces some delay on Windows. With all clients
running sequentially, this delay is big enough to break CI. This fix runs
the clients in parallel (unless the test includes renegotiation),
reducing the total run time.

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
orangemocha pushed a commit that referenced this pull request Jun 4, 2015
Different servers must use different ports. Since we can count only on
common.PORT and common.PORT+1, run only 2 servers in parallel.

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
orangemocha pushed a commit that referenced this pull request Jun 4, 2015
When running in parallel, it is not easy to identify what server and
client failed when the test fails. This adds identifiers to all lines
of console output.

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
orangemocha added a commit that referenced this pull request Jun 4, 2015
Now that the test is fixed, node-accept-pull-request should
fail when the test fails.

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
orangemocha pushed a commit that referenced this pull request Jun 4, 2015
For better performance of the test, the parent kills child processes
so as not to wait them to be ended.

(cherry picked from commit 833b236)

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
orangemocha pushed a commit that referenced this pull request Jun 4, 2015
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
orangemocha pushed a commit that referenced this pull request Jun 4, 2015
This improves the performance of openssl s_client on Windows and
gains several seconds to finish test-tls-server-verify.

(cherry picked from commit 2ff517e)

Reviewed-By: James M Snell <[email protected]>
PR-URL: #25368
@orangemocha
Copy link
Contributor Author

Thank you, landed in 1034982 and adjacent commits.

@misterdjules
Copy link

@orangemocha Thanks! Could you please add the floating patches to the list here: https://github.com/joyent/node/wiki/OpenSSL-upgrade-process#floating-patches? Also, is there a chance that these patches are landed in OpenSSL upstream?

@misterdjules misterdjules added this to the 0.12.5 milestone Jun 4, 2015
@orangemocha
Copy link
Contributor Author

Could you please add the floating patches to the list here: https://github.com/joyent/node/wiki/OpenSSL-upgrade-process#floating-patches?

Updated. Thanks for reminding me @misterdjules !

Also, is there a chance that these patches are landed in OpenSSL upstream?

Quoting @shigeki :

The patch of -no-rand-screen would not be accepted to the upstream because it can not be applied in a general use. This fix was made carefully to be as small as minimum and limited to have changes of only openssl-cli.exe binary so that libopenssl.a linked to node is nothing to do with it.

@misterdjules
Copy link

@orangemocha @shigeki Thank you and great work on that one again! Out of curiosity, have we tried to actually upstream the s_client patch? Maybe a compromise could be reached that would avoid floating another patch?

@shigeki
Copy link

shigeki commented Jun 8, 2015

@misterdjules I think that this patch is hard to be accepted to the upstream. The code of RAND_screen is really old code since SSLeay about more than 10 years ago and I cannot insist my confidence that we have enough entropy to be secure without this in a general use case. As for floating patch to openssl-clie.exe in node repo for using unit test, another fix of keypress have already been introduced in https://github.com/joyent/node/commits/master/deps/openssl/openssl/apps/s_client.c . We have two floating patches as a result.

@misterdjules
Copy link

@shigeki I put up a list of current floating patches on top of OpenSSL in joyent/node, and we are already at 5 floating patches. I wouldn't be surprised if I missed a few. My main concern is having this list grow over time to something that becomes difficult to manage.

If it doesn't take a lot of effort for you (and if you have time) to send a patch upstream and get some feedback from the OpenSSL project, I would still think that's worth it just to try and see how that goes.

sxa pushed a commit to sxa/node-v0.x-archive that referenced this pull request Jun 12, 2015
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#25368
sxa pushed a commit to sxa/node-v0.x-archive that referenced this pull request Jun 12, 2015
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#25368
shigeki pushed a commit to shigeki/node that referenced this pull request Jan 30, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to nodejs/node that referenced this pull request Jan 30, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to nodejs/node that referenced this pull request Jan 30, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
rvagg pushed a commit to nodejs/node that referenced this pull request Feb 8, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
rvagg pushed a commit to nodejs/node that referenced this pull request Feb 8, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
jasnell pushed a commit to nodejs/node that referenced this pull request Feb 9, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
jasnell pushed a commit to nodejs/node that referenced this pull request Feb 9, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: #4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: #9451
PR-URL: nodejs/node-v0.x-archive#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to shigeki/node that referenced this pull request May 4, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to shigeki/node that referenced this pull request May 5, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to nodejs/node that referenced this pull request May 5, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to nodejs/node that referenced this pull request May 5, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
enricogior pushed a commit to thaliproject/jxcore that referenced this pull request Aug 20, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
shigeki pushed a commit to shigeki/node that referenced this pull request Sep 22, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
MylesBorins pushed a commit to MylesBorins/node that referenced this pull request Sep 22, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
rvagg pushed a commit to nodejs/node that referenced this pull request Sep 27, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c38e6df975dd39735d0e9ef968076369c74)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs/node-v0.x-archive#25368
jBarz pushed a commit to ibmruntimes/node that referenced this pull request Nov 4, 2016
This replaces all sources of openssl-1.0.1r.tar.gz into
deps/openssl/openssl

PR-URL: nodejs/node#4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: copy all openssl header files to include dir

All symlink files in `deps/openssl/openssl/include/openssl/`
are removed and replaced with real header files to avoid
issues on Windows. Two files of opensslconf.h in crypto and
include dir are replaced to refer config/opensslconf.h.

PR-URL: nodejs/node#4967
Reviewed-By: Ben Noordhuis <[email protected]>

deps: separate sha256/sha512-x86_64.pl for openssl

sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.

PR: nodejs#9451
PR-URL: nodejs#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

PR: nodejs#9451
PR-URL: nodejs#9451
Reviewed-By: Julien Gilli <[email protected]>

openssl: fix keypress requirement in apps on win32

reapply b910613

PR: nodejs#9451
PR-URL: nodejs#9451
Reviewed-By: Julien Gilli <[email protected]>

deps: add -no_rand_screen to openssl s_client

In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#25368
jBarz pushed a commit to ibmruntimes/node that referenced this pull request Nov 4, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#25368
jBarz pushed a commit to ibmruntimes/node that referenced this pull request Nov 4, 2016
In openssl s_client on Windows, RAND_screen() is invoked to initialize
random state but it takes several seconds in each connection.
This added -no_rand_screen to openssl s_client on Windows to skip
RAND_screen() and gets a better performance in the unit test of
test-tls-server-verify.
Do not enable this except to use in the unit test.

(cherry picked from commit 9f0f7c3)

Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#25368
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants