Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: update OpenSSL 3.0.4+quic #43589

Closed
wants to merge 2 commits into from

Conversation

RafaelGSS
Copy link
Member

Updated openssl dep to openssl-3.0.4p+quic using the maintenance guide.

Refs: https://mta.openssl.org/pipermail/openssl-announce/2022-June/000228.html

This updates all sources in deps/openssl/openssl by:
    $ git clone git@github.com:quictls/openssl.git
    $ cd openssl
    $ git checkout openssl-3.0.4+quic
    $ cd ../node/deps/openssl
    $ rm -rf openssl
    $ cp -R ../../../openssl openssl
    $ rm -rf openssl/.git* openssl/.travis*
    $ git add --all openssl
    $ git commit openssl
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/gyp

@nodejs-github-bot nodejs-github-bot added dependencies Pull requests that update a dependency file. needs-ci PRs that need a full CI run. openssl Issues and PRs related to the OpenSSL dependency. labels Jun 27, 2022
@richardlau richardlau added the request-ci Add this label to start a Jenkins CI on a PR. label Jun 27, 2022
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Jun 27, 2022
@nodejs-github-bot

This comment was marked as outdated.

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rubber stamp LGTM

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@RafaelGSS
Copy link
Member Author

This keeps failing similar to #43536. @nodejs/build Honestly, I haven't found any valuable information why this is failing from the CI, any idea?

@richardlau
Copy link
Member

After investigation I think I've figured out what's going wrong. The platforms consistently failing are macOS and Windows and the commonality they have is that they are on case insensitive filesystems. If we look at one of the failing CI logs,
e.g. https://ci.nodejs.org/job/node-test-commit-osx/nodes=osx11-x64/45854/console

12:54:44 Changes not staged for commit:
12:54:44   (use "git add <file>..." to update what will be committed)
12:54:44   (use "git restore <file>..." to discard changes in working directory)
12:54:44 	modified:   deps/openssl/config/archs/BSD-x86/asm/crypto/aes/aes-586.s
12:54:44 	modified:   deps/openssl/config/archs/BSD-x86/asm/crypto/aes/aesni-x86.s
...

and the corresponding source tree in this PR, https://github.com/RafaelGSS/node/tree/6c706e9b0f1fabbc20a9a9915cc9c02d9a191f8c/deps/openssl/config/archs/BSD-x86/asm/crypto/aes we can see that we have both:

This looks to have come about from quictls/openssl@6cfbb4b -- the intent was to rename the files from the lower case version to the upper case one. Probably a gap in our update instructions somewhere that means we've not removed the lower case versions.

@RafaelGSS
Copy link
Member Author

Thank you! I'll look at it.

After an OpenSSL source update, all the config files need to be
regenerated and committed by:
    $ make -C deps/openssl/config clean
    $ make -C deps/openssl/config
    $ git add deps/openssl/config/archs
    $ git add deps/openssl/openssl
    $ git commit
@RafaelGSS
Copy link
Member Author

I've run the make -C deps/openssl/config clean first. Let's see how it behaves. In case it works, I'll update the maintaining-openssl document.

@richardlau
Copy link
Member

https://github.com/nodejs/node/runs/7097656711?check_suite_focus=true#step:5:379

gyp: /home/runner/work/node/node/deps/openssl/config/archs/aix-gcc/no-asm/openssl.gypi not found (cwd: /home/runner/work/node/node) while reading includes of /home/runner/work/node/node/deps/openssl/openssl_no_asm.gypi while reading includes of /home/runner/work/node/node/deps/openssl/openssl.gyp while loading dependencies of /home/runner/work/node/node/node.gyp while trying to load /home/runner/work/node/node/node.gyp

ugh. Looks like we didn't update the gyp files when removing some of the archs in #42616 and didn't notice before because we never deleted the archs that were removed until make -C deps/openssl/config clean was run (they won't be put back by regenerating the config).

We'll need to update all of the .gypi files in deps/openssl to remove references to the architectures removed by #42616. @RafaelGSS Let me know if you be more comfortable with me doing that (would be tomorrow for me at the earliest now).

@RafaelGSS
Copy link
Member Author

The cleanup of .s worked in #43603, but we're facing a new issue. Closing this one anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file. needs-ci PRs that need a full CI run. openssl Issues and PRs related to the OpenSSL dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants