Commit Graph
100 Commits
Author SHA1 Message Date
Zoltán Papp 085d072b17 - Add sha prefix for peer id in protocol
- Add magic cookie in hello msg
- Add tests
2024-06-25 17:36:04 +02:00
Zoltán Papp 0a67f5be1a Fix logic 2024-06-25 15:13:08 +02:00
Zoltán Papp f72e852ccb Remove duplicated code 2024-06-24 18:54:03 +02:00
Zoltán Papp 54dc78aab8 Remove debug log 2024-06-24 15:30:25 +02:00
Zoltán Papp 69d8d5aa86 Fix the active conn type logic 2024-06-21 19:13:41 +02:00
Zoltán Papp 7581bbd925 Handle on offer listener in handshaker 2024-06-21 15:35:15 +02:00
Zoltán Papp 4d67d72785 Use permanent credentials 2024-06-21 15:02:54 +02:00
Zoltán Papp 4a08f1a1e9 Refactor handshaker loop 2024-06-21 12:35:28 +02:00
Zoltán Papp bfe60c01ba Close proxy reading in case of eof 2024-06-21 00:55:30 +02:00
Zoltán Papp 06ceac65de - Fix reconnect guard
- Avoid double client creation
2024-06-21 00:55:07 +02:00
Zoltán Papp 6801dcb3f6 Fallback to relay conn 2024-06-20 18:17:30 +02:00
Zoltán Papp c7db2c0524 Moc signal message support 2024-06-19 18:40:49 +02:00
Zoltán Papp 4f890ff712 Typo fix 2024-06-19 18:17:52 +02:00
Zoltán Papp f7e6aa9b8f Change logging logic 2024-06-19 18:16:43 +02:00
Zoltán Papp 81f2330d49 Fix remote address in ws client 2024-06-19 18:16:23 +02:00
Zoltán Papp 0261e15aad Extend the cmd with argument handling
- add cobra to relay server
- add logger instance for handshaker
2024-06-19 17:40:16 +02:00
Zoltán Papp 11de2ec42e Fix open connection 2024-06-19 12:18:58 +02:00
Zoltán Papp 4d2a25b728 Code cleaning 2024-06-19 11:53:21 +02:00
Zoltán Papp 2f32e0d8cf Fix chicken-egg problem in the ice agent creation 2024-06-19 11:28:01 +02:00
Zoltán Papp 48310ef99c Fix engine test 2024-06-19 09:59:01 +02:00
Zoltán Papp 24f71bc68a Fix and extend test 2024-06-19 09:40:43 +02:00
Zoltán Papp e26e2c3a75 Add conn status handling and protect agent 2024-06-18 17:40:37 +02:00
Zoltán Papp a5e664d83d Code cleaning 2024-06-18 11:27:18 +02:00
Zoltán Papp d8ab3c1632 Call peer.Open from engine 2024-06-18 11:23:39 +02:00
Zoltán Papp 63b4041e9c Rename connector to worker 2024-06-18 11:22:40 +02:00
Zoltán Papp f7d8d03e55 Fix timers 2024-06-18 11:20:01 +02:00
Zoltán Papp 5b86a7f3f2 Fix relay mode evaulation 2024-06-18 11:10:55 +02:00
Zoltán Papp deb8203f06 fix circle import 2024-06-17 18:02:52 +02:00
Zoltán Papp 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
Zoltán Papp a7760bf0a7 Configurable relay address with env variable 2024-06-14 15:43:18 +02:00
Zoltan Papp 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
Zoltan Papp 38f2a59d1b Add comment 2024-06-12 10:56:21 +02:00
Zoltan Papp 9504012920 Set the proper buffer size in the client code 2024-06-09 21:10:57 +02:00
Zoltan Papp 5e93d117cf Use buf pool
- eliminate reader function generation
- fix write to closed channel panic
2024-06-09 20:33:35 +02:00
Zoltan Papp 8c70b7d7ff Replace ws lib on client side 2024-06-09 12:41:52 +02:00
Zoltan Papp ed8def4d9b Protect ws writing in Gorilla ws 2024-06-07 16:07:35 +02:00
Zoltán Papp 1e115e3893 Merge branch 'main' into feature/relay 2024-06-06 13:38:40 +02:00
Zoltan Papp fed9e587af Add close message type 2024-06-05 19:49:30 +02:00
Zoltan Papp 983d7bafbe Remove unused variables from peer conn (#2074)
Remove unused variables from peer conn
2024-06-04 17:04:50 +02:00
Zoltan Papp a40d4d2f32 - add comments
- avoid double closing messages
- add cleanup routine for relay manager
2024-06-04 14:40:35 +02:00
Zoltán Papp 15818b72c6 Add alternative ws server implementation 2024-06-03 21:38:37 +02:00
Zoltán Papp 0556dc1860 Avoid nil pointer exception in test in case of err 2024-06-03 21:36:46 +02:00
Zoltán Papp 2b369cd28f Add quic transporter 2024-06-03 20:17:43 +02:00
Zoltán Papp 9d44a476c6 Fix double unlock in client.go 2024-06-03 20:14:39 +02:00
Zoltán Papp 57ddb5f262 Add comment 2024-06-03 11:22:16 +02:00
Zoltan Papp 4ced07dd8d Fix close conn threading issue 2024-06-03 01:37:56 +02:00
Zoltán Papp 3430b81622 Add relay server tracking 2024-06-01 11:48:15 +02:00
Zoltán Papp fd4ad15c83 Move reconnection logic to separated struct 2024-06-01 11:25:00 +02:00
Zoltan Papp c311d0d19e Fill the UI version info in system meta on Android (#2077) 2024-05-31 17:26:56 +02:00
Zoltán Papp 4ff069a102 Support multiple server 2024-05-29 16:40:26 +02:00
Zoltán Papp 7cc3964a4d Use mux for http server
Without it can not start multiple http
server instances for unit tests
2024-05-29 16:11:58 +02:00
Zoltan Papp 6d627f1923 Code cleaning 2024-05-28 01:27:53 +02:00
Zoltan Papp 076ce69a24 Add reconnect logic 2024-05-28 01:00:25 +02:00
Zoltán Papp 645a1f31a7 Fix writing/reading to a closed conn 2024-05-27 10:25:08 +02:00
Zoltán Papp b4aa7e50f9 Close sockets on server cmd 2024-05-27 09:42:27 +02:00
Zoltán Papp 173ca25dac Fix in client the close event 2024-05-26 22:14:33 +02:00
Zoltan Papp 41fe9f84ec Extend integrated validator with error handling (#2044) 2024-05-24 13:29:25 +02:00
Zoltán Papp 36b2cd16cc Remove channel binding logic 2024-05-23 13:24:02 +02:00
Zoltan Papp 61034aaf4d Gracefully conn worker shutdown (#2022)
Because the connWorker are operating with the e.peerConns list we must ensure all workers exited before we modify the content of the e.peerConns list.
If we do not do that the engine will start new connWorkers for the exists ones, and they start connection for the same peers in parallel.
2024-05-22 11:15:29 +02:00
Zoltán Papp 0a05f8b4d4 Use buffer pool and protect exported functions 2024-05-22 00:38:41 +02:00
Zoltán Papp e82c0a55a3 Set to blocking the message queue 2024-05-21 16:21:29 +02:00
Zoltán Papp 13eb457132 Add registration response message to the communication 2024-05-21 15:51:37 +02:00
Zoltan Papp 1c9c9ae47e Remove sync.pool 2024-05-20 11:38:23 +02:00
Zoltan Papp 9ac5a1ed3f Add udp listener and did some change for debug purpose. 2024-05-19 12:41:06 +02:00
Zoltan Papp d4eaec5cbd Followup messages modification 2024-05-17 23:41:47 +02:00
Zoltan Papp 6ae7a790f2 Fix buffer handling 2024-05-17 23:29:47 +02:00
Zoltan Papp 49dfbc82d9 Add relay cmd 2024-05-17 20:24:06 +02:00
Zoltan Papp 57a89cf0cc Add initial relay code 2024-05-17 17:43:28 +02:00
Zoltan Papp c590518e0c Feature/exit node Android (#1916)
Support exit node on Android.
With the protect socket function, we mark every connection that should be used out of VPN.
2024-05-07 12:28:30 +02:00
Zoltan Papp 13b63eebc1 Remove comments from iptables commands (#1928) 2024-05-06 17:12:34 +02:00
Zoltan Papp 735ed7ab34 Fix resolv.conf repairer logic (#1931)
Stop the file repairer before doing the restore
2024-05-06 17:01:00 +02:00
Zoltan Papp 5204d07811 Pass integrated validator for API (#1814)
Pass integrated validator for API handler
2024-04-15 12:08:38 +02:00
Zoltan Papp 9505805313 Rename variable (#1829) 2024-04-11 14:08:03 +02:00
Zoltan Papp 2d76b058fc Feature/peer validator (#1553)
Follow up management-integrations changes

move groups to separated packages to avoid circle dependencies
save location information in Login action
2024-03-27 18:48:48 +01:00
Zoltan Papp 68b377a28c Collect chassis.serial (#1748) 2024-03-26 15:33:01 +01:00
Zoltan Papp a2f2a6e21a Fix/resolv parser (#1520)
fix an issue In case if the original resolv.conf file is empty, then it can cause a nil pointer
2024-02-02 17:54:33 +01:00
Zoltan Papp f89332fcd2 Update port, ip choice logic in DNS service (#1514)
Ensure we use WG address instead of loopback addresses for eBPF.
- First try to use 53 port
- Try to use 5053 port on WG interface for eBPF
- Try to use 5053 on WG interface or loopback interface
2024-02-02 17:53:55 +01:00
Zoltan Papp 8604add997 Export info log level setter for Android (#1518) 2024-02-01 16:30:38 +01:00
Zoltan Papp 4771fed64f Support disabled resolved stub server mode (#1493)
In the case of disabled stub listeren the list of name servers is unordered. The solution is to configure the resolv.conf file directly instead of dbus API.
Because third-party services also can manipulate the DNS settings the agent watch the resolv.conf file and keep it up to date.

- apply file type DNS manager if in the name server list does not exist the 127.0.0.53 address
- watching the resolv.conf file with inotify service and overwrite all the time if the configuration has changed and it invalid
- fix resolv.conf generation algorithm
2024-01-24 16:47:26 +01:00
Zoltan PappandMaycon Santos 67a2127fd7 Add iOS build test (#1412)
* merge validate workflows into mobile



---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
2024-01-18 18:20:23 +01:00
Zoltan Papp 5a7aa461de Remove debug lines (#1468)
Remove print lines from EBPF code
2024-01-15 18:04:19 +01:00
Zoltan Papp ace588758c Update Java and specify version of cmdline tool (#1456) 2024-01-12 12:31:14 +01:00
Zoltan Papp 3591795a58 Fix allow netbird traffic for nftables and userspace (#1446)
Add default allow rules for input and output chains as part of the allownetbird call for userspace mode
2024-01-11 12:21:58 +01:00
Zoltan Papp 5242851ecc Use cached wintun zip package in github workflows (#1448) 2024-01-09 10:21:53 +01:00
Zoltan Papp 69dbcbd362 Remove duplicated chain add (#1444)
Remove duplicated chain add operation
2024-01-08 13:29:53 +01:00
Zoltan Papp 1de3bb5420 Netstack (#1403)
Add netstack support for the agent to run it without privileges.

- use interface for tun device
- use common IPC for userspace WireGuard integration
- move udpmux creation and sharedsock to tun layer
2024-01-03 16:06:20 +01:00
Zoltan Papp 163933d429 Fix route change notifier (#1431)
Compare the differences between the new routes
and initial routes
2024-01-03 11:54:19 +01:00
Zoltan PappandYury Gargay bc3d647d6b Update pion v3 (#1398)
Update Pion related versions to the latest
---------

Co-authored-by: Yury Gargay <yury.gargay@gmail.com>
2023-12-20 23:02:42 +01:00
Zoltan Papp 006ba32086 Fix/acl for forward (#1305)
Fix ACL on routed traffic and code refactor
2023-12-08 10:48:21 +01:00
Zoltan Papp 8be6e92563 Extend API with accessible peers (#1284)
Extend the peer and peers API endpoints with accessible peers.
2023-11-07 14:38:36 +01:00
Zoltan Papp 9c4bf1e899 Parse original resolv.conf (#1270)
Handle original search domains in resolv.conf type implementations.

- parse the original resolv.conf file
- merge the search domains
- ignore the domain keyword
- append any other config lines (sortstlist, options)
- fix read origin resolv.conf from bkp in resolvconf implementation
- fix line length validation
- fix number of search domains validation
2023-11-03 13:05:39 +01:00
Zoltan Papp 2c01514259 Fix black icon background on Win (#1269)
Fix the black icon background on Windows.
Update to the patched systray library.
2023-11-03 13:05:07 +01:00
Zoltan Papp e2f27502e4 Feature/search domain for android (#1256)
Support search domain on Android

- pass list of search domains to Android SDK
- throw notification in case of search domain changes
2023-11-02 19:04:33 +01:00
Zoltan Papp 6d4240a5ae Feature/update check (#1232)
Periodically fetch the latest available version, and the UI will shows a new menu for the download link. It checks both the daemon version and the UI version.
2023-10-30 10:32:48 +01:00
Zoltan Papp 2b90ff8c24 Fix/key backup in config script (#1206)
Because we provide the option to regenerate the config files, the encryption key could be lost.

- The configure.sh read the existing key and write it back during the config generation
- Backup the previously generated config files before overwrite it
- Fix invalid json output in the Extras field
- Reduce the error logs in case if the encryption key is invalid
- Response in the events API with valid user info in any cases
- Add extra error handling to the configure.sh. I.e. handle the invalid OpenID urls
2023-10-11 23:01:49 +02:00
Zoltan Papp b8599f634c Fix nil pointer exception in group delete (#1211)
Fix group delete panic

In case if in the db the DNSSettings is null then can cause panic in delete group function
because this field is pointer and it was not checked. Because of in the future implementation
this variable will be filled in any case then make no sense to keep the pointer type.

Fix DNSSettings copy function
2023-10-11 23:00:56 +02:00
Zoltan Papp aa1d31bde6 Remove comments from iptables (#1165)
Comment will be ignored because some
system this feature is not supported
2023-09-27 09:51:20 +02:00
Zoltan Papp da7b6b11ad Fix/user deletion (#1157)
Extend the deleted user info with the username
- Because initially, we did not store the user name in the activity db 
Sometimes, we can not provide the user name in the API response.

Fix service user deletion
  - In case of service user deletion, do not invoke the IdP delete function
  - Prevent self deletion
2023-09-23 10:47:49 +02:00
Zoltan Papp 34e2c6b943 Fix sso check (#1152)
Fix SSO check

- change the order of the PKCE and device auth flow check, prefer PKCE
- fix error handling in PKCE check
2023-09-18 16:04:53 +02:00
Zoltan Papp 06bec61be9 Add Android test build (#1144)
Extend the CI with gomobile build.
With this step we can validate that the code can run on Android
2023-09-13 17:58:12 +02:00