Opened 5 years ago

Closed 5 years ago

#58224 closed enhancement (fixed)

Check nodejs <10 ports for OpenSSL 1.1 compatibility

Reported by: yan12125 (Chih-Hsuan Yen) Owned by: ci42
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: nodejs4, nodejs6, nodejs8

Description (last modified by mf2k (Frank Schima))

I'm working on migrating the openssl port to the latest 1.1.x version (1). However, seems Node.js does not support OpenSSL 1.1.x APIs until version 10.0.0 (2). Please check Node.js < 10 for compatibility with OpenSSL 1.1, and either backport upstream OpenSSL 1.1 patches or link older nodejs* ports to devel/openssl10.

Note that if a port uses openssl10, it can't use libressl anymore as openssl10 libraries are not in the standard path (e.g. /opt/local/bin). A relevant Trac ticket is (3).

  1. https://github.com/macports/macports-ports/pull/3822
  2. https://github.com/nodejs/node/commit/9637a7b58caf034c2afc5869ecd120cf262eaaf9
  3. ticket:54688

Change History (4)

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Description: modified (diff)

comment:2 Changed 5 years ago by yan12125 (Chih-Hsuan Yen)

Port: nodejs5 nodejs7 nodejs9 removed

nodejs{5,7,9} have been dropped in https://github.com/macports/macports-ports/pull/4113.

comment:3 Changed 5 years ago by yan12125 (Chih-Hsuan Yen)

Regarding the original issue: OpenSSL 1.1.0 is supported since 8.10.0 (1), and Node.js 6 does not support OpenSSL 1.1:

:info:build ../src/node_crypto.h:91:40: error: invalid application of 'sizeof' to an incomplete type 'SSL_CTX' (aka 'ssl_ctx_st')
  1. https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md
Last edited 5 years ago by yan12125 (Chih-Hsuan Yen) (previous) (diff)

comment:4 Changed 5 years ago by yan12125 (Chih-Hsuan Yen)

Resolution: fixed
Status: assignedclosed

In dd890d27ac9b67e7dd1c0a01d50ed08462843b48/macports-ports (master):

nodejs6: use bundled openssl

This is a preparation step for OpenSSL 1.1 migration. Node.js 6 does not
build with OpenSSL 1.1:

:info:build ../src/node_crypto.h:91:40: error: invalid application of 'sizeof' to an incomplete type 'SSL_CTX' (aka 'ssl_ctx_st')

I switched to bundled openssl instead of using the openssl10 port to
lower the maintenance burden. nodejs6 is EOL'ed upstream and will be
considered to be dropped once nodejs8 works on OS X 10.6, anyway.

Closes: #58224

Note: See TracTickets for help on using tickets.