Commit Graph

190 Commits

Author SHA1 Message Date
2a2d6d6515 feat: add platform-specific TCP timeout configurations for Darwin, FreeBSD, Windows, and Linux 2025-11-20 18:04:11 -06:00
3d943aaaef refactor: improve announce packet handling by clarifying address extraction and validation logic
Some checks failed
Go Build Multi-Platform / build (arm, freebsd) (push) Has been cancelled
Go Build Multi-Platform / build (arm, linux) (push) Has been cancelled
Go Build Multi-Platform / build (arm, windows) (push) Has been cancelled
Go Build Multi-Platform / build (arm64, darwin) (push) Has been cancelled
Go Build Multi-Platform / build (amd64, windows) (push) Has been cancelled
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Has been cancelled
Run Gosec / tests (push) Has been cancelled
Go Revive Lint / lint (push) Has been cancelled
Go Test Multi-Platform / Test (macos-latest, amd64) (push) Has been cancelled
Go Build Multi-Platform / build (amd64, linux) (push) Has been cancelled
Go Test Multi-Platform / Test (windows-latest, amd64) (push) Has been cancelled
Go Test Multi-Platform / Test (macos-latest, arm64) (push) Has been cancelled
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Has been cancelled
Go Build Multi-Platform / build (amd64, freebsd) (push) Has been cancelled
Go Build Multi-Platform / build (arm64, freebsd) (push) Has been cancelled
Go Build Multi-Platform / build (arm64, linux) (push) Has been cancelled
Go Build Multi-Platform / build (arm64, windows) (push) Has been cancelled
Go Build Multi-Platform / Create Release (push) Has been cancelled
Go Build Multi-Platform / build (amd64, darwin) (push) Has started running
2025-11-20 17:57:13 -06:00
d5d7fbdb79 refactor: simplify comments in getHashablePart function for clarity 2025-11-20 17:57:07 -06:00
fdfe895d2d feat: enhance TCP and UDP interfaces with improved timeout settings and MTU configuration 2025-11-20 17:57:00 -06:00
01e639133b feat: enhance AutoInterface with improved configuration and multicast handling 2025-11-20 17:56:54 -06:00
6c6953e664 refactor: update identity management to use raw byte storage and msgpack for ratchet persistence 2025-11-20 17:56:48 -06:00
b4039dc148 feat: implement ratchet management with persistence and rotation 2025-11-20 17:56:40 -06:00
ba18fba43e Fix announce packet and debug logging 2025-11-20 17:56:29 -06:00
f097bb3241 security: use net.JoinHostPort instead of fmt.Sprintf
Some checks failed
Benchmark GC Performance / benchmark (push) Successful in 1m19s
Run Gosec / tests (push) Successful in 48s
Go Revive Lint / lint (push) Successful in 34s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 31s
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 34s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 29s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 27s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 48s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m28s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 27s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 27s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 27s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 27s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 27s
Performance Monitor / performance-monitor (push) Successful in 2m40s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 25s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 27s
Go Test Multi-Platform / Test (macos-latest, amd64) (push) Has been cancelled
Go Test Multi-Platform / Test (windows-latest, amd64) (push) Has been cancelled
Go Test Multi-Platform / Test (macos-latest, arm64) (push) Has been cancelled
2025-11-09 00:05:36 -06:00
22fc5093db perf: combine multiple append calls in transport 2025-11-09 00:05:31 -06:00
636d400f1e refactor: migrate to structured debug logging 2025-11-09 00:00:55 -06:00
fd5eb65bc0 fix: use context.TODO() in logger.Enabled check for improved clarity 2025-11-07 12:51:14 -06:00
4e13fe523b fix: resolve deepsource linter issues
- Fixed the append usage warning (CRT-D0001)
- Fixed the nil context warning (SCC-SA1012)
2025-11-07 12:47:47 -06:00
dd2cc3e3d9 update logging function to improve argument handling 2025-11-07 12:44:40 -06:00
088ba3337d Add debug package for logging with adjustable levels
- Introduced a new debug package that allows for logging at various levels (1-7).
- Implemented initialization, logger retrieval, and logging functions.
- Added functionality to set and get the current debug level.
2025-11-07 12:41:14 -06:00
8da4a759f5 Add FromHash method to create destinations from known hashes and enhance link handling capabilities 2025-10-07 22:44:08 -05:00
dff1489ee5 Add link ID generation in Establish method for connection requests 2025-10-07 22:44:02 -05:00
30c97bc9dd Implement identity recall functionality to retrieve existing identities by hash 2025-10-07 22:43:55 -05:00
005e2566aa Add destination registration and link handling in Transport 2025-10-07 22:43:45 -05:00
cc10830df3 Fix CreatePacket method in Announce struct to dynamically set context flag based on the existence of ratchet data. 2025-10-07 21:53:39 -05:00
b548e5711e Add destination type constants for packet handling in types.go 2025-10-07 21:31:45 -05:00
cc89bfef6e Update destination hash calculation in handleAnnouncePacket to use SHA256. 2025-10-07 21:31:40 -05:00
45a3ac1e87 Fix destination hash calculation by incorporating SHA256 for name hashing. 2025-10-07 21:31:16 -05:00
e39936ac30 Fix Announce struct to include destination name and hash validation.
Also update New and NewAnnounce functions to require destinationHash and destinationName parameters.
2025-10-07 21:30:57 -05:00
b601ae1c51 Add read loop for UDP interface to handle incoming packets asynchronously. 2025-10-07 21:30:27 -05:00
f53194be25 Fix announce packet handling to align with RNS specification. Enhance payload parsing, signature verification, and destination hash validation. Improve logging for better debugging of announce packet processing. 2025-09-27 05:48:33 -05:00
ad732d1465 mark interface as online 2025-09-27 05:47:28 -05:00
911fe3ea8e Add support for 32-byte Ed25519 2025-09-27 05:46:51 -05:00
be34168a1b Refine comment in TCPClientInterface to clarify HDLC framing usage for TCP connections 2025-09-27 04:41:36 -05:00
cebab6b2f3 Add debug logging and missing packet data 2025-09-27 04:41:25 -05:00
fdcb371582 Fix announce packet creation and sending logic to use the announce package. Enhance error handling and logging for interface checks during packet transmission. 2025-09-27 04:40:47 -05:00
f01b1f8bac Update Decrypt method in Identity to validate token structure and HMAC. Update extraction logic for ephemeral public key, ciphertext, and MAC, ensuring proper error handling for token size and HMAC validation. 2025-09-27 04:40:35 -05:00
a0eca36884 Update logging in HandlePacket and handleAnnouncePacket. 2025-09-27 04:30:59 -05:00
972d00df92 Fix TCPClientInterface readLoop and handlePacket methods to streamline HDLC framing logic and improve packet handling. Remove KISS framing support and update logging for received packets. Ensure outgoing data uses HDLC framing consistently. 2025-09-27 04:30:28 -05:00
483b6e562b Update announce packet creation and sending logic to utilize transport methods 2025-09-27 04:30:13 -05:00
b7cc0c39b4 Fix announce data parsing to include ratchet field and update length checks 2025-09-27 04:26:22 -05:00
456a95d569 Add benchmarking tests for packet and transport operations 2025-09-25 12:42:44 -05:00
c004ff1a97 Fix packet header handling in Pack and Unpack methods to correct order of DestinationHash and TransportID. 2025-09-07 02:24:07 -05:00
38323da57d Fix hash calculation in Destination to use TruncatedHash and improve logging for interface announcements 2025-09-07 02:23:30 -05:00
2ffd12b3e1 Add Send method to TCPClientInterface and better logging in UDPInterface 2025-09-07 02:21:48 -05:00
5e0c829cf6 Fix: Address various static analysis warnings
- **pkg/announce/announce.go**: Added error handling for `rand.Read` to log potential issues when generating random hashes.
- **pkg/buffer/buffer.go**: Removed a redundant `#nosec G115` comment as the line no longer triggers the warning.
- **pkg/cryptography/aes.go**: Added `#nosec G407` to explicitly acknowledge the use of `cipher.NewCBCEncrypter` which is acceptable in this context.
- **pkg/transport/transport.go**: Removed redundant `#nosec G115` comments as the lines no longer trigger the warning.
2025-07-15 13:45:48 -05:00
a80f2bb2ac Add a GetConfig method to the Transport struct. 2025-07-15 13:40:28 -05:00
7de206447a Migrate all AES encryption to AES-256-CBC and implement persistent ratchet storage. 2025-07-15 13:40:20 -05:00
f740514e2b Fix Destination announcing to use a dedicated announce package and improve transport integration. 2025-07-15 13:40:11 -05:00
b907dd93f1 Announce packet creation to strictly follow Reticulum specification. 2025-07-15 13:39:49 -05:00
12f487d937 use AES-256-CBC only 2025-07-15 13:31:19 -05:00
b9aebc8406 gosec fixes and added #nosec where necassary 2025-07-06 00:33:50 -05:00
6e87fc9bcd go fmt 2025-07-06 00:09:14 -05:00
bc05835dae Add AES 256 and update AES test 2025-07-05 23:59:59 -05:00
Ivan
26371cdb6a Code cleanup of unused functions/variables 2025-05-07 18:35:45 -05:00