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

Fix symbols conflict of OpenSSL. #310

Merged
merged 1 commit into from
Apr 6, 2023
Merged

Conversation

shibd
Copy link
Member

@shibd shibd commented Apr 5, 2023

Fixes #283

Motivation

The root cause is the OpenSSL symbol conflict between Node.js and CPP client.

In versions after Node.js 17 or greater, the OpenSSL version was upgraded to 3.0.0, and the cpp client used v1.1.1 of Openssl.

Therefore, it results in a segmentation fault when users use TLS-related features.

Modifications

  • When building pulsar.node, use "-Wl,--exclude-libs,ALL" config to hidden symbol.

Verifying this change

You can use this repo to verify it.

I have verified that the environment has:

Image:

  • node:16
  • node:16-alpine
  • node:17
  • node:17-alpine
  • node:18
  • node:18-alpine
  • node:19
  • node:19-alpine

BTW: I will add tls-relate unit test in subsequent PR.

Documentation

  • doc-required
    (Your PR needs to update docs and you will update later)

  • doc-not-needed
    (Please explain why)

  • doc
    (Your PR contains doc changes)

  • doc-complete
    (Docs have been already added)

@shibd shibd merged commit 91c2a15 into apache:master Apr 6, 2023
shibd added a commit to streamnative/pulsar-client-node that referenced this pull request Apr 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Advice for how to install this package in a Docker container
2 participants