Skip to content

feat: Refactor TLS and PSK support to use OpenSSL - #220

Merged
Rod-Persky merged 3 commits into
mainfrom
dev/rodpersky/tls-library-harmonisation
Jul 6, 2026
Merged

feat: Refactor TLS and PSK support to use OpenSSL#220
Rod-Persky merged 3 commits into
mainfrom
dev/rodpersky/tls-library-harmonisation

Conversation

@Rod-Persky

Copy link
Copy Markdown
Contributor

This pull request updates the build and packaging process for the tacon and tacacsrs-agentd executables to always include OpenSSL-backed TLS and TLS 1.3 PSK support by default, removing the need for the psk feature flag in standard builds. It also simplifies the codebase by eliminating conditional compilation for the psk feature, and updates documentation and CI workflows to reflect these changes.

Build and Packaging Process:

  • Linux and Windows builds now always include OpenSSL-backed TLS and TLS 1.3 PSK support, removing the need to specify the psk feature flag in builds, packaging scripts, and CI workflows. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Documentation Updates:

  • Documentation (DEBIAN_PACKAGING.md, DEVELOPMENT.md, docs/sonic-build-guide.md) has been updated to describe the new default behavior, clarify OpenSSL requirements, and remove references to the psk feature flag in build instructions. [1] [2] [3] [4] [5] [6] [7] [8]

Codebase Simplification:

  • All conditional compilation blocks (#[cfg(feature = "psk")]) related to the psk feature have been removed from the codebase, including in tacacsrs-agentd's Cargo.toml, CLI, and main logic files. This makes PSK support always available and simplifies the code. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Continuous Integration (CI) Adjustments:

  • CI workflow definitions have been updated to remove the psk feature from product build matrices and to always collect OpenSSL runtime DLLs on Windows, regardless of features. [1] [2] [3] [4]

Summary of Most Important Changes:

Build and Packaging:

  • Linux and Windows builds for tacon and tacacsrs-agentd now always include OpenSSL-backed TLS and TLS 1.3 PSK support by default; the psk feature flag is no longer needed in build scripts or CI workflows. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Documentation:

  • Updated all relevant documentation to reflect the new default of OpenSSL-backed TLS and PSK support, and removed instructions referencing the psk feature flag. [1] [2] [3] [4] [5] [6] [7] [8]

Codebase Simplification:

  • Removed all #[cfg(feature = "psk")] conditional compilation and related feature flag handling from the codebase, making PSK support unconditional. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Rod Persky and others added 2 commits July 6, 2026 19:37
- Removed feature gating for PSK-related code in CLI and configuration files.
- Updated CLI argument handling for PSK options to always be available.
- Transitioned from `rustls` to `openssl` for TLS connections, including client authentication and certificate verification.
- Simplified the transport layer to use `tokio-openssl` for TLS streams.
- Removed unused `danger` module and related certificate verification logic.
- Adjusted tests and documentation to reflect the removal of feature flags and the shift to OpenSSL.
@Rod-Persky
Rod-Persky enabled auto-merge (squash) July 6, 2026 11:28
@Rod-Persky
Rod-Persky merged commit a01b921 into main Jul 6, 2026
21 checks passed
@Rod-Persky
Rod-Persky deleted the dev/rodpersky/tls-library-harmonisation branch July 6, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants