Commit Graph

1594 Commits

Author SHA1 Message Date
3506ac4234 When creating new setup key, "revoked" field doesn't do anything (#2357)
Remove unused field from API
2024-08-01 17:13:58 +02:00
0c8f8a62c7 Handling invalid UTF-8 character in sys info (#2360)
In some operation systems, the sys info contains invalid characters.
In this patch try to keep the original fallback logic but filter out the cases when the character is invalid.
2024-08-01 16:46:55 +02:00
cbf9f2058e Use accountID retrieved from the sync call to acquire read lock sooner (#2369)
Use accountID retrieved from the sync call to acquire read lock sooner and avoiding extra DB calls.
- Use the account ID across sync calls
- Moved account read lock
- Renamed CancelPeerRoutines to OnPeerDisconnected
- Added race tests
2024-08-01 16:21:43 +02:00
02f3105e48 Freebsd test all root component (#2361)
* chore(tests): add all root component into FreeBSD check

* change timeout for each component

* add client tests execution measure

* revert -p1 for client tests and explain why

* measure duration of all test run
2024-08-01 11:56:18 +02:00
5ee9c77e90 Move write peer lock (#2364)
Moved the write peer lock to avoid latency caused by disk access

Updated the method CancelPeerRoutines to use the peer public key
2024-07-31 21:51:45 +02:00
c832cef44c Update SaveUsers and SaveGroups to SaveAccount (#2362)
Changed SaveUsers and SaveGroups method calls to SaveAccount for consistency in data persistence operations.
2024-07-31 19:48:12 +03:00
165988429c Add write lock for peer when saving its connection status (#2359) 2024-07-31 14:53:32 +02:00
9d2047a08a Fix freebsd tests (#2346) 2024-07-31 09:58:04 +02:00
f0d91bcfc4 Add tests for peer update behavior on peers changes 2024-07-31 02:45:09 +03:00
eb9aadfd38 Add tests for peer update behavior on setup key changes 2024-07-31 01:31:05 +03:00
8bab9dc3c0 fix tests 2024-07-31 01:24:02 +03:00
02c0a9b1da Add tests for peer update behavior on route changes 2024-07-31 01:18:37 +03:00
c76cd1d86e Add tests for peer update behavior on user changes 2024-07-31 01:18:14 +03:00
d990d95236 Add tests for peer update behavior on name server changes 2024-07-30 18:36:33 +03:00
cf211f6337 Refactor 2024-07-30 17:15:47 +03:00
8d9ea40bf1 Add tests for peer update behavior on dns settings changes 2024-07-30 16:38:32 +03:00
7647701898 Add tests for peer update behavior on group changes 2024-07-30 16:01:11 +03:00
6554b26600 Add tests for peer update behavior on policy changes 2024-07-30 14:56:23 +03:00
8455455142 Add tests for peer update behavior on posture check changes 2024-07-29 21:46:50 +03:00
da39c8bbca Refactor login with store.SavePeer (#2334)
This pull request refactors the login functionality by integrating store.SavePeer. The changes aim to improve the handling of peer login processes, particularly focusing on synchronization and error handling.

Changes:
- Refactored login logic to use store.SavePeer.
- Added checks for login without lock for login necessary checks from the client and utilized write lock for full login flow.
- Updated error handling with status.NewPeerLoginExpiredError().
- Moved geoIP check logic to a more appropriate place.
- Removed redundant calls and improved documentation.
- Moved the code to smaller methods to improve readability.
2024-07-29 13:30:27 +02:00
c48f244bee Remove unused isPolicyRuleGroupsEmpty 2024-07-26 17:47:02 +03:00
7321046cd6 Remove redundant check for empty JWT groups (#2323)
* Remove redundant check for empty group names in SetJWTGroups

* add test
2024-07-26 16:33:54 +02:00
ea3205643a Save daemon address on service install (#2328) 2024-07-26 16:33:20 +02:00
1a15b0f900 Fix race issue in set listener (#2332) 2024-07-26 16:27:51 +02:00
1f48fdf6ca Add SavePeer method to prevent a possible account inconsistency (#2296)
SyncPeer was storing the account with a simple read lock

This change introduces the SavePeer method to the store to be used in these cases
2024-07-26 07:49:05 +02:00
45fd1e9c21 add save peer status test for connected peers (#2321) 2024-07-25 16:22:04 +02:00
63aeeb834d Fix error handling (#2316) 2024-07-24 13:27:01 +02:00
b7fcd0d753 Remove UpdatePeerSSHKey method 2024-07-23 21:16:25 +03:00
268e801ec5 Ignore network monitor checks for software interfaces (#2302)
ignore checks for Teredo and ISATAP interfaces
v0.28.6
2024-07-22 19:44:15 +02:00
788f130941 Retry management connection only on context canceled (#2301) 2024-07-22 15:49:25 +02:00
926e11b086 Remove default allow for UDP on unmatched packet (#2300)
This fixes an issue where UDP rules were ineffective for userspace clients (Windows/macOS)
2024-07-22 15:35:17 +02:00
a19c2f660c Merge branch 'refs/heads/feature/optimize-network-map-updates' into feature/validate-group-association 2024-07-22 15:24:30 +03:00
936215b395 Optimize account peers updates on route changes 2024-07-22 13:51:18 +03:00
bb08adcbac Remove condition check for network serial update 2024-07-20 20:36:36 +03:00
f5ec234f09 Optimize peer update on user deletion and changes 2024-07-20 20:08:29 +03:00
26f089e30d Refactor peer account updates for efficiency 2024-07-20 12:37:25 +03:00
0a8c78deb1 Minor fix local dns search domain (#2287) 2024-07-19 16:44:12 +02:00
713c0341be Optimize update of account peers on jwt groups sync 2024-07-19 14:09:33 +03:00
1bbd8ae4b0 Optimize account peers update in DNS settings 2024-07-19 10:51:20 +03:00
a723c424f0 Refactor group changes 2024-07-19 10:51:05 +03:00
3e76deaa87 Update account peers if ns group has peers 2024-07-18 21:04:58 +03:00
36d4c21671 Optimize group change effects on account peers 2024-07-18 20:37:29 +03:00
181e8648a8 Refactor group management 2024-07-18 19:59:37 +03:00
1012c2f990 Add HasPeers function to group 2024-07-18 19:59:14 +03:00
c815ad86fd Fix macOS DNS unclean shutdown restore call on startup (#2286)
previously, we called the restore method from the startup when there was an unclean shutdown. But it never had the state keys to clean since they are stored in memory

this change addresses the issue by falling back to default values when restoring the host's DNS
v0.28.5
2024-07-18 18:06:09 +02:00
ef1a39cb01 Refactor macOS system DNS configuration (#2284)
On macOS use the recommended settings for providing split DNS. As per
the docs an empty string will force the configuration to be the default.
In order to to support split DNS an additional service config is added
for the local server and search domain settings.

see: https://developer.apple.com/documentation/devicemanagement/vpn/dns
2024-07-18 16:39:41 +02:00
1b28d1dfbc Refactor group link checking into re-usable functions 2024-07-18 16:41:21 +03:00
f17016b5e5 Skip peer update on unchanged network map (#2236)
* Enhance network updates by skipping unchanged messages

Optimizes the network update process
by skipping updates where no changes in the peer update message received.

* Add unit tests

* add locks

* Improve concurrency and update peer message handling

* Refactor account manager network update tests

* fix test

* Fix inverted network map update condition

* Add default group and policy to test data

* Run peer updates in a separate goroutine

* Refactor

* Refactor lock
2024-07-18 13:50:44 +03:00
c900fa81bb Remove copy functions from signal (#2285)
remove migration function for wiretrustee directories to netbird
2024-07-18 12:15:14 +02:00
9a6de52dd0 Check if route interface is a Microsoft ISATAP device (#2282)
check if the nexthop interfaces are Microsoft ISATAP devices and ignore their suffixes when comparing them
2024-07-17 23:49:09 +02:00