Commit graph

54 commits

Author SHA1 Message Date
Ivan
b4c8b0cd31
feat: add go rngit (git-remote-rns) with Python interop 2026-08-22 19:33:16 -05:00
Ivan
6c99c71b50
feat: add oracle tests for announce and channel functionality, ensuring compatibility with Python RNS and create ret go slim and other improvements 2026-08-15 03:14:09 -05:00
Ivan
dd15142b98
chore: update compatibility to Python RNS 1.3.9, update changelog, and implement new interface handling in librns 2026-07-19 02:26:55 -05:00
Ivan
142abf600d
test: add exploratory tests for various components including blackhole map decoding, message handling, and resource advertisement processing 2026-07-18 07:32:45 -05:00
Ivan
85a803f7f6
feat: add support for Haiku OS in CI workflow and implement Haiku-specific network checks and tests 2026-07-17 21:13:44 -05:00
Ivan
227d1c01eb
refactor: improve test concurrency and clean up code in various test files 2026-07-17 20:42:38 -05:00
Ivan
b55916edb1
feat: fix resource metadata handling 2026-07-17 20:32:54 -05:00
Ivan
cdf1095672
feat: add unit and fuzz tests for request and advertisement handling, including validation for negative sizes and non-finite timestamps 2026-07-17 19:56:18 -05:00
Ivan
5756fa80a5
feat: add fuzz testing for announce, common, packet, and resource packages 2026-07-17 19:01:39 -05:00
Ivan
7882e5f6d7
feat: better dev errors, expand testing 2026-07-17 17:43:57 -05:00
Ivan
d25ea8ff61
feat: update compatibility documentation for Python RNS 1.3.9 (upcoming), update announce packet size validation, and implement discovery location command handling 2026-07-17 17:06:46 -05:00
Ivan
e9428f8a19
feat: add examples for announce, echo, and file transfer functionalities with detailed README documentation 2026-07-16 11:38:13 -05:00
Ivan
51802d56e0
chore: cleanup tests and comments 2026-07-13 08:56:23 -05:00
Ivan
8f31995675
refactor: update CLI output formatting with color support and improve error handling 2026-07-09 22:10:31 -05:00
Ivan
d6b7cc8ef5
feat: update CLI with debug command and options, improve logging and configuration handling 2026-07-09 14:45:25 -05:00
Ivan
ebb86a316c
pkg/resource: add metadata support and proof calculations 2026-07-09 13:12:20 -05:00
Ivan
bf662d7301
fix(resource): initialize resource data if nil before preparing outbound link 2026-07-07 22:49:07 -05:00
Ivan
a9b673bc90
feat(resource): add ExpectedProof method to compute SHA256 proof for resource validation 2026-07-07 22:31:28 -05:00
Ivan
cc4aaff7de
refactor(codebase): various changes to match python reference, cleanup and improving docs 2026-07-07 03:20:50 -05:00
Ivan
8f7ff60dc9
refactor(modules): update module paths and dependencies to quad4 namespace and support offline builds better. 2026-06-14 13:22:30 -05:00
Ivan
e5a4ec223d
Update paths 2026-05-18 04:45:11 -05:00
Ivan
a60e3e349f
refactor(tests): optimize loop iterations in various test files by replacing traditional for loops with range syntax for improved readability and performance 2026-05-01 04:24:52 -05:00
Ivan
841c58def9
refactor(advertisement): optimize data packing by introducing packInt64Compact function and ensuring proper type handling for segment indices 2026-05-01 04:23:56 -05:00
Ivan
aa2dc81324
refactor(resource): optimize compression estimation and enhance hashing methods with new utility functions 2026-05-01 04:21:33 -05:00
Ivan
ca6228bf6e
chore(license header) update license from 0BSD to Apache-2.0 across multiple files 2026-04-30 02:08:36 -05:00
Ivan
2fb0ba8f4c
feat(link): add asyncPipe and robust link tests to improve interlink communication and reliability 2026-04-22 15:10:00 -05:00
Ivan
364a308e23
refactor(resource): optimize hash computation by using sha256 hash writer for improved performance 2026-04-22 15:09:45 -05:00
Ivan
6d257ccfc1
test(pbt): add property-based tests for buffer, cryptography, identity, packet, rate, and resource modules 2026-04-21 14:59:21 -05:00
Ivan
62c2b1aabe
refactor: standardize constant naming and update copyright notices
- Updated copyright notices across multiple files to reflect the new ownership.
- Refactored constant names to follow Go naming conventions, changing from uppercase to camel case (e.g., `APP_NAME` to `AppName`).
- Adjusted logging levels in debug statements to use the new constants.
- Modified test files to align with the updated constant names and environment variable usage.
2026-04-19 17:07:05 -05:00
Ivan
3d6ec1d5ea
refactor(imports): replace vmihailenco/msgpack with git.quad4.io/Go-Libs/msgpack across multiple packages 2026-04-18 16:25:57 -05:00
Ivan
903df8749c
feat(config, blackhole, discovery): update configuration options and introduce blackhole management
- Updated `go.mod` and `go.sum` to use `golang.org/x/crypto v0.49.0`.
- Added new configuration parameters for spam protection in `config.go` and `config_test.go`.
- Introduced a new `blackhole` package with functionality for managing blackhole entries, including addition, removal, and persistence.
- Implemented tests for blackhole functionality and ensured compatibility with Python interop.
- Added discovery-related features for handling interface announcements and validation.
2026-04-18 05:21:54 -05:00
Ivan
116aa24b83
refactor(main, channel, identity, interfaces, link, packet, resource, transport): remove unused variables and functions to cleanup codebase 2026-04-12 19:10:11 -05:00
Ivan
2f04510db9
feat(link): add HashmapEntriesPerSegment function 2026-03-30 17:30:48 +03:00
Ivan
a97b88f086
feat(resource): implement outbound part tracking and completion checks 2026-03-30 17:30:15 +03:00
Ivan
8408a0af5f
feat(resource): add PartIndexForMapHash and OutboundCiphertextSlice methods for enhanced resource management 2026-03-30 16:52:18 +03:00
Ivan
fa63ee662d
feat(resource): improve PrepareOutboundForLink to support file data reading and optional compression 2026-03-30 15:30:49 +03:00
Ivan
dfdbfed81e
feat(resource): improve UnpackResourceAdvertisement to support segment index and total segments from int and int64 types 2026-03-30 15:30:36 +03:00
Ivan
07d7cb2bf0
feat(resource): add bzip2 compression function for byte slices 2026-03-30 15:29:52 +03:00
Ivan
d6f1e8622f
feat(resource): implement PrepareOutboundForLink method for resource encryption and segmentation 2026-03-30 14:00:01 +03:00
Ivan
0dc2274da6
refactor(advertisement): update Pack method to accept linkMDU parameter and rename hashmapMaxLen function for improved clarity 2026-03-30 13:59:53 +03:00
Ivan
50a3391f12
refactor(advertisement): simplify flag handling by introducing wireFlagsFromAny function for type conversion and validation 2026-03-30 04:35:14 +03:00
Ivan
1af98b67b8
refactor(codebase): replace interface{} with any in multiple using go fix 2026-03-22 14:21:30 +03:00
Sudo-Ivan
225b8ad36a
refactor(advertisement): improve type handling for TransferSize, DataSize, Parts, and Flags in UnpackResourceAdvertisement function 2026-03-11 00:05:09 -05:00
Sudo-Ivan
934fe80297
refactor(constants): remove unused constants from interfaces and packet management to streamline code 2026-03-10 23:27:18 -05:00
Sudo-Ivan
74939c3eb6
feat(resource): introduce new constants for resource management and configuration 2026-03-10 23:26:44 -05:00
Sudo-Ivan
1d3a969742
chore: add SPDX license identifier and copyright notice 2025-12-31 20:44:58 -06:00
Sudo-Ivan
53e98c73af
Add unit tests for Reticulum-Go packages including reticulum, storage, announce, channel, destination, identity, resource, and transport, ensuring comprehensive coverage of functionality. 2025-12-29 00:15:08 -06:00
Ivan
1d83e7f539
Add request handling and metadata management to Resource struct; introduce methods for request ID, response status, and hashmap access, while removing deprecated IsCompressed method for cleaner code. 2025-12-01 20:30:42 -06:00
Ivan
565b13a0eb
Add ResourceAdvertisement struct and related methods for managing resource advertisements; implement packing and unpacking functionality with msgpack for efficient data handling. 2025-12-01 20:30:37 -06:00
Ivan
f513c6abcd
Add RESPONSE_MAX_GRACE_TIME constant to resource.go for enhanced timeout management 2025-12-01 20:01:54 -06:00