Skip to content

DRAFT: Implement TLS/SSL Support for EPMD - #11262

Draft
karomnii wants to merge 4 commits into
erlang:masterfrom
karomnii:erts/epmd-tls
Draft

DRAFT: Implement TLS/SSL Support for EPMD#11262
karomnii wants to merge 4 commits into
erlang:masterfrom
karomnii:erts/epmd-tls

Conversation

@karomnii

Copy link
Copy Markdown

Description
This PR introduces optional TLS/SSL encryption for EPMD (Erlang Port Mapper Daemon) communications. It updates both the C-based EPMD daemon and the erl_epmd Erlang client to securely handle encrypted socket connections.

Key Changes

  • EPMD Daemon (C-side): Linked OpenSSL libraries and added -tls <cert_path> <key_path> command-line arguments. Replaced direct socket read/write operations with wrappers that dynamically use standard TCP or TLS depending on the configuration.
  • Erlang Client (erl_epmd.erl): Added logic to check for epmd_ssl_options in the application environment. If present, the client routes connections through the ssl module instead of gen_tcp and natively handles the corresponding SSL socket messages and connection states.

@CLAassistant

CLAassistant commented Jun 17, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

CT Test Results

No tests were run for this PR. This is either because the build failed, or the PR is based on a branch without GH actions tests configured.

Results for commit b46095d

To speed up review, make sure that you have read Contributing to Erlang/OTP and that all checks pass.

See the TESTING and DEVELOPMENT HowTo guides for details about how to run test locally.

Artifacts

// Erlang/OTP Github Action Bot

@joaohf

joaohf commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Hi,

Is that possible to make it build time configurable ?

@karomnii

Copy link
Copy Markdown
Author

Hi @joaohf,
Could you clarify the question a little bit more? I am not sure that I understand what you mean by build-time configurable. Right now, it is configurable by the user at start time.

@IngelaAndin IngelaAndin added the team:PS Assigned to OTP team PS label Jun 22, 2026
@IngelaAndin

Copy link
Copy Markdown
Contributor

@karomnii Thank you very much for wanting to contribute this. We are very much interested in doing work in this area. Alas we do not really have time to handle this right away, it is a bigger job and we will need a full team effort after vacation period. Independent on how this will be solved in the end , we think your effort will be a valuable input. And I think this will amount to improvements being made regardless if you will have time to continue or not. But lets leave that decision for later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

team:PS Assigned to OTP team PS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants