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

v17.3.0 release proposal #41167

Merged
merged 124 commits into from
Dec 17, 2021
Merged
Changes from 1 commit
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
5c27ec8
build: ignore unrelated workflow changes in slow Actions tests
Trott Nov 27, 2021
82daaa9
tools,test: make -J behavior default for test.py
Trott Nov 24, 2021
61b2e2e
doc: remove legacy -J test.py option from BUILDING.md
Trott Nov 24, 2021
1b8baf0
build: remove legacy -J test.py option from Makefile/vcbuild
Trott Nov 24, 2021
29739f8
build: add OpenSSL gyp artifacts to .gitignore
lpinca Nov 27, 2021
90097ab
src,crypto: remove uses of `AllocatedBuffer` from `crypto_sig`
RaisinTen Nov 27, 2021
db9cef3
build: set persist-credentials: false on workflows
Trott Nov 27, 2021
033a646
meta: increase security policy response targets
mcollina Nov 25, 2021
e924dc7
cluster: use linkedlist for round_robin_handle
twchn Oct 26, 2021
f0d8743
lib,test,tools: use consistent JSDoc types
Trott Nov 29, 2021
93ea166
perf_hooks: use spec-compliant `structuredClone`
targos Nov 29, 2021
c757fa5
crypto: add missing null check
mhdawson Oct 25, 2021
a2fb12f
deps: patch V8 to 9.6.180.15
targos Nov 29, 2021
943547a
Revert "test: skip different params test for OpenSSL 3.x"
danbev Oct 28, 2021
f30d6bc
meta: move one or more TSC members to emeritus
nodejs-github-bot Nov 21, 2021
7c41f32
doc: fix JSDoc in ESM loaders examples
Mesteery Nov 29, 2021
b0b7943
esm: working mock test
bmeck Jul 2, 2021
8427099
tools: run ESLint update to minimize diff on subsequent update
Trott Nov 27, 2021
86d5af1
tools: update ESLint update script to consolidate dependencies
Trott Nov 27, 2021
5400b79
tools: consolidate ESLint dependencies
Trott Nov 27, 2021
6525226
tools: remove unneeded tool in update-eslint.sh
Trott Nov 28, 2021
627b5bb
deps: update Acorn to v8.6.0
targos Nov 30, 2021
db30bc9
build: update Actions versions
Mesteery Nov 30, 2021
e292271
tools: ignore unrelated workflow changes in slow Actions tests
aduh95 Nov 30, 2021
513305c
stream: cleanup eos
ronag Dec 1, 2021
8fac878
readline: skip escaping characters again
BridgeAR Dec 1, 2021
0e21c64
stream: remove whatwg streams experimental warning
jasnell Dec 1, 2021
681edbe
doc: specify that `message.socket` can be nulled
lpinca Dec 1, 2021
1b8d4e4
events: propagate weak option for kNewListener
jasnell Nov 29, 2021
62c4b4c
lib: add AbortSignal.timeout
jasnell Nov 20, 2021
661960e
tools: include JSDoc in ESLint updating tool
Trott Nov 30, 2021
a959f4f
tools: install and enable JSDoc linting in ESLint
Trott Nov 30, 2021
da87413
util: always visualize cause property in errors during inspection
BridgeAR Dec 2, 2021
1572db3
lib: do not lazy load EOL in blob
BridgeAR Dec 2, 2021
f18aa14
doc: link to commit queue guide
GeoffreyBooth Dec 2, 2021
de1748a
test: add auth option case for url.format
Dec 2, 2021
db77780
url: detect hostname more reliably in url.parse()
Trott Dec 2, 2021
12023df
errors: add support for cause in aborterror
jasnell Nov 28, 2021
e795547
timers: propagate signal.reason in awaitable timers
jasnell Nov 28, 2021
67124ac
readline: propagate signal.reason in awaitable question
jasnell Nov 28, 2021
01e8c15
stream: use cause options in AbortError constructors
jasnell Nov 28, 2021
4b3bf7e
http2: propagate abortsignal reason in new AbortError constructor
jasnell Nov 28, 2021
6eda874
fs: propagate abortsignal reason in new AbortSignal constructors
jasnell Nov 28, 2021
a1ed7f2
lib: propagate abortsignal reason in new AbortError constructor in blob
jasnell Nov 28, 2021
37dbc3b
events: propagate abortsignal reason in new AbortError ctor in events
jasnell Nov 28, 2021
62e0aa9
tools: udpate packages in tools/doc
Trott Nov 30, 2021
ee4186b
build: add tools/doc to tools.yml updates
Trott Nov 30, 2021
b353ded
doc: expand entries for isIP(), isIPv4(), and isIPv6()
Trott Dec 2, 2021
6f0ec98
src: use a higher limit in the NearHeapLimitCallback
joyeecheung Nov 30, 2021
91df200
util: add numericSeparator to util.inspect
BridgeAR Dec 3, 2021
fe3e09b
tools: remove Babel from license-builder.sh
Trott Dec 3, 2021
fb8f2e9
test: deflake test-trace-atomics-wait
lpinca Dec 3, 2021
6b6e1d0
node-api,doc: document parms which can be optional
mhdawson Nov 29, 2021
6327685
build: fail early in test-macos.yml
Trott Nov 30, 2021
9cfdf15
tools: rollback highlight.js
richardlau Dec 4, 2021
94d0911
doc: add explicit declaration of fd with null val
Gena888 Nov 2, 2021
78265e0
tools: use jsdoc recommended rules
Trott Dec 2, 2021
ce656a8
test: add missing JSDoc parameter name
Trott Dec 2, 2021
855f15d
tools: enable jsdoc/require-param-name lint rule
Trott Dec 2, 2021
2125449
build: add `--without-corepack`
jonahsnider Dec 5, 2021
0caa348
timers: add experimental scheduler api
jasnell Nov 21, 2021
d6d1d66
meta: update AUTHORS
nodejs-github-bot Dec 5, 2021
3a1d952
deps: upgrade npm to 8.2.0
npm-robot Dec 2, 2021
dc0405e
tools: update ESLint to 8.4.0
lpinca Dec 6, 2021
c776c92
build: re-enable V8 concurrent marking
targos Nov 29, 2021
668284b
doc: add @bnb as a collaborator
bnb Dec 6, 2021
a0326f0
util: escape lone surrogate code points using .inspect()
BridgeAR Dec 6, 2021
a7dfa43
assert: use stricter stack frame detection in .ifError()
BridgeAR Dec 6, 2021
1787bfa
stream: allow readable to end early without error
ronag Nov 19, 2021
1f6a9c3
test: skip ESLint tests if no Intl
Trott Dec 7, 2021
3406910
doc: clarify escaping for ES modules
notroid5 Dec 7, 2021
cc3e430
lib: use consistent types in JSDoc @returns
Trott Dec 5, 2021
52633a9
tools: enable jsdoc/require-returns-check lint rule
Trott Dec 5, 2021
831face
build: skip documentation generation if no ICU
Trott Dec 5, 2021
7b606cf
tools: update highlight.js to 11.3.1
Trott Dec 5, 2021
40a773a
tools: strip comments from lint-md rollup output
Trott Dec 7, 2021
a77cae1
tls: improve handling of shutdown
vtjnash Nov 13, 2020
e3ac384
doc: simplify major release preparation
BethGriggs Dec 8, 2021
9569180
doc: remove OpenJSF Slack nodejs from support doc
Trott Dec 7, 2021
c9b09d1
doc,lib,tools: align multiline comments
Trott Dec 7, 2021
78894fa
tools: enable JSDoc check-alignment lint rule
Trott Dec 7, 2021
d8fa227
doc: add note about pip being required
PiotrRybak Oct 30, 2021
93f5bd3
doc: document support building with Python 3.10 on Windows
cclauss Dec 6, 2021
e25671c
fs: fix `length` option being ignored during `read()`
fracsinus Dec 10, 2021
46108f8
fs: fix error codes for `fs.cp`
aduh95 Dec 10, 2021
70e6fe8
tools: update ESLint to 8.4.1
Trott Dec 10, 2021
4ba883d
lib: add abortSignal.throwIfAborted()
jasnell Nov 24, 2021
4369c6d
doc: fix comments in test-fs-watch.js
jakub-g Dec 10, 2021
8d87303
inspector: add missing initialization
mhdawson Nov 29, 2021
70ed4ef
http: don't write empty data on req/res end()
santigimeno Dec 10, 2021
d3de937
src: fix limit calculation
mhdawson Dec 10, 2021
28761de
buffer: fix `Blob` constructor on various `TypedArray`s
Gozala Dec 10, 2021
348707f
lib: make AbortSignal cloneable/transferable
jasnell Dec 1, 2021
db26bdb
doc: move style guide to findable location
Trott Dec 11, 2021
1fc6fd6
build: fix commit-queue-rebase functionality
Trott Dec 11, 2021
f5ff88b
util: pass through the inspect function to custom inspect functions
BridgeAR Dec 11, 2021
09d29ca
util: make sure error causes of any type may be inspected
BridgeAR Dec 6, 2021
66b5083
util: serialize falsy cause values while inspecting errors
BridgeAR Dec 6, 2021
b191e66
lib: include return types in JSDoc
Trott Dec 9, 2021
6fc92bd
tools: enable jsdoc/require-returns-type ESLint rule
Trott Dec 9, 2021
34c6c59
doc: update nodejs-sec managers
mhdawson Dec 12, 2021
fae4945
deps: upgrade npm to 8.3.0
npm-robot Dec 9, 2021
0fc1483
meta: update AUTHORS
nodejs-github-bot Dec 12, 2021
e3870f3
tools: update lint-md-dependencies to [email protected] [email protected]
nodejs-github-bot Dec 12, 2021
db410e7
tools: update doc to [email protected]
nodejs-github-bot Dec 13, 2021
bbdcd05
fs: accept URL as argument for `fs.rm` and `fs.rmSync`
aduh95 Dec 13, 2021
d8a2125
process: add `getActiveResourcesInfo()`
RaisinTen Dec 14, 2021
99fb6d4
assert: prefer reference comparison over string comparison
RaisinTen Dec 14, 2021
1274a25
doc: align module resolve algorithm with implementation
Ayase-252 Dec 14, 2021
61c53a6
build: use gh cli in workflows file
Mesteery Dec 14, 2021
b89fb3e
meta: move silverwind to emeriti
silverwind Dec 14, 2021
85f1537
build: fix comment-labeled workflow
Mesteery Dec 14, 2021
e26c187
meta: move to emeritus automatically after 18 months
Trott Dec 13, 2021
8957c9b
build,tools: automate enforcement of emeritus criteria
Trott Dec 13, 2021
03e6771
meta: move one or more collaborators to emeritus
nodejs-github-bot Dec 13, 2021
f883bf3
doc: add security steward on/offboarding steps
mhdawson Dec 9, 2021
3a9ffa8
build: use '<(python)' instead of 'python'
zcbenz Dec 16, 2021
93111e4
doc: fix closing parenthesis
AlphaDio Dec 16, 2021
8fcb71a
build: update openssl config generator Dockerfile
richardlau Dec 14, 2021
da8baf4
test: do not load absolute path crypto engines twice
richardlau Dec 15, 2021
0b21034
deps: upgrade openssl sources to quictls/openssl-3.0.1+quic
richardlau Dec 14, 2021
35fe144
deps: update archs files for quictls/openssl-3.0.1+quic
richardlau Dec 14, 2021
b59c513
stream: add isErrored helper
ronag Dec 9, 2021
e5873d7
2021-12-17, Version 17.3.0 (Current)
danielleadams Dec 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Prev Previous commit
Next Next commit
deps: upgrade openssl sources to quictls/openssl-3.0.1+quic
This updates all sources in deps/openssl/openssl by:
    $ git clone [email protected]:quictls/openssl.git
    $ cd openssl
    $ cd ../node/deps/openssl
    $ rm -rf openssl
    $ cp -R ../openssl openssl
    $ rm -rf openssl/.git* openssl/.travis*
    $ git add --all openssl
    $ git commit openssl

PR-URL: #41177
Refs: quictls/openssl#69
Refs: https://mta.openssl.org/pipermail/openssl-announce/2021-December/000212.html
Reviewed-By: Danielle Adams <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Derek Lewis <[email protected]>
richardlau authored and danielleadams committed Dec 17, 2021
commit 0b2103419fa16f803bf4b608fefa2c9b5b02ef65
90 changes: 90 additions & 0 deletions deps/openssl/openssl/CHANGES.md
Original file line number Diff line number Diff line change
@@ -34,6 +34,80 @@ breaking changes, and mappings for the large list of deprecated functions.

*Todd Short*

### Changes between 3.0.0 and 3.0.1 [14 Dec 2021]

* Fixed invalid handling of X509_verify_cert() internal errors in libssl
Internally libssl in OpenSSL calls X509_verify_cert() on the client side to
verify a certificate supplied by a server. That function may return a
negative return value to indicate an internal error (for example out of
memory). Such a negative return value is mishandled by OpenSSL and will cause
an IO function (such as SSL_connect() or SSL_do_handshake()) to not indicate
success and a subsequent call to SSL_get_error() to return the value
SSL_ERROR_WANT_RETRY_VERIFY. This return value is only supposed to be
returned by OpenSSL if the application has previously called
SSL_CTX_set_cert_verify_callback(). Since most applications do not do this
the SSL_ERROR_WANT_RETRY_VERIFY return value from SSL_get_error() will be
totally unexpected and applications may not behave correctly as a result. The
exact behaviour will depend on the application but it could result in
crashes, infinite loops or other similar incorrect responses.

This issue is made more serious in combination with a separate bug in OpenSSL
3.0 that will cause X509_verify_cert() to indicate an internal error when
processing a certificate chain. This will occur where a certificate does not
include the Subject Alternative Name extension but where a Certificate
Authority has enforced name constraints. This issue can occur even with valid
chains.
([CVE-2021-4044])

*Matt Caswell*

* Corrected a few file name and file reference bugs in the build,
installation and setup scripts, which lead to installation verification
failures. Slightly enhanced the installation verification script.

*Richard Levitte*

* Fixed EVP_PKEY_eq() to make it possible to use it with strictly private
keys.

*Richard Levitte*

* Fixed PVK encoder to properly query for the passphrase.

*Tomáš Mráz*

* Multiple fixes in the OSSL_HTTP API functions.

*David von Oheimb*

* Allow sign extension in OSSL_PARAM_allocate_from_text() for the
OSSL_PARAM_INTEGER data type and return error on negative numbers
used with the OSSL_PARAM_UNSIGNED_INTEGER data type. Make
OSSL_PARAM_BLD_push_BN{,_pad}() return an error on negative numbers.

*Richard Levitte*

* Allow copying uninitialized digest contexts with EVP_MD_CTX_copy_ex.

*Tomáš Mráz*

* Fixed detection of ARMv7 and ARM64 CPU features on FreeBSD.

*Allan Jude*

* Multiple threading fixes.

*Matt Caswell*

* Added NULL digest implementation to keep compatibility with 1.1.1 version.

*Tomáš Mráz*

* Allow fetching an operation from the provider that owns an unexportable key
as a fallback if that is still allowed by the property query.

*Richard Levitte*

### Changes between 1.1.1 and 3.0.0 [7 sep 2021]

* TLS_MAX_VERSION, DTLS_MAX_VERSION and DTLS_MIN_VERSION constants are now
@@ -1459,6 +1533,22 @@ breaking changes, and mappings for the large list of deprecated functions.
OpenSSL 1.1.1
-------------

### Changes between 1.1.1l and 1.1.1m [xx XXX xxxx]

* Avoid loading of a dynamic engine twice.

*Bernd Edlinger*

* Prioritise DANE TLSA issuer certs over peer certs

*Viktor Dukhovni*

* Fixed random API for MacOS prior to 10.12

These MacOS versions don't support the CommonCrypto APIs

*Lenny Primak*

### Changes between 1.1.1k and 1.1.1l [24 Aug 2021]

* Fixed an SM2 Decryption Buffer Overflow.
1 change: 1 addition & 0 deletions deps/openssl/openssl/Configurations/10-main.conf
Original file line number Diff line number Diff line change
@@ -857,6 +857,7 @@ my %targets = (
inherit_from => [ "linux-x86" ],
CC => "clang",
CXX => "clang++",
ex_libs => add(threads("-latomic")),
},
"linux-x86_64" => {
inherit_from => [ "linux-generic64" ],
2 changes: 1 addition & 1 deletion deps/openssl/openssl/Configurations/15-ios.conf
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ my %targets = (
template => 1,
inherit_from => [ "darwin-common" ],
sys_id => "iOS",
disable => [ "engine", "async" ],
disable => [ "shared", "async" ],
},
"ios-xcrun" => {
inherit_from => [ "ios-common" ],
36 changes: 22 additions & 14 deletions deps/openssl/openssl/Configurations/descrip.mms.tmpl
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@
(our $osslprefix_q = platform->osslprefix()) =~ s/\$/\\\$/;

our $sover_dirname = platform->shlib_version_as_filename();
our $osslver = sprintf "%02d%02d", split(/\./, $config{version});
our $osslver = sprintf "%02d", split(/\./, $config{version});

our $sourcedir = $config{sourcedir};
our $builddir = $config{builddir};
@@ -110,9 +110,9 @@
@cnf_defines,
'OPENSSLDIR="""$(OPENSSLDIR_C)"""',
'ENGINESDIR="""$(ENGINESDIR_C)"""',
'MODULESDIR="""$(MODULESDIR_C)"""',
#'$(DEFINES)'
'MODULESDIR="""$(MODULESDIR_C)"""'
)
. '$(DEFINES)'
. "'extradefines'";
our $lib_asflags =
join(' ', $target{lib_asflags} || (), @{$config{lib_asflags}},
@@ -144,8 +144,8 @@
join(',', @{$target{dso_defines}}, @{$target{module_defines}},
@{$config{dso_defines}}, @{$config{module_defines}},
@cnf_defines,
#'$(DEFINES)'
)
. '$(DEFINES)'
. "'extradefines'";
our $dso_asflags =
join(' ', $target{dso_asflags} || (), $target{module_asflags} || (),
@@ -180,8 +180,8 @@
join(',', @{$target{bin_defines}},
@{$config{bin_defines}},
@cnf_defines,
#'$(DEFINES)'
)
. '$(DEFINES)'
. "'extradefines'";
our $bin_asflags =
join(' ', $target{bin_asflags} || (),
@@ -267,6 +267,7 @@ VERBOSE=$(V)
VERBOSE_FAILURE=$(VF)

VERSION={- "$config{full_version}" -}
VERSION_NUMBER={- "$config{version}" -}
MAJOR={- $config{major} -}
MINOR={- $config{minor} -}
SHLIB_VERSION_NUMBER={- $config{shlib_version} -}
@@ -355,7 +356,7 @@ OPENSSLDIR_C={- platform->osslprefix() -}DATAROOT:[000000]
# Where installed ENGINE modules reside, for C
ENGINESDIR_C={- platform->osslprefix() -}ENGINES{- $sover_dirname.$target{pointer_size} -}:
# Where modules reside, for C
MODULESDIR_C={- platform->osslprefix() -}MODULES{- $sover_dirname.$target{pointer_size} -}:
MODULESDIR_C={- platform->osslprefix() -}MODULES{- $target{pointer_size} -}:

##### User defined commands and flags ################################

@@ -428,7 +429,9 @@ NODEBUG=@
$(NODEBUG) ! them, so we create it instead. This is an unfortunate
$(NODEBUG) ! necessity.
$(NODEBUG) !
$(NODEBUG) DEFINE openssl "{- sourcedir('include/openssl') -}
$(NODEBUG) openssl_inc1 = F$PARSE("[.include.openssl]","A.;",,,"syntax_only") - "A.;"
$(NODEBUG) openssl_inc2 = F$PARSE("sourcetop:[include.openssl]","A.;",,,"SYNTAX_ONLY") - "A.;"
$(NODEBUG) DEFINE openssl 'openssl_inc1','openssl_inc2'
$(NODEBUG) !
$(NODEBUG) ! Figure out the architecture
$(NODEBUG) !
@@ -441,9 +444,10 @@ NODEBUG=@

.LAST :
$(NODEBUG) {- join("\n\t\$(NODEBUG) ", map { "DEASSIGN ".uc($_) } @shlibs) || "!" -}
$(NODEBUG) DEASSIGN openssl
$(NODEBUG) DEASSIGN ossl_dataroot
$(NODEBUG) DEASSIGN ossl_installroot
$(NODEBUG) DEASSIGN openssl
$(NODEBUG) DEASSIGN ossl_sourceroot
.DEFAULT :
@ ! MMS cannot handle no actions...

@@ -569,16 +573,18 @@ uninstall_docs : uninstall_html_docs
{- output_off() if $disabled{fips}; "" -}
install_fips : build_sw $(INSTALL_FIPSMODULECONF)
@ WRITE SYS$OUTPUT "*** Installing FIPS module"
- CREATE/DIR ossl_installroot:[MODULES{- $target{pointer_size} -}.'arch']
- CREATE/DIR/PROT=(S:RWED,O:RWE,G:RE,W:RE) OSSL_DATAROOT:[000000]
COPY/PROT=W:RE $(INSTALL_FIPSMODULES) -
ossl_installroot:[MODULES{- $sover_dirname.$target{pointer_size} -}.'arch']$(FIPSMODULENAME)
ossl_installroot:[MODULES{- $target{pointer_size} -}.'arch']$(FIPSMODULENAME)
@ WRITE SYS$OUTPUT "*** Installing FIPS module configuration"
COPY/PROT=W:RE $(INSTALL_FIPSMODULECONF) OSSL_DATAROOT:[000000]

uninstall_fips :
@ WRITE SYS$OUTPUT "*** Uninstalling FIPS module configuration"
DELETE OSSL_DATAROOT:[000000]fipsmodule.cnf;*
@ WRITE SYS$OUTPUT "*** Uninstalling FIPS module"
DELETE ossl_installroot:[MODULES{- $sover_dirname.$target{pointer_size} -}.'arch']$(FIPSMODULENAME);*
DELETE ossl_installroot:[MODULES{- $target{pointer_size} -}.'arch']$(FIPSMODULENAME);*
{- output_on() if $disabled{fips}; "" -}

install_ssldirs : check_INSTALLTOP
@@ -607,7 +613,9 @@ install_dev : check_INSTALLTOP install_runtime_libs
@ WRITE SYS$OUTPUT "*** Installing development files"
@ ! Install header files
- CREATE/DIR ossl_installroot:[include.openssl]
COPY/PROT=W:R openssl:*.h ossl_installroot:[include.openssl]
COPY/PROT=W:R ossl_sourceroot:[include.openssl]*.h -
ossl_installroot:[include.openssl]
COPY/PROT=W:R [.include.openssl]*.h ossl_installroot:[include.openssl]
@ ! Install static (development) libraries
- CREATE/DIR ossl_installroot:[LIB.'arch']
{- join("\n ",
@@ -626,9 +634,9 @@ install_engines : check_INSTALLTOP install_runtime_libs build_modules
install_modules : check_INSTALLTOP install_runtime_libs build_modules
@ {- output_off() unless scalar @install_modules; "" -} !
@ WRITE SYS$OUTPUT "*** Installing modules"
- CREATE/DIR ossl_installroot:[MODULES{- $sover_dirname.$target{pointer_size} -}.'arch']
- CREATE/DIR ossl_installroot:[MODULES{- $target{pointer_size} -}.'arch']
{- join("\n ",
map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[MODULES$sover_dirname$target{pointer_size}.'arch']" }
map { "COPY/PROT=W:RE $_.EXE ossl_installroot:[MODULES$target{pointer_size}.'arch']" }
@install_modules) -}
@ {- output_on() unless scalar @install_modules; "" -} !

@@ -904,7 +912,7 @@ EOF
#
my $target = platform->def($args{src});
my $mkdef = sourcefile('util', 'mkdef.pl');
my $ord_ver = $args{intent} eq 'lib' ? ' --version $(VERSION)' : '';
my $ord_ver = $args{intent} eq 'lib' ? ' --version $(VERSION_NUMBER)' : '';
my $ord_name =
$args{generator}->[1] || basename($args{product}, '.EXE');
my $case_insensitive =
18 changes: 15 additions & 3 deletions deps/openssl/openssl/Configurations/platform/Unix.pm
Original file line number Diff line number Diff line change
@@ -63,9 +63,21 @@ sub sharedname_simple {
}

sub sharedlib_simple {
return undef if $_[0]->shlibext() eq $_[0]->shlibextsimple();
return platform::BASE::__concat($_[0]->sharedname_simple($_[1]),
$_[0]->shlibextsimple());
# This function returns the simplified shared library name (no version
# or variant in the shared library file name) if the simple variants of
# the base name or the suffix differ from the full variants of the same.

# Note: if $_[1] isn't a shared library name, then $_[0]->sharedname()
# and $_[0]->sharedname_simple() will return undef. This needs being
# accounted for.
my $name = $_[0]->sharedname($_[1]);
my $simplename = $_[0]->sharedname_simple($_[1]);
my $ext = $_[0]->shlibext();
my $simpleext = $_[0]->shlibextsimple();

return undef unless defined $simplename && defined $name;
return undef if ($name eq $simplename && $ext eq $simpleext);
return platform::BASE::__concat($simplename, $simpleext);
}

sub sharedlib_import {
20 changes: 11 additions & 9 deletions deps/openssl/openssl/Configurations/unix-Makefile.tmpl
Original file line number Diff line number Diff line change
@@ -67,6 +67,7 @@ BLDDIR={- $config{builddir} -}
FIPSKEY={- $config{FIPSKEY} -}

VERSION={- "$config{full_version}" -}
VERSION_NUMBER={- "$config{version}" -}
MAJOR={- $config{major} -}
MINOR={- $config{minor} -}
SHLIB_VERSION_NUMBER={- $config{shlib_version} -}
@@ -618,6 +619,7 @@ uninstall_docs: uninstall_man_docs uninstall_html_docs
install_fips: build_sw $(INSTALL_FIPSMODULECONF)
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(MODULESDIR)
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(OPENSSLDIR)
@$(ECHO) "*** Installing FIPS module"
@$(ECHO) "install $(INSTALL_FIPSMODULE) -> $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME)"
@cp "$(INSTALL_FIPSMODULE)" $(DESTDIR)$(MODULESDIR)/$(FIPSMODULENAME).new
@@ -691,11 +693,11 @@ install_dev: install_runtime_libs
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
@$(ECHO) "*** Installing development files"
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/include/openssl
@ : {- output_off() unless grep { $_ eq "OPENSSL_USE_APPLINK" } (@{$target{defines}}, @{$config{defines}}); "" -}
@ : {- output_off() if $disabled{uplink}; "" -}
@$(ECHO) "install $(SRCDIR)/ms/applink.c -> $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c"
@cp $(SRCDIR)/ms/applink.c $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c
@chmod 644 $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c
@ : {- output_on() unless grep { $_ eq "OPENSSL_USE_APPLINK" } (@{$target{defines}}, @{$config{defines}}); "" -}
@ : {- output_on() if $disabled{uplink}; "" -}
@set -e; for i in $(SRCDIR)/include/openssl/*.h \
$(BLDDIR)/include/openssl/*.h; do \
fn=`basename $$i`; \
@@ -765,10 +767,10 @@ install_dev: install_runtime_libs

uninstall_dev: uninstall_runtime_libs
@$(ECHO) "*** Uninstalling development files"
@ : {- output_off() unless grep { $_ eq "OPENSSL_USE_APPLINK" } (@{$target{defines}}, @{$config{defines}}); "" -}
@ : {- output_off() if $disabled{uplink}; "" -}
@$(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c"
@$(RM) $(DESTDIR)$(INSTALLTOP)/include/openssl/applink.c
@ : {- output_on() unless grep { $_ eq "OPENSSL_USE_APPLINK" } (@{$target{defines}}, @{$config{defines}}); "" -}
@ : {- output_on() if $disabled{uplink}; "" -}
@set -e; for i in $(SRCDIR)/include/openssl/*.h \
$(BLDDIR)/include/openssl/*.h; do \
fn=`basename $$i`; \
@@ -1305,23 +1307,23 @@ SSLHEADERS={- join(" \\\n" . ' ' x 11,
fill_lines(" ", $COLUMNS - 11, sort keys %sslheaders)) -}

renumber: build_generated
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION_NUMBER) --no-warnings \
--ordinals $(SRCDIR)/util/libcrypto.num \
--symhacks $(SRCDIR)/include/openssl/symhacks.h \
--renumber \
$(CRYPTOHEADERS)
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION_NUMBER) --no-warnings \
--ordinals $(SRCDIR)/util/libssl.num \
--symhacks $(SRCDIR)/include/openssl/symhacks.h \
--renumber \
$(SSLHEADERS)

ordinals: build_generated
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION_NUMBER) --no-warnings \
--ordinals $(SRCDIR)/util/libcrypto.num \
--symhacks $(SRCDIR)/include/openssl/symhacks.h \
$(CRYPTOHEADERS)
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION) --no-warnings \
$(PERL) $(SRCDIR)/util/mknum.pl --version $(VERSION_NUMBER) --no-warnings \
--ordinals $(SRCDIR)/util/libssl.num \
--symhacks $(SRCDIR)/include/openssl/symhacks.h \
$(SSLHEADERS)
@@ -1529,7 +1531,7 @@ EOF
#
my $target = platform->def($args{src});
(my $mkdef_os = $target{shared_target}) =~ s|-shared$||;
my $ord_ver = $args{intent} eq 'lib' ? ' --version $(VERSION)' : '';
my $ord_ver = $args{intent} eq 'lib' ? ' --version $(VERSION_NUMBER)' : '';
my $ord_name = $args{generator}->[1] || $args{product};
return <<"EOF";
$target: $gen0 $deps \$(SRCDIR)/util/mkdef.pl
Loading