Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[relay] Refactor initial Relay connection #2800

Merged
merged 11 commits into from
Nov 22, 2024
Merged

Conversation

pappz
Copy link
Contributor

@pappz pappz commented Oct 28, 2024

Change initial Relay connection logic

Can support firewalls with restricted WS rules

  • allow to run engine without Relay servers
  • keep up to date Relay address changes

Describe your changes

  • handle thread-safe way the relay client instance
  • reimplement guard code
  • atomic store for Relay server address management
  • allow to run engine without success Relay connection
  • fix status indication
  • allow to upgrade/downgrade between ICE Turn and Relay

Issue ticket number and link

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

Copy link

@pappz pappz marked this pull request as ready for review October 29, 2024 16:19
@lixmal lixmal self-requested a review October 29, 2024 19:49
@pappz pappz changed the title Refactor initial Relay connection [relay] Refactor initial Relay connection Nov 1, 2024
@pappz pappz merged commit 2a5cb16 into main Nov 22, 2024
21 checks passed
@pappz pappz deleted the relay/reconnect-refactor branch November 22, 2024 17:12
hurricanehrndz added a commit to hurricanehrndz/netbird that referenced this pull request Nov 29, 2024
…te_change

* upstream/main: (55 commits)
  [client] Account different policiy rules for routes firewall rules (netbirdio#2939)
  Add guide when signing key is not found (netbirdio#2942)
  [tests] Enable benchmark tests on github actions (netbirdio#2961)
  [management] Add performance test for login and sync calls (netbirdio#2960)
  [management] refactor to use account object instead of separate db calls for peer update (netbirdio#2957)
  [client] Code cleaning in net pkg and fix exit node feature on Android(netbirdio#2932)
  [management] Refactor nameserver groups to use store methods (netbirdio#2888)
  [management] Refactor DNS settings to use store methods (netbirdio#2883)
  [management] Refactor policy to use store methods (netbirdio#2878)
  [management] Refactor posture check to use store methods (netbirdio#2874)
  [client] Allow routing to fallback to exclusion routes if rules are not supported (netbirdio#2909)
  [client] Set up sysctl and routing table name only if routing rules are available (netbirdio#2933)
  [client] Test nftables for incompatible iptables rules (netbirdio#2948)
  [client] Don't return error in userspace mode without firewall (netbirdio#2924)
  Import time package (netbirdio#2940)
  [misc] Renew slack link (netbirdio#2938)
  [relay] Refactor initial Relay connection (netbirdio#2800)
  [management] Fix getSetupKey call (netbirdio#2927)
  [client] Fix allow netbird rule verdict (netbirdio#2925)
  [management] Add activity events to group propagation flow (netbirdio#2916)
  ...
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