@@ -4,28 +4,6 @@ OpenSSL is automatically updated by the [update-openssl-action][]. |
4 | 4 | There is also a script in `tools/dep_updaters` that can be used to update it. |
5 | 5 | This document describes how to manually update `deps/openssl/`. |
6 | 6 |
|
7 | | -If you need to provide updates across all active release lines you will |
8 | | -currently need to generate four PRs as follows: |
9 | | - |
10 | | -* a PR for `main` which is generated following the instructions |
11 | | - below for OpenSSL 3.x.x. |
12 | | -* a PR for 18.x following the instructions in the v18.x-staging version |
13 | | - of this guide. |
14 | | -* a PR for 16.x following the instructions in the v16.x-staging version |
15 | | - of this guide. |
16 | | - |
17 | | -## Use of the quictls/openssl fork |
18 | | - |
19 | | -Node.js currently uses the quictls/openssl fork, which closely tracks |
20 | | -the main openssl/openssl releases with the addition of APIs to support |
21 | | -the QUIC protocol. |
22 | | - |
23 | | -Details on the fork, as well as the latest sources, can be found at |
24 | | -<https://github.com/quictls/openssl>. |
25 | | - |
26 | | -Branches are used per OpenSSL version (for instance, |
27 | | -<https://github.com/quictls/openssl/tree/OpenSSL_1_1_1j+quic>). |
28 | | - |
29 | 7 | ## Requirements |
30 | 8 |
|
31 | 9 | * Linux environment. |
@@ -52,35 +30,33 @@ NASM version 2.11.08 |
52 | 30 |
|
53 | 31 | ## 1. Obtain and extract new OpenSSL sources |
54 | 32 |
|
55 | | -Get a new source from <https://github.com/quictls/openssl/tree/openssl-3.0.5+quic> |
| 33 | +Get a new source from <https://github.com/openssl/openssl/tree/openssl-3.0.16> |
56 | 34 | and copy all files into `deps/openssl/openssl`. Then add all files and commit |
57 | 35 | them. (The link above, and the branch, will change with each new OpenSSL |
58 | 36 | release). |
59 | 37 |
|
60 | | -### OpenSSL 3.x.x |
61 | | - |
62 | 38 | ```bash |
63 | | -git clone https://github.com/quictls/openssl |
| 39 | +git clone https://github.com/openssl/openssl |
64 | 40 | cd openssl |
65 | 41 | cd ../node/deps/openssl |
66 | 42 | rm -rf openssl |
67 | 43 | cp -R ../../../openssl openssl |
68 | | -rm -rf openssl/.git* openssl/.travis* |
| 44 | +rm -rf openssl/.git* |
69 | 45 | git add --all openssl |
70 | 46 | git commit openssl |
71 | 47 | ``` |
72 | 48 |
|
73 | 49 | ```text |
74 | | -deps: upgrade openssl sources to quictls/openssl-3.0.5+quic |
| 50 | +deps: upgrade openssl sources to openssl-3.0.16 |
75 | 51 |
|
76 | 52 | This updates all sources in deps/openssl/openssl by: |
77 | | - |
| 53 | + |
78 | 54 | $ cd openssl |
79 | | - $ git checkout openssl-3.0.5+quic |
| 55 | + $ git checkout openssl-3.0.16 |
80 | 56 | $ cd ../node/deps/openssl |
81 | 57 | $ rm -rf openssl |
82 | 58 | $ cp -R ../../../openssl openssl |
83 | | - $ rm -rf openssl/.git* openssl/.travis* |
| 59 | + $ rm -rf openssl/.git* |
84 | 60 | $ git add --all openssl |
85 | 61 | $ git commit openssl |
86 | 62 | ``` |
@@ -99,7 +75,8 @@ make -C deps/openssl/config clean |
99 | 75 | make -C deps/openssl/config |
100 | 76 | ``` |
101 | 77 |
|
102 | | -**Note**: If the 32-bit Windows is failing to compile run this workflow instead: |
| 78 | +Fix up 32-bit Windows assembler directives. This will allow the commits to be |
| 79 | +cherry-picked to older release lines that still provide binaries on 32-bit Windows. |
103 | 80 |
|
104 | 81 | ```bash |
105 | 82 | make -C deps/openssl/config clean |
@@ -140,10 +117,8 @@ git commit |
140 | 117 | The commit message can be written as (with the openssl version set |
141 | 118 | to the relevant value): |
142 | 119 |
|
143 | | -### OpenSSL 3.x.x |
144 | | - |
145 | 120 | ```text |
146 | | -deps: update archs files for quictls/openssl-3.0.5+quic |
| 121 | +deps: update archs files for openssl-3.0.16 |
147 | 122 |
|
148 | 123 | After an OpenSSL source update, all the config files need to be |
149 | 124 | regenerated and committed by: |
|