DRAFT: Implement TLS/SSL Support for EPMD - #11262
Conversation
CT Test ResultsNo 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 |
|
Hi, Is that possible to make it build time configurable ? |
|
Hi @joaohf, |
|
@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. |
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_epmdErlang client to securely handle encrypted socket connections.Key Changes
-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.erl_epmd.erl): Added logic to check forepmd_ssl_optionsin the application environment. If present, the client routes connections through thesslmodule instead ofgen_tcpand natively handles the corresponding SSL socket messages and connection states.