Skip to content

[24372] Assert liveliness with periodic heartbeats in secure participants#6411

Merged
MiguelCompany merged 5 commits into
masterfrom
bugfix/secure-part-liveliness
Jun 1, 2026
Merged

[24372] Assert liveliness with periodic heartbeats in secure participants#6411
MiguelCompany merged 5 commits into
masterfrom
bugfix/secure-part-liveliness

Conversation

@MiguelCompany
Copy link
Copy Markdown
Member

@MiguelCompany MiguelCompany commented May 28, 2026

Description

When two secure participants discover each other, they drop the non-secure channel used for PDP, and establish instead a secure connection through their SimplePDPEndpointsSecure. But since in the secure case TRANSIENT_LOCAL durability is used to share data Ps, there is no periodic data transmission which can be used to assert liveliness. As a consequence, liveliness is lost if there is no (user) data traffic between the participants.

With changes introduced in this PR, it is attempted to solve the issue by sending heartbeats periodically, with the same period data Ps are sent in the non-secure case.

@Mergifyio backport 3.4.x 3.2.x 2.14.x

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally
  • Any new/modified methods have been properly documented using Doxygen.
  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)
  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.
  • Changes are API compatible.
  • N/A: New feature has been added to the versions.md file (if applicable).
  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.
  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

juanlofer-eprosima and others added 5 commits May 28, 2026 10:20
…ticipants.

Signed-off-by: Juan Lopez Fernandez <juanlopez@eprosima.com>
Signed-off-by: danipiza <dpizarrogallego@gmail.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany added this to the v3.6.2 milestone May 28, 2026
@github-actions github-actions Bot added the ci-pending PR which CI is running label May 28, 2026
Copy link
Copy Markdown
Contributor

@juanlofer-eprosima juanlofer-eprosima left a comment

Choose a reason for hiding this comment

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

LGTM

@MiguelCompany MiguelCompany merged commit 910ac99 into master Jun 1, 2026
25 of 27 checks passed
@MiguelCompany MiguelCompany deleted the bugfix/secure-part-liveliness branch June 1, 2026 07:17
@MiguelCompany
Copy link
Copy Markdown
Member Author

@Mergifyio backport 3.2.x 2.14.x

@mergify
Copy link
Copy Markdown
Contributor

mergify Bot commented Jun 1, 2026

backport 3.2.x 2.14.x

✅ Backports have been created

Details

Cherry-pick of 910ac99 has failed:

On branch mergify/bp/3.2.x/pr-6411
Your branch is up to date with 'origin/3.2.x'.

You are currently cherry-picking commit 910ac9907.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   test/blackbox/common/BlackboxTestsSecurity.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/cpp/rtps/builtin/discovery/participant/PDPSimple.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

Cherry-pick of 910ac99 has failed:

On branch mergify/bp/2.14.x/pr-6411
Your branch is up to date with 'origin/2.14.x'.

You are currently cherry-picking commit 910ac9907.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   test/blackbox/common/BlackboxTestsSecurity.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/cpp/rtps/builtin/discovery/participant/PDPSimple.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

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

Labels

ci-pending PR which CI is running

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants