Commit Graph

113 Commits

Author SHA1 Message Date
a81c4b3175 Calculate IPv4 checksum header
This was causing an issue because virtual networks were dropping packets
without this being set
2026-01-23 23:05:20 -05:00
43f7497424 Simplify tagged union 2026-01-23 22:17:21 -05:00
213a01afc8 Implemented client and connection 2026-01-21 22:25:20 -05:00
067a11ab23 Move RawSocket and clean it up 2026-01-20 23:21:35 -05:00
6db4204bf0 Set don't fragment, and use random id 2026-01-20 22:08:10 -05:00
def8454012 Reconnect on timeout 2026-01-19 19:05:03 -05:00
4106679262 things are SOOOO good.... 2026-01-19 17:55:54 -05:00
01f44949f1 base64 encode payload and don't require connection playload 2026-01-19 17:16:29 -05:00
19126f1203 Attach BPF filter to get all the saprus messages 2026-01-19 17:04:08 -05:00
fec468c508 Complete handshake badly 2026-01-19 15:06:25 -05:00
9359fefdf7 Add real RawSocket deinit 2026-01-19 14:45:29 -05:00
f969d097ab Detect interface and use real mac 2026-01-19 14:43:44 -05:00
cc765dc91b Start adding connection message 2026-01-19 14:08:27 -05:00
abf2cfb366 use disc as default dest 2026-01-19 13:00:28 -05:00
c66b95bf89 Write relay message to the network 2026-01-19 12:59:21 -05:00
d7dedd243e construct full message 2026-01-19 12:30:08 -05:00
9947c21b4c Arrange bytes for relay 2026-01-19 12:12:23 -05:00
8a53c7366a 2026-01-18 17:20:44 -05:00
a33a96dafd start doing packet stuff 2026-01-17 21:38:23 -05:00
1a817df18d Mostly done with parsing and serializing messages 2026-01-17 16:06:47 -05:00
0d9c0c33fa 2026-01-14 19:34:35 -05:00
b3f1b00510 start porting to 0.16.0 2026-01-11 18:06:36 -05:00
7a8874ea6a doing some shenanigans
trying to start writing my own function to do raw socket connections
2026-01-10 21:17:46 -05:00
b39603522f 2025-11-14 14:47:56 -05:00
fc329d1064 2025-10-13 13:28:41 -04:00
3abe3095e6 Remove prints 2025-10-12 21:40:23 -04:00
d6da3cd31b IT'S RIGHT 2025-10-12 21:13:42 -04:00
fe166d2106 Start breaking out net logic to NetWriter 2025-10-12 18:05:34 -04:00
439ee00444 Simplify RawSocketWriter
Does not need to use an allocator anymor.
Just uses the internal buffer properly.
2025-10-12 18:02:56 -04:00
0da7bbda5b Cleanup and use random mac 2025-10-12 14:16:57 -04:00
b06cb6dada it works well! 2025-09-23 16:22:57 -04:00
b8313e4fa4 2025-09-23 15:01:12 -04:00
b5efbd6e16 Write ether headers properly 2025-09-23 14:16:55 -04:00
30243db5c9 2025-09-23 13:33:17 -04:00
c673401c2a Use writer instead of RawSocket in Client 2025-09-09 22:30:31 -04:00
74b0c9ef1f Use 0.15.1 for application 2025-09-09 20:19:48 -04:00
0778889af5 Upgrade deps to 0.15.1 2025-09-09 17:32:59 -04:00
56b6b8a386 Use Client as var type instead of singleton 2025-05-11 13:52:42 -04:00
14ed0bc3f3 Fix issue returning stack pointer 2025-05-11 13:40:55 -04:00
c72503fce6 Fix extra bytes in connection message. 2025-05-11 13:40:23 -04:00
373dbebc8c Add broadcast initial interest using raw sockets
Use this from the relay message
2025-05-11 11:40:15 -04:00
cde289d648 Update gatorcat dep and use bytes for broadcast message
The latter is helpful for the lifetime of the message.
2025-05-11 10:12:26 -04:00
716fb466fa Remove allocation for messages 2025-05-10 21:46:53 -04:00
583f9d8b8f Add comments and fix tests
Also added networkBytesAsValue and restored bytesAsValue.
These are useful for treating the bytes from the network directly as a Message.
Otherwise, the init function would overwrite the packet type and length to be correct.
I would like the message handling to fail if the message body is incorrect.
2025-05-10 21:46:53 -04:00
56e72928c6 fix use after free 2025-05-10 21:46:53 -04:00
a80c9abfe7 Attempt to base64 encode the connection payload
For some reason I am still getting this:

2025/05/10 16:37:06 Error decoding message: SGVsbG8gZGFya25lc3MgbXkgb2xkIGZyaWVuZA==::53475673624738675a4746796132356c63334d6762586b676232786b49475a79615756755a413d3daaaa
2025-05-10 21:46:53 -04:00
245dab4909 Use slice for init, and add better error sets.
The slice sets us avoid allocating within the init function.
This means init can't fail, and it also makes it easier to stack allocate messages (slice an array buffer, instead of creating a stack allocator).
2025-05-10 21:46:53 -04:00
cde5c3626c 2025-05-10 21:46:53 -04:00
e84d1a2300 2025-05-10 21:46:53 -04:00
1b7d9bbb1a Remove bytesAsValueUnchecked
Callers can instead use std.mem.bytesAsValue directly.
2025-05-10 21:46:53 -04:00