Bethuel Mmbaga
8fb5a9ce11
[management] add batching support for SaveUsers and SaveGroups ( #3341 )
...
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2025-02-18 00:08:03 +01:00
Bethuel Mmbaga
4cdb2e533a
[management] Refactor users to use store methods ( #2917 )
...
* Refactor setup key handling to use store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* add lock to get account groups
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* add check for regular user
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* get only required groups for auto-group validation
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* add account lock and return auto groups map on validation
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* refactor account peers update
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor groups to use store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* refactor GetGroupByID and add NewGroupNotFoundError
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add AddPeer and RemovePeer methods to Group struct
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Preserve store engine in SqlStore transactions
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Run groups ops in transaction
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix missing group removed from setup key activity
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor posture checks to remove get and save account
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix refactor
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix sonar
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Change setup key log level to debug for missing group
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Retrieve modified peers once for group events
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor policy get and save account to use store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Retrieve policy groups and posture checks once for validation
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix typo
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add policy tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor anyGroupHasPeers to retrieve all groups once
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor dns settings to use store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add account locking and merge group deletion methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor name server groups to use store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add peer store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor ephemeral peers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add lock for peer store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor peer handlers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor peer to use store methods
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix typo
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add locks and remove log
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* run peer ops in transaction
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* remove duplicate store method
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix peer fields updated after save
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* add tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Use update strength and simplify check
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* prevent changing ruleID when not empty
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* prevent duplicate rules during updates
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix lint
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor auth middleware
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor account methods and mock
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor user and PAT handling
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Remove db query context and fix get user by id
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix database transaction locking issue
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Use UTC time in test
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add account locks
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix prevent users from creating PATs for other users
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add store locks and prevent fetching setup keys peers when retrieving user peers with empty userID
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add missing tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor test names and remove duplicate TestPostgresql_SavePeerStatus
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add account locks and remove redundant ephemeral check
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Retrieve all groups for peers and restrict groups for regular users
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix store tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* use account object to get validated peers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Improve peer performance
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Get account direct from store without buffer
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Add get peer groups tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Adjust benchmarks
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Adjust benchmarks
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* [management] Update benchmark workflow (#3181 )
* update local benchmark expectations
* update cloud expectations
* Add status error for generic result error
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Use integrated validator direct
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* update expectations
* update expectations
* update expectations
* Refactor peer scheduler to retry every 3 seconds on errors
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* update expectations
* fix validator
* fix validator
* fix validator
* update timeouts
* Refactor ToGroupsInfo to process slices of groups
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* update expectations
* update expectations
* update expectations
* Bump integrations version
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor GetValidatedPeers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* go mod tidy
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Use peers and groups map for peers validation
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* remove mysql from api benchmark tests
* Fix merge
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix blocked db calls on user auto groups update
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* update expectations
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* update expectations
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Skip user check for system initiated peer deletion
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Remove context in db calls
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* update expectations
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* [management] Improve group peer/resource counting (#3192 )
* Fix sonar
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Adjust bench expectations
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Rename GetAccountInfoFromPAT to GetTokenInfo
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Remove global account lock for ListUsers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* build userinfo after updating users in db
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* [management] Optimize user bulk deletion (#3315 )
* refactor building user infos
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix tests
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* remove unused code
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Refactor GetUsersFromAccount to return a map of UserInfo instead of a slice
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Export BuildUserInfosForAccount to account manager
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fetch account user info once for bulk users save
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Update user deletion expectations
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Set max open conns for activity store
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Update bench expectations
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
---------
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
---------
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
Co-authored-by: Pascal Fischer <32096965+pascal-fischer@users.noreply.github.com>
Co-authored-by: Pascal Fischer <pascal@netbird.io>
Co-authored-by: Pedro Costa <550684+pnmcosta@users.noreply.github.com>
2025-02-17 21:43:12 +03:00
Pascal Fischer
abe8da697c
[signal] add pprof and message size metrics ( #3337 )
2025-02-17 17:07:30 +01:00
hakansa
039a985f41
[client] Normalize DNS record names to lowercase in local handler update ( #3323 )
...
* [client] Normalize DNS record names to lowercase in lookup
2025-02-14 13:13:40 +03:00
Viktor Liu
c4a6dafd27
[client] Use GPO DNS Policy Config to configure DNS if present ( #3319 )
2025-02-13 18:17:18 +01:00
Zoltan Papp
a930c2aecf
Fix priority handling ( #3313 )
2025-02-13 15:48:10 +01:00
Pedro Maia Costa
d48edb9837
fix integration tests ( #3311 )
2025-02-12 11:16:51 +00:00
Viktor Liu
b41de7fcd1
[client] Enable userspace forwarder conditionally ( #3309 )
...
* Enable userspace forwarder conditionally
* Move disable/enable logic
2025-02-12 11:10:49 +01:00
Viktor Liu
18f84f0df5
[client] Check for fwmark support and use fallback routing if not supported ( #3220 )
2025-02-11 13:09:17 +01:00
Viktor Liu
44407a158a
[client] Fix dns handler chain test ( #3307 )
2025-02-11 12:42:04 +01:00
Viktor Liu
488b697479
[client] Support dns upstream failover for nameserver groups with same match domain ( #3178 )
2025-02-10 18:13:34 +01:00
Zoltan Papp
5953b43ead
[client, relay] Fix/wg watch ( #3261 )
...
Fix WireGuard watcher related issues
- Fix race handling between TURN and Relayed reconnection
- Move the WgWatcher logic to separate struct
- Handle timeouts in a more defensive way
- Fix initial Relay client reconnection to the home server
2025-02-10 10:32:50 +01:00
ransomware
58b2eb4b92
[signal] Fix context propagation in signal server ( #3251 )
2025-02-07 15:05:41 +01:00
Viktor Liu
05415f72ec
[client] Add experimental support for userspace routing ( #3134 )
2025-02-07 14:11:53 +01:00
Pascal Fischer
b7af53ea40
[management] add logs for grpc API ( #3298 )
2025-02-07 13:51:17 +01:00
Pascal Fischer
cee4aeea9e
[management] Check groups when counting peers on networks list ( #3284 )
2025-02-06 13:36:57 +01:00
Zoltan Papp
ca9aca9b19
Fix nil pointer exception when load empty list and try to cast it ( #3282 )
2025-02-06 10:20:31 +01:00
Viktor Liu
e00a280329
[client] Fix grouping of peer ACLs with different port ranges ( #3289 )
2025-02-05 23:04:52 +01:00
Christian Stewart
fe370e7d8f
[relay] Use new upstream for nhooyr.io/websocket package ( #3287 )
...
The nhooyr.io/websocket package was renamed to github.com/coder/websocket when
the project was transferred to "coder" as the new maintainer.
Use the new import path and update go.mod and go.sum accordingly.
Signed-off-by: Christian Stewart <christian@aperture.us>
2025-02-05 23:03:53 +01:00
Viktor Liu
125b5e2b16
[client] Fix acl empty port range detection ( #3285 )
2025-02-05 18:55:42 +01:00
Viktor Liu
97d498c59c
[misc, client, management] Replace Wiretrustee with Netbird ( #3267 )
2025-02-05 16:49:41 +01:00
hakansa
0125cd97d8
[client] use embedded root CA if system certpool is empty ( #3272 )
...
* Implement custom TLS certificate handling with fallback to embedded roots
2025-02-04 18:17:59 +03:00
M. Essam
7d385b8dc3
[management] REST client package ( #3278 )
2025-02-04 10:10:10 +00:00
Zoltan Papp
f930ef2ee6
Cleanup magiconair usage from repo ( #3276 )
2025-02-03 17:54:35 +01:00
dependabot[bot]
771c99a523
[clien]t Bump golang.org/x/net from 0.30.0 to 0.33.0 ( #3218 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.30.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.30.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-29 18:25:06 +01:00
Viktor Liu
e20be2397c
[client] Add missing peer ACL flush ( #3247 )
2025-01-28 23:25:22 +01:00
Maycon Santos
46766e7e24
[misc] Update sign pipeline version ( #3246 )
2025-01-28 22:48:19 +01:00
Viktor Liu
a7ddb8f1f8
[client] Replace engine probes with direct calls ( #3195 )
2025-01-28 12:25:45 +01:00
Pascal Fischer
7335c82553
[management] copy destination and source resource on policyRUle copy ( #3235 )
2025-01-28 07:05:21 +01:00
Viktor Liu
a32ec97911
[client] Use dynamic dns route resolution on iOS ( #3243 )
2025-01-27 18:13:10 +01:00
Viktor Liu
5c05131a94
[client] Support port ranges in peer ACLs ( #3232 )
2025-01-27 13:51:57 +01:00
Pascal Fischer
b6abd4b4da
[management/signal/relay] add metrics descriptions ( #3233 )
2025-01-24 14:17:30 +01:00
Pascal Fischer
2605948e01
[management] use account request buffer on sync ( #3229 )
2025-01-24 12:04:50 +01:00
Viktor Liu
eb2ac039c7
[client] Mark redirected traffic early to match input filters on pre-DNAT ports ( #3205 )
2025-01-23 18:00:51 +01:00
Viktor Liu
790a9ed7df
[client] Match more specific dns handler first ( #3226 )
2025-01-23 18:00:05 +01:00
Viktor Liu
2e61ce006d
[client] Back up corrupted state files and present them in the debug bundle ( #3227 )
2025-01-23 17:59:44 +01:00
Viktor Liu
3cc485759e
[client] Use correct stdout/stderr log paths for debug bundle on macOS ( #3231 )
2025-01-23 17:59:22 +01:00
Viktor Liu
aafa9c67fc
[client] Fix freebsd default routes ( #3230 )
2025-01-23 16:57:11 +01:00
Pascal Fischer
69f48db0a3
[management] disable prepareStmt for sqlite ( #3228 )
2025-01-22 19:53:20 +01:00
Pascal Fischer
8c965434ae
[management] remove peer from group on delete ( #3223 )
2025-01-22 19:33:20 +01:00
Eddie Garcia
78da6b42ad
[misc] Fix typo in test output ( #3216 )
...
Fix a typo in test output
2025-01-22 18:57:54 +01:00
Bethuel Mmbaga
1ad2cb5582
[management] Refactor peers to use store methods ( #2893 )
2025-01-20 18:41:46 +01:00
Viktor Liu
c619bf5b0c
[client] Allow freebsd to build netbird-ui ( #3212 )
2025-01-20 11:02:09 +01:00
Maycon Santos
9f4db0a953
[client] Close ice agent only if not nil ( #3210 )
2025-01-18 00:18:59 +01:00
Pascal Fischer
3e836db1d1
[management] add duration logs to Sync ( #3203 )
2025-01-17 12:26:44 +01:00
Bethuel Mmbaga
c01874e9ce
[management] Fix network migration issue in postgres ( #3198 )
...
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2025-01-17 14:00:46 +03:00
Viktor Liu
1b2517ea20
[relay] Don't start relay quic listener on invalid TLS config ( #3202 )
2025-01-17 11:39:08 +01:00
Viktor Liu
3e9f0d57ac
[client] Fix windows info out of bounds panic ( #3196 )
2025-01-16 22:19:32 +01:00
Zoltan Papp
481bbe8513
[relay] Set InitialPacketSize to the maximum allowable value ( #3188 )
...
Fixes an issue on macOS where the server throws errors with default settings:
failed to write transport message to: DATAGRAM frame too large.
Further investigation is required to optimize MTU-related values.
2025-01-16 16:19:07 +01:00
Viktor Liu
bc7b2c6ba3
[client] Report client system flags to management server on login ( #3187 )
2025-01-16 13:58:00 +01:00