Zoltán Papp
559d347588
Revert async WireGuard handshake
2025-02-21 16:19:28 +01:00
Zoltán Papp
06d71257b4
Build rawsocket code on linux only.
2025-02-21 16:00:31 +01:00
Zoltán Papp
62d10496ee
Merge branch 'main' into fix/pkg-loss
2025-02-21 15:52:51 +01:00
Pedro Maia Costa
f00a997167
[management] fix grpc new account ( #3361 )
2025-02-21 15:17:42 +01:00
Zoltán Papp
651e88d611
Eliminate code duplication
2025-02-21 14:59:42 +01:00
Zoltán Papp
d496d21693
Apply same pausedCond logic on all implementation
2025-02-21 14:55:56 +01:00
Zoltan Papp
648b4cdf72
Update client/iface/wgproxy/udp/proxy.go
...
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
2025-02-21 14:50:29 +01:00
Viktor Liu
5134e3a06a
[client] Add reverse dns zone ( #3217 )
2025-02-21 12:52:04 +01:00
Maycon Santos
6554026a82
[client] fix client/Dockerfile to reduce vulnerabilities ( #3359 )
...
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-ALPINE321-MUSL-8720634
- https://snyk.io/vuln/SNYK-ALPINE321-MUSL-8720634
- https://snyk.io/vuln/SNYK-ALPINE321-OPENSSL-8690014
- https://snyk.io/vuln/SNYK-ALPINE321-OPENSSL-8690014
- https://snyk.io/vuln/SNYK-ALPINE321-OPENSSL-8710358
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2025-02-21 12:04:26 +01:00
Christian Stewart
a854660402
[client, signal, management] Update google.golang.org/api to latest ( #3288 )
...
* [misc] Add vendor/ to .gitignore
Ignore the vendor/ tree created if someone runs "go mod vendor"
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update google.golang.org/protobuf to latest
Updating protobuf runtime library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update google.golang.org/grpc to latest
Updating grpc library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update golang.org/x/net to latest
Updating x/net library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update golang.org/x/oauth2 to latest
Updating x/oauth2 library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update github.com/stretchr/testify to latest
Updating testify library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update opentelemetry to latest
Updating otel library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [client, signal, management] Update golang.org/x/time to latest
Updating x/time library as a dependency of eventually updating
google.golang.org/api in a future commit.
Signed-off-by: Christian Stewart <christian@aperture.us>
* [management] Update google.golang.org/api to latest
Updating google.golang.org/api library to fix indirect dependency issues with
older versions of OpenTelemetry.
See: #3240
Signed-off-by: Christian Stewart <christian@aperture.us>
---------
Signed-off-by: Christian Stewart <christian@aperture.us>
2025-02-21 12:02:50 +01:00
Misha Bragin
a0b48f971c
Add K8s webinar to Readme
2025-02-21 11:13:02 +01:00
Zoltan Papp
96de928cb3
Interface code cleaning ( #3358 )
...
Code cleaning in interfaces files
2025-02-21 10:19:38 +01:00
Pedro Maia Costa
77e40f41f2
[management] refactor auth ( #3296 )
2025-02-20 20:24:40 +00:00
Viktor Liu
d7d5b1b1d6
Skip CLI session expired notifcation if notifications are disabled ( #3266 )
2025-02-20 15:01:53 +01:00
Viktor Liu
631ef4ed28
[client] Add embeddable library ( #3239 )
2025-02-20 13:22:03 +01:00
hakansa
39986b0e97
[client, management] Support DNS Labels for Peer Addressing ( #3252 )
...
* [client] Support Extra DNS Labels for Peer Addressing
* [management] Support Extra DNS Labels for Peer Addressing
---------
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
2025-02-20 13:43:20 +03:00
Viktor Liu
62a0c358f9
[client] Add UI client event notifications ( #3207 )
2025-02-20 11:00:02 +01:00
César Gonçalves
87311074f1
[misc] improvement(template): add traefik labels to relay ( #3333 )
2025-02-20 10:56:22 +01:00
Carlos Hernandez
33cf9535b3
[client] Use go build to embed less icons ( #3351 )
2025-02-20 10:55:44 +01:00
Pascal Fischer
7e6beee7f6
[management] optimize test execution ( #3204 )
2025-02-19 19:13:45 +01:00
Viktor Liu
27b3891b14
[client] Set up local dns policy additionally if a gpo policy is detected ( #3336 )
2025-02-19 12:35:30 +01:00
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
Zoltán Papp
f0020ad4ce
Fallback to package loss solution if the raw socket does not work.
2025-02-18 13:58:20 +01:00
Zoltán Papp
1eacff250e
Remove WireGuard kernel code from FreeBSD
2025-02-18 13:47:42 +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
Zoltán Papp
1f83ba4563
Ignore err in tests
2025-02-17 22:06:04 +01:00
Zoltán Papp
3d80a25b4d
Fix possible blocker if the bind will be closed earlier then proxy
2025-02-17 22:03:15 +01:00
Zoltán Papp
1963644c99
Add close test for all implementation
2025-02-17 21:47:34 +01:00
Zoltán Papp
360c7134f7
Add unit test
2025-02-17 21:26:37 +01:00
Zoltán Papp
775b4feb7e
Fix close operation
2025-02-17 20:17:47 +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
Zoltán Papp
aca443bdec
Build UDP proxy on Linux only
2025-02-17 19:26:40 +01:00
Pascal Fischer
abe8da697c
[signal] add pprof and message size metrics ( #3337 )
2025-02-17 17:07:30 +01:00
Zoltán Papp
335866ac60
Close unused rawsocket
2025-02-17 15:56:48 +01:00
Zoltán Papp
082452eb5f
Add info log line
2025-02-17 15:50:49 +01:00
Zoltan Papp
b17c1d96a5
[client] Improve WireGuard handshake success rate ( #3092 )
...
The controller peer sends WireGuard handshake requests only
2025-02-17 15:50:15 +01:00
Zoltán Papp
2d5b5f59c2
Remove log line
2025-02-17 15:49:04 +01:00
Zoltán Papp
d5042f688f
Fix interface changes
2025-02-17 15:47:20 +01:00
Zoltán Papp
4db73a13d7
Implement redirect logic in UDP proxy
2025-02-17 15:47:20 +01:00
Zoltán Papp
06a17f0eee
Implement redirect to in eBPF proxy
2025-02-17 15:47:20 +01:00
Zoltán Papp
1f088b7e69
Extend the proxy interface with RedirectTo function and implement it in Bind proxy
2025-02-17 15:47:20 +01:00
Zoltan Papp
ffe74365a8
Code cleaning
2025-02-17 15:47:20 +01:00
Zoltán Papp
6a0f6efc18
Always stop timer
2025-02-17 15:47:20 +01:00
Zoltán Papp
bfa6df13c5
The non handshake initiator peer start the handshake after timeout
2025-02-17 15:47:20 +01:00
Zoltán Papp
e9b3b6210d
Improve WireGuard handshake success rate
...
The controller peer sends WireGuard
handshake requests only
2025-02-17 15:47:20 +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