Commit Graph

429 Commits

Author SHA1 Message Date
06da42a148 feat: implement PacketReceipt struct with methods for receipt creation, validation, and timeout handling 2025-11-20 21:31:31 -06:00
ec8b843cd4 feat: enhance Packet struct with new fields and hash methods for improved functionality 2025-11-20 21:31:24 -06:00
9e7e9a71ca feat: add link establishment tests and implement key generation, handshake, and proof validation in the Link module 2025-11-20 21:31:18 -06:00
b0669954a4 code cleanup 2025-11-20 21:25:50 -06:00
ded5853026 move platformGetRTT implementation to tcp_common.go for non-Linux platforms 2025-11-20 21:24:58 -06:00
426422413c Update TODO 2025-11-20 21:24:36 -06:00
50c8546344 chore: update golang.org/x/crypto dependency to v0.45.0 in go.mod and go.sum
Some checks failed
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 33s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 37s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 37s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 39s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 37s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 36s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 33s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 33s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 52s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 34s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 34s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 30s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m20s
Go Revive Lint / lint (push) Successful in 48s
Run Gosec / tests (push) Successful in 50s
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-20 18:22:08 -06:00
b0fad14504 fix: add security comment for TCP_INFO syscall in platformGetRTT function
Some checks failed
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 23s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 24s
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 39s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 41s
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 (arm, linux) (push) Has been cancelled
Go Build Multi-Platform / build (arm, windows) (push) Has been cancelled
Go Revive Lint / lint (push) Has been cancelled
Go Build Multi-Platform / build (arm, freebsd) (push) Has been cancelled
Go Test Multi-Platform / Test (macos-latest, amd64) (push) Has been cancelled
Go Test Multi-Platform / Test (ubuntu-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
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Has been cancelled
Go Build Multi-Platform / build (arm64, darwin) (push) Has been cancelled
Run Gosec / tests (push) Has been cancelled
2025-11-20 18:21:14 -06:00
24aa4fa88b remove default RTT implementation for non-Linux platforms and enhance keepalive period configuration for FreeBSD and Windows
Some checks failed
Go Build Multi-Platform / build (arm, linux) (push) Failing after 38s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 33s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 41s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 31s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 22s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 29s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 37s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 31s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 30s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 34s
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 33s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m0s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Revive Lint / lint (push) Successful in 48s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m25s
Run Gosec / tests (push) Failing after 58s
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-20 18:14:57 -06:00
189645940c fix: add security comments to clarify handling of non-critical errors in ratchet file operations
Some checks failed
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 35s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 39s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 38s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 30s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 29s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 33s
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 32s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 35s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 36s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 36s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 34s
Run Gosec / tests (push) Failing after 58s
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 (ubuntu-latest, arm64) (push) Successful in 46s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m28s
Go Revive Lint / lint (push) Successful in 55s
Go Test Multi-Platform / Test (macos-latest, arm64) (push) Has been cancelled
2025-11-20 18:04:30 -06:00
4f37df2fc0 fix: add security comments to handle non-critical errors in ratchet persistence 2025-11-20 18:04:26 -06:00
4859f5513a fix: add security comment for Unix timestamp handling in CreatePacket function 2025-11-20 18:04:22 -06:00
2a2d6d6515 feat: add platform-specific TCP timeout configurations for Darwin, FreeBSD, Windows, and Linux 2025-11-20 18:04:11 -06:00
d0c111d2f5 Update README
Some checks failed
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 42s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 46s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 41s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 37s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 44s
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 40s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 38s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 41s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 38s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Revive Lint / lint (push) Successful in 57s
Run Gosec / tests (push) Failing after 1m17s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 40s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 42s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m33s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 57s
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-20 17:57:58 -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
f4a929ce3a Update README.md
Some checks failed
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 41s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 46s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 44s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 33s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 33s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 32s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 55s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 53s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 43s
Run Gosec / tests (push) Successful in 58s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 48s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 35s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 51s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m29s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Revive Lint / lint (push) Successful in 45s
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-13 10:30:50 -06:00
fe66163ef7 remove 2025-11-13 10:30:41 -06:00
2cc34172c8 remove workflows 2025-11-13 10:30:32 -06:00
9331c4edbd add donation information and funding options
Some checks failed
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
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 1m15s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 31s
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 33s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 1m19s
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 1m17s
Benchmark GC Performance / benchmark (push) Successful in 1m42s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 29s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 26s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 26s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 32s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m8s
Run Gosec / tests (push) Successful in 1m0s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 30s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 31s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 1m0s
Go Revive Lint / lint (push) Successful in 25s
Performance Monitor / performance-monitor (push) Successful in 2m27s
2025-11-10 12:57:25 -06:00
8725c68b24 update: tinygo workflow
Some checks failed
TinyGo Build / tinygo-build-all (push) Failing after 1h7m54s
2025-11-10 10:17:44 -06:00
07512a3c88 update 2025-11-10 10:15:42 -06:00
6217a889e1 update Makefile with tinygo build options
Some checks failed
TinyGo Build / tinygo-build (tinygo-wasm, tinygo-wasm, reticulum-go.wasm, wasm) (push) Failing after 1m21s
TinyGo Build / tinygo-build (tinygo-build, tinygo-default, reticulum-go-tinygo, ) (push) Failing after 2m2s
2025-11-10 10:11:45 -06:00
92e4651c0c update build constraints for TCP interfaces to support TinyGo 2025-11-10 10:11:06 -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
v0.5.0
2025-11-09 00:05:36 -06:00
22fc5093db perf: combine multiple append calls in transport 2025-11-09 00:05:31 -06:00
fc95e54b2e update: Makefile with debug build target and update help text
Some checks failed
Go Build Multi-Platform / build (amd64, freebsd) (push) Failing after 55s
Go Build Multi-Platform / build (amd64, darwin) (push) Failing after 58s
Go Build Multi-Platform / build (amd64, linux) (push) Failing after 54s
Benchmark GC Performance / benchmark (push) Successful in 1m28s
Go Build Multi-Platform / build (arm, freebsd) (push) Failing after 48s
Go Build Multi-Platform / build (arm, linux) (push) Failing after 46s
Go Build Multi-Platform / build (arm64, darwin) (push) Failing after 29s
Go Build Multi-Platform / build (arm64, windows) (push) Failing after 28s
Go Test Multi-Platform / Test (ubuntu-latest, amd64) (push) Successful in 1m32s
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
Go Build Multi-Platform / build (amd64, windows) (push) Failing after 50s
Go Build Multi-Platform / build (arm, windows) (push) Failing after 36s
Go Build Multi-Platform / build (arm64, linux) (push) Failing after 38s
Go Build Multi-Platform / build (arm64, freebsd) (push) Failing after 40s
Go Test Multi-Platform / Test (ubuntu-latest, arm64) (push) Successful in 46s
Run Gosec / tests (push) Successful in 51s
Go Build Multi-Platform / Create Release (push) Has been skipped
Go Revive Lint / lint (push) Successful in 36s
Performance Monitor / performance-monitor (push) Has been cancelled
2025-11-09 00:01:19 -06:00
636d400f1e refactor: migrate to structured debug logging 2025-11-09 00:00:55 -06:00
ivan
a01bad919c Merge pull request 'Update TinyGo branch with debug logging' (#2) from main into tinygo
Reviewed-on: #2
2025-11-07 18:53:54 +00: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
353e9c6d9b Update logging to use new debug package
- Removed the old debug logging functions and replaced them with calls to the new debug package.
- Updated logging statements throughout the main.go file to utilize adjustable logging levels.
- Enhanced the clarity and structure of log messages for better debugging and traceability.
2025-11-07 12:41:29 -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
ivan
cfc88e887b Merge pull request 'update tinygo' (#1) from main into tinygo
Reviewed-on: #1
2025-11-06 21:16:11 +00:00
4cd2338095 Update README.md 2025-11-06 15:12:16 -06:00
c6cc1d8ca8 Update 2025-10-31 07:39:51 -05:00
0afb0e9ade Update 2025-10-31 07:39:41 -05:00
feeaa72102 Update GitHub Actions workflows
- Pin to full -length commit hash
- Add master alongside main
2025-10-31 07:39:34 -05:00
d325ee6a2d Update UDPInterface Send method to return an error for unsupported UDP functionality in TinyGo 2025-10-30 19:08:42 -05:00
a45ad400f9 Fixes 2025-10-30 19:05:20 -05:00
f599cc4d43 Update AutoInterface and UDPInterface to use net.PacketConn for better compatibility with TinyGo. Update methods to handle errors related to unsupported features in TinyGo, including interface enumeration and multicast UDP. 2025-10-30 19:01:33 -05:00
1b3f4e59db Update GitHub Actions workflow to trigger on 'tinygo' branch for builds 2025-10-30 19:01:18 -05:00
bb964445f3 add examples to gitignore for now 2025-10-30 18:57:48 -05:00
5369037a74 Add TinyGo build targets to Makefile and create GitHub Actions workflow for TinyGo builds 2025-10-30 18:54:23 -05:00