Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Upgrade to openssl-1.0.2a (Part2: final) #1389
This is a final PR for upgrading to openssl-1.0.2a. I'm sorry for this is a really big patch for I could not succeed separating. This PR consist of 4 type of commits. I think we can focus to review 2nd and 3rd part.
1. source updates and private patches
e5624ef deps: upgrade openssl to 1.0.2a
2. openssconf.h and openssl.gyp/gypi updates
c3e3c4d deps: replace all headers in openssl
3. asm updates
Ci is https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/486/ and it seems fine . The test failures in armv7 and wins are not related this PR.
How to upgrade openssl library in io.js
This document is intended to describe the procedure to upgrade openssl
Build System and Upgrading Overview
The openssl build system is based on the perl script of Configure.
In io.js, build target is defined as
In order to build openssl with gyp in iojs, files of opensslconf.h and
Here is a map table to show conf(opensslconf.h) and asm between
All parameters such as sources, defines, cflags and others generated
The header file of
Assembler support is one of the key features in openssl, but asm files
Since perl is not a build requirement in iojs, they all should be
The following is the detail instruction steps how to upgrade openssl
1. Replace openssl source in
"In certain situations" is a little vague. I would write it as e.g.:
Thanks for all reviewing my big patches. All fixes are made and Ci looks fine in https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/488/
If the updated commits have no problems, I will merge them after releasing v1.6.5. I will also summarize my benchmark results for updating 1.0.2a. After that, rootCA updates and RC4 removal with 1024-bit RSA deprecation will be submitted.
@bnoordhuis Actually the current support for older toolchains are made to work in the CI of Ubuntu10/12 which have older binutils. And I found that clang in FreeBSD does not have a version banner of llvm so that assembler check was failed in to use obsoleted asm files. We can check them as long as the current CI cluster are used. I think we have to more clarify the build requirements of iojs with not only compiler versions but also assembler together with OS and CPU in order to deprecate asm_obsolete supports.
Happy to discuss this if it's seen as necessary, we could spin up VMs to run 32-bit tests. We're only shipping 64-bit binaries for OSX at the moment, not even universal binaries, and nobody has complained.