Skip to content

feat: gRPC TLS support#6374

Open
godexsoft wants to merge 16 commits intoXRPLF:developfrom
godexsoft:feature/grpc-tls
Open

feat: gRPC TLS support#6374
godexsoft wants to merge 16 commits intoXRPLF:developfrom
godexsoft:feature/grpc-tls

Conversation

@godexsoft
Copy link
Collaborator

High Level Overview of Change

This PR enhances the gRPC server with optional TLS and mTLS support.

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

API Impact

  • Public API: New feature (new methods and/or new fields)
  • Public API: Breaking change (in general, breaking changes should only impact the next api_version)
  • libxrpl change (any change that may affect libxrpl or dependents of libxrpl)
  • Peer protocol change (must be backward compatible or bump the peer protocol version)

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds optional TLS configuration to the gRPC server and updates tests/docs to support TLS/mTLS scenarios.

Changes:

  • Parse ssl_cert/ssl_key/ssl_chain from [port_grpc] and build gRPC server credentials accordingly.
  • Add envconfig helpers to generate TLS-enabled gRPC configs for tests.
  • Add a new unit test suite plus example config documentation for gRPC TLS settings.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/xrpld/app/main/GRPCServer.h Stores TLS config paths and declares a credentials factory helper.
src/xrpld/app/main/GRPCServer.cpp Reads TLS settings from config and switches gRPC listener credentials to TLS when configured.
src/test/jtx/impl/envconfig.cpp Adds helper functions to populate TLS fields in test configs.
src/test/jtx/envconfig.h Declares the new TLS-related envconfig helpers.
src/test/app/GRPCServerTLS_test.cpp Introduces tests intended to cover TLS and “mTLS” gRPC startup paths.
cfg/xrpld-example.cfg Documents the new [port_grpc] TLS settings and provides example values.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings February 17, 2026 13:56
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Comments suppressed due to low confidence (1)

src/xrpld/app/main/GRPCServer.cpp:10

  • #include <boost/filesystem.hpp> appears to be unused in this file (no boost::filesystem symbols are referenced). Consider removing it to reduce compile time and avoid unnecessary dependencies (FileUtilities.h already brings in the needed Boost types).
namespace xrpl {


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

❌ Patch coverage is 96.10390% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.2%. Comparing base (0976b2b) to head (e98fd4e).

Files with missing lines Patch % Lines
src/xrpld/app/main/GRPCServer.cpp 96.1% 3 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##           develop   #6374     +/-   ##
=========================================
+ Coverage     80.0%   80.2%   +0.2%     
=========================================
  Files          846     846             
  Lines        65700   65774     +74     
  Branches      7257    7181     -76     
=========================================
+ Hits         52547   52730    +183     
+ Misses       13153   13044    -109     
Files with missing lines Coverage Δ
src/xrpld/app/main/GRPCServer.h 100.0% <ø> (ø)
src/xrpld/app/main/GRPCServer.cpp 81.6% <96.1%> (+38.0%) ⬆️

... and 11 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

godexsoft and others added 2 commits February 17, 2026 18:42
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 18, 2026 13:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings February 18, 2026 17:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

1 participant

Comments