Pascal Fischer
2a864832c6
[management] remove gorm preparestmt from all DB connections ( #3292 )
2025-02-18 15:24:17 +01:00
Pascal Fischer
c974c12d65
[signal] Fix registry not found ( #3342 )
2025-02-18 14:23:34 +01:00
hakansa
50926bdbb4
[client] [ui] issue when changing setting in GUI while peer session is expired ( #3334 )
...
* [client] [ui] fix issue when changing settings in GUI while peer session is expired
2025-02-18 13:17:34 +03:00
Maycon Santos
bd381d59cd
[misc] Run management benchmark jobs on file changes ( #3343 )
...
They will always run on Main
2025-02-18 10:45:41 +01:00
Karsa
f67e56d3b9
[client][ui] added accessible tray icons ( #3335 )
...
Added accessible tray icons with:
- dark mode support on Windows and Linux, kudos to @burgosz for the PoC
- template icon support on MacOS
Also added appropriate connecting status icons
2025-02-18 02:21:44 +01:00
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
Pascal Fischer
e6d4653b08
[management] add cloud tag to get ingress ports api spec ( #3300 )
...
* fix tag for get endpoint
* update labels
2025-02-12 16:11:54 +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
eb69f2de78
Fix nil pointer exception when load empty list and try to cast it ( #3282 )
2025-02-06 10:28:42 +01:00
Viktor Liu
206420c085
[client] Fix grouping of peer ACLs with different port ranges ( #3289 )
2025-02-06 10:28:42 +01:00
Christian Stewart
88a864c195
[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-06 10:28:42 +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
Pascal Fischer
a789e9e6d8
[management] fix duplication detection ( #3286 )
2025-02-05 21:42:09 +01:00
Viktor Liu
9930913e4e
Merge branch 'main' into feature/port-forwarding
2025-02-05 18:55:59 +01:00
Viktor Liu
125b5e2b16
[client] Fix acl empty port range detection ( #3285 )
2025-02-05 18:55:42 +01:00
Viktor Liu
48675f579f
Merge branch 'main' into feature/port-forwarding
2025-02-05 17:44:01 +01:00
Pascal Fischer
afec455f86
[management] copy port info ( #3283 )
2025-02-05 17:30:42 +01:00
Pascal Fischer
035c5d9f23
[management merge only unique entries on network map merge ( #3277 )
2025-02-05 16:50:45 +01:00
Viktor Liu
97d498c59c
[misc, client, management] Replace Wiretrustee with Netbird ( #3267 )
2025-02-05 16:49:41 +01:00
Viktor Liu
b2a5b29fb2
Merge branch 'main' into feature/port-forwarding
2025-02-05 10:15:37 +01:00
Bethuel Mmbaga
9ec61206c2
[management] Add support for filtering peers by name and IP ( #3279 )
...
* add peers ip and name filters
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* add get peers filter
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* fix get account peers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Extend GetAccountPeers store to support filtering by name and IP
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* Fix get peers references
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
---------
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
2025-02-05 00:33:15 +03: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
Zoltan Papp
1b011a2d85
[client] Manage the IP forwarding sysctl setting in global way ( #3270 )
...
Add new package ipfwdstate that implements reference counting for IP forwarding
state management. This allows multiple usage to safely request IP forwarding
without interfering with each other.
2025-02-03 12:27:18 +01:00
Pascal Fischer
a85ea1ddb0
[manager] ingress ports manager support ( #3268 )
...
* add peers manager
* Extend peers manager to support retrieving all peers
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
* add network map calc
* move integrations interface
* update management-integrations
* merge main and fix
* go mod tidy
* [management] port forwarding add peer manager fix network map (#3264 )
* [management] fix testing tools (#3265 )
* Fix net.IPv4 conversion to []byte
* update test to check ipv4
---------
Signed-off-by: bcmmbaga <bethuelmbaga12@gmail.com>
Co-authored-by: bcmmbaga <bethuelmbaga12@gmail.com>
Co-authored-by: Zoltán Papp <zoltan.pmail@gmail.com>
2025-02-03 09:37:37 +01:00
Zoltán Papp
829e40d2aa
Fix ingress manager unnecessary creation
2025-02-01 10:58:47 +01:00
Pascal Fischer
6344e34880
[management] renamed ingress port endpoints ( #3263 )
2025-02-01 00:40:33 +01:00
Pascal Fischer
a76ca8c565
Merge branch 'main' into feature/port-forwarding
2025-01-29 22:28:10 +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
Zoltan Papp
26693e4ea8
Feature/port forwarding client ingress ( #3242 )
...
Client-side forward handling
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
---------
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
2025-01-29 16:04:33 +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