[PR #4160] [client, relay] Add client part of the relay version changes #4122

Open
opened 2025-11-20 08:07:46 -05:00 by saavagebueno · 0 comments
Owner

Original Pull Request: https://github.com/netbirdio/netbird/pull/4160

State: closed
Merged: No


Describe your changes

This PR implements client-side support for the updated relay protocol (version 2) by parsing relay addresses from the auth response payload, adding version-aware features, and making the peer subscription logic safe for nil subscriptions.

  • Bump protocol version and adjust UnmarshalAuthResponse to return raw payload bytes.
  • Introduce RelayAddr parsing with JSON and old-format fallback.
  • Integrate version check in client before enabling peer state subscription and add nil-safe guards.

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

**Original Pull Request:** https://github.com/netbirdio/netbird/pull/4160 **State:** closed **Merged:** No --- ## Describe your changes This PR implements client-side support for the updated relay protocol (version 2) by parsing relay addresses from the auth response payload, adding version-aware features, and making the peer subscription logic safe for nil subscriptions. - Bump protocol version and adjust UnmarshalAuthResponse to return raw payload bytes. - Introduce RelayAddr parsing with JSON and old-format fallback. - Integrate version check in client before enabling peer state subscription and add nil-safe guards. ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [ ] Is a feature enhancement - [x] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md).
saavagebueno added the pull-request label 2025-11-20 08:07:46 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#4122