Commit Graph

1585 Commits

Author SHA1 Message Date
2f32e0d8cf Fix chicken-egg problem in the ice agent creation 2024-06-19 11:28:01 +02:00
b679404618 Update configuration options for client UI (#2139)
* Add additional configuration options to client UI

* add quick settings options

* Remove unused UI elements and client options

* Add additional config properties to daemon protocol

This update extends the daemon protocol to include new configuration properties: interfaceName, wireguardPort, disableAutoConnect, serverSSHAllowed, rosenpassEnabled, and rosenpassPermissive.

* Refactor UI client settings and restart process

* Fix disable connect option while connecting
2024-06-19 11:09:35 +03:00
48310ef99c Fix engine test 2024-06-19 09:59:01 +02:00
24f71bc68a Fix and extend test 2024-06-19 09:40:43 +02:00
e26e2c3a75 Add conn status handling and protect agent 2024-06-18 17:40:37 +02:00
215fb257f7 Use any as source for the firewall for routed networks (#2134) 2024-06-18 16:33:03 +02:00
381447b8d6 Fix store migration on empty string (#2149)
* Fix store migration on empty string

when fetching empty values from the database to check for migration our parser failed to handle null strings preventing the service from start

this uses sql.NullString to handle that and check for empty string resulted from null data

---------

Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
2024-06-18 15:39:54 +02:00
919c1cb3d4 Fix capacity of slice (#2148)
The append keep the initial len and append to end of the
original slice
2024-06-18 15:31:40 +02:00
85d17cbc89 Trim new line char from Android version (#2147) 2024-06-18 15:31:19 +02:00
a5e664d83d Code cleaning 2024-06-18 11:27:18 +02:00
d8ab3c1632 Call peer.Open from engine 2024-06-18 11:23:39 +02:00
63b4041e9c Rename connector to worker 2024-06-18 11:22:40 +02:00
f7d8d03e55 Fix timers 2024-06-18 11:20:01 +02:00
5b86a7f3f2 Fix relay mode evaulation 2024-06-18 11:10:55 +02:00
deb8203f06 fix circle import 2024-06-17 18:02:52 +02:00
e407fe02c5 Separate lifecircle of handshake, ice, relay connections
- fix Stun, Turn address update thread safety issue
- move conn worker login into peer package
2024-06-17 17:52:22 +02:00
c9f3854dde Allow candidates on local routes if more specific than vpn routes (#2097) 2024-06-17 09:47:17 +02:00
a7760bf0a7 Configurable relay address with env variable 2024-06-14 15:43:18 +02:00
64f949abbb Integrate relay into peer conn
- extend mgm with relay address
- extend signaling with remote peer's relay address
- start setup relay connection before engine start
2024-06-14 14:40:31 +02:00
245b086646 fix network monitor ref check (#2133) 2024-06-14 14:22:49 +02:00
1609b21b5b Add freebsd test workflow (#2127) 2024-06-14 11:17:55 +02:00
1f926d15b8 Enable network monitoring for Windows and macOS clients (#2126)
* Enable network monitoring by default for Windows and Darwin

* Enable network monitoring by default on Windows and macOS

* fix merge

* Prevent updating config if no changes
2024-06-13 18:47:25 +03:00
a432e8e23a Fix checkFileAndProcess function on FreeBSD (#2128) 2024-06-13 14:40:48 +02:00
4fec709bb1 Release 0.28.0 (#2092)
* compile client under freebsd (#1620)

Compile netbird client under freebsd and now support netstack and userspace modes.
Refactoring linux specific code to share same code with FreeBSD, move to *_unix.go files.

Not implemented yet:

Kernel mode not supported
DNS probably does not work yet
Routing also probably does not work yet
SSH support did not tested yet
Lack of test environment for freebsd (dedicated VM for github runners under FreeBSD required)
Lack of tests for freebsd specific code
info reporting need to review and also implement, for example OS reported as GENERIC instead of FreeBSD (lack of FreeBSD icon in management interface)
Lack of proper client setup under FreeBSD
Lack of FreeBSD port/package

* Add DNS routes (#1943)

Given domains are resolved periodically and resolved IPs are replaced with the new ones. Unless the flag keep_route is set to true, then only new ones are added.
This option is helpful if there are long-running connections that might still point to old IP addresses from changed DNS records.

* Add process posture check (#1693)

Introduces a process posture check to validate the existence and active status of specific binaries on peer systems. The check ensures that files are present at specified paths, and that corresponding processes are running. This check supports Linux, Windows, and macOS systems.


Co-authored-by: Evgenii <mail@skillcoder.com>
Co-authored-by: Pascal Fischer <pascal@netbird.io>
Co-authored-by: Zoltan Papp <zoltan.pmail@gmail.com>
Co-authored-by: Viktor Liu <17948409+lixmal@users.noreply.github.com>
Co-authored-by: Bethuel Mmbaga <bethuelmbaga12@gmail.com>
2024-06-13 13:24:24 +02:00
95299be52d Deprecate FileStore engine support (#2119)
* Removejsonfile' from test matrix in workflows

* Remove sqlite to json migration command

* Refactor store engine implementation to remove JSON file store support

The codebase has been refactored to remove support for JSON file store storage engine, with SQLite serving as the default store engine. New functions have been added to handle unsupported store engines and to migrate data from file store to SQLite.

* Remove 'downCmd' from migration commands

* Refactoring

* Add sqlite cleanup

* Remove comment
2024-06-13 13:39:19 +03:00
f51cae7103 Prevent building test code for client (#2125)
This will reduce the client binary size in almost 25%
2024-06-13 11:38:38 +02:00
f68d5e965f Optimize JWT Group Sync (#2108)
* Optimize JWT group sync to avoid unnecessary account sync

* Ignore adding matching API and JWT groups during Sync

* add tests

* refactor
2024-06-13 09:55:09 +03:00
85b8f36ec1 Add basic signal metrics (#2107) 2024-06-13 01:20:46 +02:00
38f2a59d1b Add comment 2024-06-12 10:56:21 +02:00
94e505480b Use forked go-netroute (#2115) 2024-06-11 17:21:20 +02:00
9504012920 Set the proper buffer size in the client code 2024-06-09 21:10:57 +02:00
5e93d117cf Use buf pool
- eliminate reader function generation
- fix write to closed channel panic
2024-06-09 20:33:35 +02:00
8c70b7d7ff Replace ws lib on client side 2024-06-09 12:41:52 +02:00
ed8def4d9b Protect ws writing in Gorilla ws 2024-06-07 16:07:35 +02:00
10d8617be6 Do not use SO_MARK in case of netstack mode. (#2104) 2024-06-07 15:07:23 +02:00
1e115e3893 Merge branch 'main' into feature/relay 2024-06-06 13:38:40 +02:00
deffe037aa Respect env for debug and routes sub commands (#2026) 2024-06-06 10:59:10 +02:00
fed9e587af Add close message type 2024-06-05 19:49:30 +02:00
983d7bafbe Remove unused variables from peer conn (#2074)
Remove unused variables from peer conn
2024-06-04 17:04:50 +02:00
a40d4d2f32 - add comments
- avoid double closing messages
- add cleanup routine for relay manager
2024-06-04 14:40:35 +02:00
4da29451d0 Add missing openid scope when requesting JWT token (#2089)
According to the Zitadel documentation, `openid` scope is required
when requesting JWT tokens.

Apparently Zitadel was accepting requests without it until very
recently. Now lack thereof causes 400 Bad Requests which makes it
impossible to authenticate to the Netbird dashboard.

https://zitadel.com/docs/guides/integrate/service-users/client-credentials#2-authenticating-a-service-user-and-request-a-token
2024-06-04 10:46:24 +02:00
15818b72c6 Add alternative ws server implementation 2024-06-03 21:38:37 +02:00
0556dc1860 Avoid nil pointer exception in test in case of err 2024-06-03 21:36:46 +02:00
2b369cd28f Add quic transporter 2024-06-03 20:17:43 +02:00
9d44a476c6 Fix double unlock in client.go 2024-06-03 20:14:39 +02:00
9b3449753e Ignore candidates whose IP falls into a routed network. (#2084)
This will prevent peer connections via other peers.
2024-06-03 17:31:37 +02:00
456629811b Prevent using expired ctx when sending metrics (#2088) 2024-06-03 12:41:15 +02:00
57ddb5f262 Add comment 2024-06-03 11:22:16 +02:00
4ced07dd8d Fix close conn threading issue 2024-06-03 01:37:56 +02:00
3430b81622 Add relay server tracking 2024-06-01 11:48:15 +02:00