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

What is the correct way to propose new OpenSSL symbols to be exported? #23293

Closed
JCMais opened this issue Oct 6, 2018 · 4 comments
Closed

What is the correct way to propose new OpenSSL symbols to be exported? #23293

JCMais opened this issue Oct 6, 2018 · 4 comments
Labels
addons Issues and PRs related to native addons. openssl Issues and PRs related to the OpenSSL dependency.

Comments

@JCMais
Copy link
Contributor

JCMais commented Oct 6, 2018

  • Version: v10
  • Platform: Windows x64

Is it only on Windows that just a subset of the OpenSSL symbols are exported, or is that something that happens on all platforms? On others platforms the full OpenSSL lib is available?

They were made available on Windows here: b4d4fd9

I'm asking that because I'm currently building an addon that requires OpenSSL, since it uses libcurl and libssh, and the following symbols are currently missing:

OCSP_cert_status_str
OCSP_check_validity
OCSP_basic_verify
OCSP_RESPONSE_free
OCSP_single_get0_status
OCSP_response_get1_basic
OCSP_BASICRESP_free
OCSP_crl_reason_str
OCSP_resp_count
OCSP_response_status
OCSP_response_status_str
OCSP_resp_get0
d2i_OCSP_RESPONSE
SSL_CTX_set_next_proto_select_cb
EVP_ripemd160
VP_cast5_cbc

I found this because of the following other issue: nodejs/node-gyp#1559

Previously I was using my own version of OpenSSL, but that does not work anymore, so now I'm trying to use the one bundled with Node.js.

@Trott
Copy link
Member

Trott commented Oct 6, 2018

@nodejs/crypto

@addaleax addaleax added openssl Issues and PRs related to the OpenSSL dependency. addons Issues and PRs related to native addons. labels Oct 6, 2018
@addaleax
Copy link
Member

addaleax commented Oct 6, 2018

I think

node/node.gyp

Lines 585 to 598 in bd162b6

'mkssldef_flags': [
# Categories to export.
'-CAES,BF,BIO,DES,DH,DSA,EC,ECDH,ECDSA,ENGINE,EVP,HMAC,MD4,MD5,'
'PSK,RC2,RC4,RSA,SHA,SHA0,SHA1,SHA256,SHA512,SOCK,STDIO,TLSEXT,'
'FP_API,TLS1_METHOD,TLS1_1_METHOD,TLS1_2_METHOD,SCRYPT',
# Defines.
'-DWIN32',
# Symbols to filter from the export list.
'-X^DSO',
'-X^_',
'-X^private_',
# Base generated DEF on zlib.def
'-Bdeps/zlib/win32/zlib.def'
],
might be the relevant source of truth?

@bnoordhuis
Copy link
Member

That's right. The categories correspond to what's listed in deps/openssl/openssl/util/libssl.num
and deps/openssl/openssl/util/libcrypto.num.

@JCMais
Copy link
Contributor Author

JCMais commented Oct 8, 2018

I will be opening a PR against this file to add the new symbols then, going to keep the issue open until I do so.

Also about the question I mentioned, is that Windows specific?

Is it only on Windows that just a subset of the OpenSSL symbols are exported, or is that something that happens on all platforms? On others platforms the full OpenSSL lib is available?

Thanks everyone.

targos pushed a commit that referenced this issue Oct 26, 2018
Those categories are necessary to build addons that depends
 on libcurl and libssh, the following were the missing symbols:
libcurl:
OCSP_cert_status_str
OCSP_check_validity
OCSP_basic_verify
OCSP_RESPONSE_free
OCSP_single_get0_status
OCSP_response_get1_basic
OCSP_BASICRESP_free
OCSP_crl_reason_str
OCSP_resp_count
OCSP_response_status
OCSP_response_status_str
OCSP_resp_get0
d2i_OCSP_RESPONSE
SSL_CTX_set_next_proto_select_cb

libssh:
EVP_ripemd160
EVP_cast5_cbc

Fixes: #23293

PR-URL: #23344
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
targos pushed a commit that referenced this issue Nov 1, 2018
Those categories are necessary to build addons that depends
 on libcurl and libssh, the following were the missing symbols:
libcurl:
OCSP_cert_status_str
OCSP_check_validity
OCSP_basic_verify
OCSP_RESPONSE_free
OCSP_single_get0_status
OCSP_response_get1_basic
OCSP_BASICRESP_free
OCSP_crl_reason_str
OCSP_resp_count
OCSP_response_status
OCSP_response_status_str
OCSP_resp_get0
d2i_OCSP_RESPONSE
SSL_CTX_set_next_proto_select_cb

libssh:
EVP_ripemd160
EVP_cast5_cbc

Fixes: #23293

PR-URL: #23344
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
codebytere pushed a commit that referenced this issue Dec 13, 2018
Those categories are necessary to build addons that depends
 on libcurl and libssh, the following were the missing symbols:
libcurl:
OCSP_cert_status_str
OCSP_check_validity
OCSP_basic_verify
OCSP_RESPONSE_free
OCSP_single_get0_status
OCSP_response_get1_basic
OCSP_BASICRESP_free
OCSP_crl_reason_str
OCSP_resp_count
OCSP_response_status
OCSP_response_status_str
OCSP_resp_get0
d2i_OCSP_RESPONSE
SSL_CTX_set_next_proto_select_cb

libssh:
EVP_ripemd160
EVP_cast5_cbc

Fixes: #23293

PR-URL: #23344
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
MylesBorins pushed a commit that referenced this issue Dec 26, 2018
Those categories are necessary to build addons that depends
 on libcurl and libssh, the following were the missing symbols:
libcurl:
OCSP_cert_status_str
OCSP_check_validity
OCSP_basic_verify
OCSP_RESPONSE_free
OCSP_single_get0_status
OCSP_response_get1_basic
OCSP_BASICRESP_free
OCSP_crl_reason_str
OCSP_resp_count
OCSP_response_status
OCSP_response_status_str
OCSP_resp_get0
d2i_OCSP_RESPONSE
SSL_CTX_set_next_proto_select_cb

libssh:
EVP_ripemd160
EVP_cast5_cbc

Fixes: #23293

PR-URL: #23344
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addons Issues and PRs related to native addons. openssl Issues and PRs related to the OpenSSL dependency.
Projects
None yet
Development

No branches or pull requests

4 participants