dcrubro
05febee79e
Key loading from files
2026-05-29 10:45:20 +02:00
dcrubro
afe10bbb6e
Context fill-in and CI tests
...
This commit adds common units tests and CI sanitasion.
Additional context for commit b64d9c4498 :
- Fixed macOS/Linux non-portable and unsafe shell usage by adding a posix_spawn helper and replacing system() calls in virtual_interface.cpp.
- Fixed SessionRegistry::erase() to remove mIPSessions and mSessionIPs entries in session_registry.cpp.
- Prevented message-length truncation in tcp_message_handler.cpp by rejecting payloads > 65535 bytes.
- Validated handshake message sizes and removed silent truncation in:
- tcp_connection.cpp
- tcp_client.cpp
- Canonicalized and validated config and whitelist paths in utils.cpp using std::filesystem.
- Hardened environment-provided config path handling in main.cpp.
- Validated UDP ciphertext lengths and fixed session ID endianness in udp_client.cpp.
- Scheduled periodic SessionRegistry::cleanupExpired() in main.cpp (every 5 minutes).
2026-05-25 12:29:19 +02:00
dcrubro
60795c60d8
minor fixes relating to nonce overflows, size checks, etc.
2026-05-25 12:22:33 +02:00
dcrubro
b64d9c4498
High priority and critical issues
2026-05-25 12:19:24 +02:00
dcrubro
604e4ace0f
Addressing some bugs regarding lifetimes and callbacks that could trigger random-ish crashed - wip
2026-03-17 17:00:20 +01:00
dcrubro
1136892c5d
Log proto version on client
2026-02-13 13:05:34 +01:00
dcrubro
8c54250449
enforce unique ids
2026-02-10 19:32:26 +01:00
dcrubro
27bd2cd2ec
endianness
2026-02-10 19:24:07 +01:00
dcrubro
14298453b3
TESTING: protocol version 2
2026-02-10 13:27:15 +01:00
dcrubro
316498c745
TESTING: Move server stuff to a server session config for central/global resources
2026-02-09 14:20:26 +01:00
dcrubro
6d40dbe00d
version update
2026-02-09 07:32:39 +01:00
dcrubro
757d0d251d
Moved client data passing to a dedicated ClientSession class instead of passing through a bunch of pointers at init
2026-02-08 19:20:27 +01:00
dcrubro
e61a429f24
Fix lowercase whitelisted_keys not being recognized as entries
2026-01-18 19:54:49 +01:00
dcrubro
db1b919981
Fix CMakeLists for PKGBUILD
2026-01-18 19:47:15 +01:00
dcrubro
2117b6a62b
Fix lowercase whitelisted_keys not being recognized as entries
2026-01-17 15:33:19 +01:00
dcrubro
7d56f9db5d
Update year
2026-01-10 19:10:37 +01:00
dcrubro
4609e85ca9
Logging uses ISO8601 instead of Unix Millis
2026-01-04 19:38:05 +01:00
dcrubro
154296bcdc
README Update
2026-01-03 16:36:10 +01:00
dcrubro
867b2c953a
Patch 1.0.1 START
2026-01-01 21:51:16 +01:00
dcrubro
83693ed1da
Update README to be more clear about IPv4 forwarding
2026-01-01 21:48:42 +01:00
dcrubro
62335f3693
Test fixing writing bug
2026-01-01 21:27:13 +01:00
dcrubro
2d3d6afb07
Test: fix forwarding
2026-01-01 21:18:51 +01:00
dcrubro
ccbacd1180
interface on win32 - v1
2026-01-01 17:15:58 +01:00
dcrubro
cf3ec30492
interface on win32 - v1
2026-01-01 17:11:02 +01:00
dcrubro
1d34953f25
interface on win32 - v1
2026-01-01 17:08:35 +01:00
dcrubro
b9903f5a8e
Version 1.0.0
2026-01-01 16:32:48 +01:00
dcrubro
1f5a0585f3
Version 1.0.0
2026-01-01 16:22:17 +01:00
dcrubro
3dc5c04bf1
Auto set route on macos
2025-12-31 21:12:23 +01:00
dcrubro
37ddb82d9a
Refactor args
2025-12-30 03:39:35 +01:00
dcrubro
8923f45356
Add routeset to win32
2025-12-29 19:33:57 +01:00
dcrubro
d5bf741650
Test Fix double SIGTERM
2025-12-29 19:05:25 +01:00
dcrubro
ae507c3fb9
Test Fix panic on disconnect
2025-12-29 19:02:22 +01:00
dcrubro
072fb69a4a
test3
2025-12-29 18:30:54 +01:00
dcrubro
6031d9655a
test3
2025-12-29 18:29:42 +01:00
dcrubro
16cd980c0a
test2
2025-12-29 18:11:05 +01:00
dcrubro
68a825b7df
test
2025-12-29 18:02:42 +01:00
dcrubro
17cc314c26
Fix wintun - connects but errors
2025-12-18 11:12:11 +01:00
dcrubro
225aa2a55d
Create wintun interface if not found
2025-12-18 07:55:35 +01:00
dcrubro
cab1362053
Kinda working Windows version
...
Needs these DLLs:
- libgcc_s_seh-1.dll
- libstdc++-6.dll
- libwinpthread-1.dll
- wintun.dll
2025-12-17 19:11:28 +01:00
dcrubro
c047cb90f0
Test 1: Make WinTun work
2025-12-17 18:34:07 +01:00
dcrubro
5e3aef78a5
Test: proper ipv6 support, still sending v4 to client tun
2025-12-10 16:02:55 +01:00
dcrubro
4ff33ffdab
Add IPv6 helpers
2025-12-10 15:08:29 +01:00
dcrubro
7d9018043d
Add resetIP() method, need impl
2025-12-09 20:14:06 +01:00
dcrubro
b50b594d68
Added support for macOS-specific kernel stuff.
2025-12-08 17:01:41 +01:00
dcrubro
842752cd88
Version b0.1 (Beta 0.1) - Refactor some stuff and move session_registry to .cpp file
2025-12-04 15:48:18 +01:00
dcrubro
668b96e8e0
Alpha 0.6 - Dynamic IPs
2025-12-02 18:45:50 +01:00
dcrubro
8ed90a3bc8
Alpha 0.6 - Dynamic IPs
2025-12-02 18:44:57 +01:00
dcrubro
4f4a0fd385
Wipe tuns before adding
2025-12-02 17:23:02 +01:00
dcrubro
3bda0b2ec4
Test3
2025-12-02 17:11:03 +01:00
dcrubro
210f9f2436
Test2
2025-12-02 17:08:40 +01:00
dcrubro
265954d700
Test - fixed session ip locking
2025-12-02 17:00:13 +01:00
dcrubro
0ba78d72ed
Test - Updated map check
2025-12-02 16:30:56 +01:00
dcrubro
eb7f4930e2
Test dynamic IPv4 + Subnet masks
2025-12-02 16:25:42 +01:00
dcrubro
4dbde290c2
Update README and IPv6 preparations
2025-12-02 01:18:06 +01:00
dcrubro
15d13b6f04
Converted some raw pointers to smart pointers
2025-12-01 21:13:46 +01:00
dcrubro
552d78eab2
Update README.md for config
2025-11-28 19:23:25 +01:00
dcrubro
dedcc364fb
Removed verification by CA for now, moved to whitelisted_keys (should be simpler). TODO: Move to smart ptrs
2025-11-28 18:59:55 +01:00
dcrubro
e54cce9497
Remove config.json req
2025-11-28 00:42:19 +01:00
dcrubro
1e902ed82b
Remove config.json req
2025-11-28 00:41:22 +01:00
dcrubro
4a5234bc9a
Move heartbeat logs to debug
2025-11-28 00:33:38 +01:00
dcrubro
1cf851bec3
Deleted some header libs from the include/ dir. Moved to CMake fetchcontent
2025-11-27 23:38:44 +01:00
dcrubro
d8ab2e2bda
Make interface name overridable (may not work on macos)
2025-11-27 18:54:31 +01:00
dcrubro
7d6d9e8ee6
Update some names
2025-11-27 18:49:53 +01:00
dcrubro
2a2deae022
General fixes
...
Fixed most compiler warnings. Changed used interface from utun0/utun1 to lynx0
2025-11-27 18:43:09 +01:00
dcrubro
d2242ebbc7
Comment some code
2025-11-26 21:52:01 +01:00
dcrubro
84c00b7bcb
Update version number, add timestamp to logs (maybe also other stuff that I forgot)
2025-11-26 18:13:41 +01:00
dcrubro
7b757c814c
Moved UDP msg logs to debug
2025-11-26 03:34:39 +01:00
dcrubro
022debfa5b
Fix byte order for sessionid, add 64-bit conversion helpers - damn you C standard for no htonl/ntohl for 64-bit :(
2025-11-22 21:53:45 +01:00
dcrubro
a78b98ac56
rename iptostring
2025-11-18 20:12:45 +01:00
dcrubro
09806c3c0f
test
2025-11-14 20:36:19 +01:00
dcrubro
ff81bfed31
Temporary /24 netmask for macOS
2025-11-14 20:29:25 +01:00
dcrubro
2343fdd1e2
htonl in ipToString
2025-11-14 19:25:52 +01:00
dcrubro
3ad98b8403
root permissions check and version counter update
2025-11-13 16:04:39 +01:00
dcrubro
766f878a8d
Merge pull request 'Merge tun-test into dev' ( #5 ) from tun-test into dev
...
Reviewed-on: #5
2025-11-13 14:51:36 +00:00
dcrubro
5a5f830cd9
Change tun interface, change to different name at some point
2025-11-13 15:45:24 +01:00
dcrubro
b37a999274
Fixed crash trigger on Ctrl+C (errno == EINTR check)
2025-11-13 15:43:46 +01:00
dcrubro
c85f622a60
test2
2025-11-13 15:12:00 +01:00
dcrubro
5c8409b312
Added a basic TUN, testing the implementation.
2025-11-13 08:31:46 +01:00
dcrubro
6fceb84930
Added basic virtual interface implementation, needs testing. Added Wintun licenses.
2025-11-12 19:14:44 +01:00
dcrubro
6cd4e01066
cleanup
2025-11-12 16:09:44 +01:00
dcrubro
e695008e10
Added IPv6 support, added option to disable IPv6 (IPv4-Only mode)
2025-11-12 09:07:22 +01:00
dcrubro
fbafeafc9f
Added a hostname check if connecting via domain hostname (Not IPv4/IPv6 - IPv6 still not supported / tested).
2025-11-11 17:35:53 +01:00
dcrubro
eda3cf87d1
misc.
2025-11-11 15:26:05 +01:00
dcrubro
705962e5ce
Added partial verification of server public key on client side - needs hostname verification. Added startup flag to ignore verification fail.
2025-11-11 13:19:59 +01:00
dcrubro
a92b9de15d
Add legal clarification
2025-11-10 16:57:57 +01:00
dcrubro
d7760d7945
Update license
2025-11-10 16:13:22 +01:00
dcrubro
b3d9ae8909
Update README.md, add heartbeat packets to detect dead or hanging connections.
2025-11-10 15:19:54 +01:00
dcrubro
2cbcf70c56
Added protocol version to TCP header, also some launch args
2025-11-09 02:26:44 +01:00
dcrubro
098afeb4d8
Relatively graceful shutdowns
2025-11-09 01:35:19 +01:00
dcrubro
5312c4205c
Update version (actual)
2025-11-07 22:33:22 +01:00
dcrubro
494ade207c
Update version
2025-11-07 22:32:40 +01:00
dcrubro
5127fe1999
Added basic UDP handling - only sending from client supported.
2025-11-07 21:55:13 +01:00
dcrubro
c7c3b1c54c
Almost finished with the TCP Handshake procedure, need to properly handle disconnects (currently pretty forceful)
2025-11-06 22:32:32 +01:00
dcrubro
0f7191ad54
Initial Commit
2025-11-06 15:51:56 +01:00