Skip to content

Tags: teschmitt/dtn7-rs

Tags

v0.19.0

Toggle v0.19.0's commit message
Release v0.19.0

- Added missing emission of Registered packet in ecla websocket client. (dtn7#49)

- Added mastodon link to README.md
- Added some documentation explaining the simple HTTP CL

- Added HTTP endpoints to request a hash digest of the bundles known to the local dtnd instance
- Http pull convergence layer (dtn7#44)
- Added delete endpoint to rest interface, dtnrecv can now also remove bundles (dtn7#50)

- Coreemu-lab script now pins docker images version and always uses cross to build musl binaries

- Added lifetime expiration functionality in process_bundles, prior to actual forwarding
- Localendpoint bundles now also expire if not consumed by an application

- Fixed autodef for global locks as suggested by clippy
- Updated to most recent version of clap and attohttpc

- Fixed minor shell scripting bugs in test scripts
- Removed debug symbols from release profile and enabled stripping binaries
- Filtering bundles from store by address no longer returns deleted BIDs (dtn7#40)
- Ignore beacons from self for broadcast IPND packets

- Updated README, removed tool help output and described recent feature additions.
- Added badge with link to dtn7 matrix space to README
- Changed help output regarding local endpoints in dtnrecv and dtntrigger tools

- CLAs can now indicate if the are accepting new bundles, e.g., useful for discovery only CLAs
- Support for sprayandwait routing strategy (dtn7#29)
- Added support for broadcast sockets
- Added warning if no CLA is configured

- Bumped minimum ubuntu version in cd.yml to 20.04
- Pleased clippy of rust 1.64

- Reexport all external client relevant pieces of code to dtn7::client

- Added clab scenario with two subnets

- Made application agent less verbose for logging
- Spawn tasks for actual CLA transmission in actor instead of blocking
- Tcpcl now spawns a new tokio task for new connections
- Seeing an already known peer did not update its last seen timestamp, now it gets touched on any new beacon
- Tcpcl now uses buffered IO
- Fixed bug where touching of known peers used wrong node ID
- Removed unneeded timeout tick from TCP CLA
- Handle all IO related unwraps in tcpcl
- Made websocket mutexes async
- Potential deadlock in forwarding code when reporting failed transmissions to routing agent fixed
- Added else case to select in tcpcl, logging and aborting session when all channels closed
- Fixed a race condition where the same bundle received multiple times in parallel also get delivery to the local endpoint multiple times. additionalls dispatching spawns a task for forwarding to return earlier.
- Check node and service names for validity with more options than just alphanumeric chars, now following URL and hostname rules
- Report decoding error to client in websocket error message
- Bundles created via WS only consist of primary block and payload, no more hopcount block

- Added curl example on how to use HTTP push endpoint to the HTTP client API documentation
- Add new bundle verbose and filtered endpoints to http client API documentation

- Increased sending channel buffer from 1 to 100 for http, mtcp and tcp
- ClaSenderTask now carries the next_hop node ID of the peer
- Http cla now has a timeout to complete the bundle delivery (default: 5s)
- Added transmission time output to tcpcl
- Remove peers from neighborhood list if they fail too often when transferring bundles
- Added optional feature for tokio tracing
- Increased sending channel buffer from 1 to 100 for http, mtcp and tcp
- ClaSenderTask now carries the next_hop node ID of the peer
- Transmission time debug output for all CLAs
- Add connecting peer to peer database for tcpcl if not already known and update last seen field on keep alive packets
- Added deadlock detection for tracing builds or when deadlock_detection feature is enabled
- HTTP cla now uses shared hyper client for connection pooling
- Added config to enable parallel processing of bundles - can speed up bundle transmission time but can also cause congestion and higher CPU load
- Added receive processing time to HTTP push endpoint
- Added rest endpoint with verbose bundle output and filter query interface
- Add new verbose and filter functions to dtnquery bundle CLI tool
- Add more fine granular logging to dtnd processing
- Added python example to produce message flood via websocket (bulk and sequential)
- Return bundle ID for newly sent bundle via websocket
- Ws-flooder.py now supports different payload sizes
- External CLA and Routing (dtn7#17)
- Mtcp and tcp can now be configured to bind to a specific IP address (dtn7#27)

- Updated to newest bp7 crate, removing dbg! output
- Minor code cleanups
- Eliminated some clones
- Eliminated bundle clone in tcp CLA
- Cleanup of some log output
- Minor changes to please clippy
- Upgraded dependencies and pleased new clippy lints
- Bump crossbeam-utils from 0.7.2 to 0.8.8 in /core/dtn7/fuzz
- Bump generic-array from 0.12.3 to 0.12.4 in /core/dtn7/fuzz
- Bump regex from 1.3.9 to 1.5.6 in /core/dtn7/fuzz
- Bump miow from 0.2.1 to 0.2.2 in /core/dtn7/fuzz
- Moved fuzz project to top and updated deps to most recent versions
- Cleaned up flooding example and updated comments
- Updated dependencies and switched to dtn7-plus 0.7.0

- Switched ClaSender to a channel for sending
- Direct delivery priority is now up to the routing agent
- Switched ClaSender to a channel for sending
- Cleanup in forward of processing logic
- Let tcp_send_bundles directly send reply to provided oneshot address
- Refactored tcpcl to use less tasks
- Moved error handling in tcpcl connect method up to spawning task
- Made return value of cla send function an enum instead of bool

- Local nodes http example
- Local nodes http example
- Local ping echo test now does not start a CLA
- Added coreemu-lab scenario with 3 nodes and message flooding
- Refactored tests to use more ergonimic shell functions from `libshelltests.sh` to reduce boilerplate

- Update example config to include parallel bundle processing config option

v0.18.2

Toggle v0.18.2's commit message
Release v0.18.2

Bug Fixes
- Added lifetime expiration functionality in process_bundles, prior to actual forwarding (a310990)
- Localendpoint bundles now also expire if not consumed by an application (6cedd1c)

Miscellaneous Tasks
- Fixed autodef for global locks as suggested by clippy (b1c2053)
- Updated to most recent version of clap and attohttpc (f096daf)

v0.18.1

Toggle v0.18.1's commit message
Release 0.18.1

- Fixed minor shell scripting bugs in test scripts
- Removed debug symbols from release profile and enabled stripping binaries
- Filtering bundles from store by address no longer returns deleted BIDs (dtn7#40)
- Ignore beacons from self for broadcast IPND packets

- Updated README, removed tool help output and described recent feature additions.
- Added badge with link to dtn7 matrix space to README
- Changed help output regarding local endpoints in dtnrecv and dtntrigger tools

- CLAs can now indicate if the are accepting new bundles, e.g., useful for discovery only CLAs
- Support for sprayandwait routing strategy (dtn7#29)
- Added support for broadcast sockets
- Added warning if no CLA is configured

- Bumped minimum ubuntu version in cd.yml to 20.04
- Pleased clippy of rust 1.64

- Reexport all external client relevant pieces of code to dtn7::client

- Added clab scenario with two subnets

- Made application agent less verbose for logging
- Spawn tasks for actual CLA transmission in actor instead of blocking
- Tcpcl now spawns a new tokio task for new connections
- Seeing an already known peer did not update its last seen timestamp, now it gets touched on any new beacon
- Tcpcl now uses buffered IO
- Fixed bug where touching of known peers used wrong node ID
- Removed unneeded timeout tick from TCP CLA
- Handle all IO related unwraps in tcpcl
- Made websocket mutexes async
- Potential deadlock in forwarding code when reporting failed transmissions to routing agent fixed
- Added else case to select in tcpcl, logging and aborting session when all channels closed
- Fixed a race condition where the same bundle received multiple times in parallel also get delivery to the local endpoint multiple times. additionalls dispatching spawns a task for forwarding to return earlier.
- Check node and service names for validity with more options than just alphanumeric chars, now following URL and hostname rules
- Report decoding error to client in websocket error message
- Bundles created via WS only consist of primary block and payload, no more hopcount block

- Added curl example on how to use HTTP push endpoint to the HTTP client API documentation
- Add new bundle verbose and filtered endpoints to http client API documentation

- Increased sending channel buffer from 1 to 100 for http, mtcp and tcp
- ClaSenderTask now carries the next_hop node ID of the peer
- Http cla now has a timeout to complete the bundle delivery (default: 5s)
- Added transmission time output to tcpcl
- Remove peers from neighborhood list if they fail too often when transferring bundles
- Added optional feature for tokio tracing
- Increased sending channel buffer from 1 to 100 for http, mtcp and tcp
- ClaSenderTask now carries the next_hop node ID of the peer
- Transmission time debug output for all CLAs
- Add connecting peer to peer database for tcpcl if not already known and update last seen field on keep alive packets
- Added deadlock detection for tracing builds or when deadlock_detection feature is enabled
- HTTP cla now uses shared hyper client for connection pooling
- Added config to enable parallel processing of bundles - can speed up bundle transmission time but can also cause congestion and higher CPU load
- Added receive processing time to HTTP push endpoint
- Added rest endpoint with verbose bundle output and filter query interface
- Add new verbose and filter functions to dtnquery bundle CLI tool
- Add more fine granular logging to dtnd processing
- Added python example to produce message flood via websocket (bulk and sequential)
- Return bundle ID for newly sent bundle via websocket
- Ws-flooder.py now supports different payload sizes
- External CLA and Routing (dtn7#17)
- Mtcp and tcp can now be configured to bind to a specific IP address (dtn7#27)

- Updated to newest bp7 crate, removing dbg! output
- Minor code cleanups
- Eliminated some clones
- Eliminated bundle clone in tcp CLA
- Cleanup of some log output
- Minor changes to please clippy
- Upgraded dependencies and pleased new clippy lints
- Bump crossbeam-utils from 0.7.2 to 0.8.8 in /core/dtn7/fuzz
- Bump generic-array from 0.12.3 to 0.12.4 in /core/dtn7/fuzz
- Bump regex from 1.3.9 to 1.5.6 in /core/dtn7/fuzz
- Bump miow from 0.2.1 to 0.2.2 in /core/dtn7/fuzz
- Moved fuzz project to top and updated deps to most recent versions
- Cleaned up flooding example and updated comments
- Updated dependencies and switched to dtn7-plus 0.7.0

- Switched ClaSender to a channel for sending
- Direct delivery priority is now up to the routing agent
- Switched ClaSender to a channel for sending
- Cleanup in forward of processing logic
- Let tcp_send_bundles directly send reply to provided oneshot address
- Refactored tcpcl to use less tasks
- Moved error handling in tcpcl connect method up to spawning task
- Made return value of cla send function an enum instead of bool

- Local nodes http example
- Local nodes http example
- Local ping echo test now does not start a CLA
- Added coreemu-lab scenario with 3 nodes and message flooding
- Refactored tests to use more ergonimic shell functions from `libshelltests.sh` to reduce boilerplate

- Update example config to include parallel bundle processing config option

v0.18.0

Toggle v0.18.0's commit message
Release v0.18.0

Bug Fixes
- Made application agent less verbose for logging (73e4630)
- Spawn tasks for actual CLA transmission in actor instead of blocking (cfe2494)
- Tcpcl now spawns a new tokio task for new connections (40fdb14)
- Seeing an already known peer did not update its last seen timestamp, now it gets touched on any new beacon (b6d06d3)
- Tcpcl now uses buffered IO (e87ce80)
- Fixed bug where touching of known peers used wrong node ID (6c3e6d3)
- Removed unneeded timeout tick from TCP CLA (5d045da)
- Handle all IO related unwraps in tcpcl (eaf8a6f)
- Made websocket mutexes async (bea9d1f)
- Potential deadlock in forwarding code when reporting failed transmissions to routing agent fixed (35a6871)
- Added else case to select in tcpcl, logging and aborting session when all channels closed (0d31299)
- Fixed a race condition where the same bundle received multiple times in parallel also get delivery to the local endpoint multiple times. additionalls dispatching spawns a task for forwarding to return earlier. (7b70290)
- Check node and service names for validity with more options than just alphanumeric chars, now following URL and hostname rules (a67dee7)
- Report decoding error to client in websocket error message (8fa5424)
- Bundles created via WS only consist of primary block and payload, no more hopcount block (3b34b3d)

Documentation
- Added curl example on how to use HTTP push endpoint to the HTTP client API documentation (e5da8fc)
- Add new bundle verbose and filtered endpoints to http client API documentation (eba2875)

Features
- Increased sending channel buffer from 1 to 100 for http, mtcp and tcp (fb0a2d7)
- ClaSenderTask now carries the next_hop node ID of the peer (e37a594)
- Http cla now has a timeout to complete the bundle delivery (default: 5s) (4f0943f)
- Added transmission time output to tcpcl (ef9692e)
- Remove peers from neighborhood list if they fail too often when transferring bundles (0d295ce)
- Added optional feature for tokio tracing (48016fa)
- Increased sending channel buffer from 1 to 100 for http, mtcp and tcp (e0a6f82)
- ClaSenderTask now carries the next_hop node ID of the peer (3602697)
- Transmission time debug output for all CLAs (5fed35f)
- Add connecting peer to peer database for tcpcl if not already known and update last seen field on keep alive packets (fdb03f3)
- Added deadlock detection for tracing builds or when deadlock_detection feature is enabled (313c985)
- HTTP cla now uses shared hyper client for connection pooling (8c1b379)
- Added config to enable parallel processing of bundles - can speed up bundle transmission time but can also cause congestion and higher CPU load (35d5079)
- Added receive processing time to HTTP push endpoint (d392bed)
- Added rest endpoint with verbose bundle output and filter query interface (d6f5b1a)
- Add new verbose and filter functions to dtnquery bundle CLI tool (9ebe347)
- Add more fine granular logging to dtnd processing (6774883)
- Added python example to produce message flood via websocket (bulk and sequential) (58aa15b)
- Return bundle ID for newly sent bundle via websocket (10672ea)
- Ws-flooder.py now supports different payload sizes (547dbae)
- External CLA and Routing (dtn7#17) (e55f5ea)
- Mtcp and tcp can now be configured to bind to a specific IP address (dtn7#27) (1ee03ab)

Miscellaneous Tasks
- Updated to newest bp7 crate, removing dbg! output (6158739)
- Minor code cleanups (9d6f86b)
- Eliminated some clones (b797705)
- Eliminated bundle clone in tcp CLA (6324b87)
- Cleanup of some log output (0d3b142)
- Minor changes to please clippy (fcc992a)
- Upgraded dependencies and pleased new clippy lints (7519b01)
- Bump crossbeam-utils from 0.7.2 to 0.8.8 in /core/dtn7/fuzz (531f7d6)
- Bump generic-array from 0.12.3 to 0.12.4 in /core/dtn7/fuzz (c6ed224)
- Bump regex from 1.3.9 to 1.5.6 in /core/dtn7/fuzz (0e5f4c4)
- Bump miow from 0.2.1 to 0.2.2 in /core/dtn7/fuzz (8bc08df)
- Moved fuzz project to top and updated deps to most recent versions (3539671)
- Cleaned up flooding example and updated comments (99b223d)
- Updated dependencies and switched to dtn7-plus 0.7.0 (0e75487)

Refactor
- Switched ClaSender to a channel for sending (09e8a72)
- Direct delivery priority is now up to the routing agent (97e2c38)
- Switched ClaSender to a channel for sending (740586a)
- Cleanup in forward of processing logic (a400216)
- Let tcp_send_bundles directly send reply to provided oneshot address (0d50987)
- Refactored tcpcl to use less tasks (96fc84a)
- Moved error handling in tcpcl connect method up to spawning task (e672a4d)
- Made return value of cla send function an enum instead of bool (aa7fa17)

Testing
- Local nodes http example (c021085)
- Local nodes http example (c47c8b7)
- Local ping echo test now does not start a CLA (c56f353)
- Added coreemu-lab scenario with 3 nodes and message flooding (40a42be)
- Refactored tests to use more ergonimic shell functions from `libshelltests.sh` to reduce boilerplate (f4bb1ba)

Example
- Update example config to include parallel bundle processing config option (f05e758)

v0.17.3

Toggle v0.17.3's commit message
Release v0.17.3

Bug Fixes
- Status report generation is prevented for bundles with source EID of dtn:none (ff7a2d4)
- Buffering TCPCL pakets for efficiency (bc43c0a)
- Upgraded bp7 dependencies to make behaviour RFC9171 compliant (d9f3cff)

Documentation
- Updated to point to new RFC 9171 and fixed some links (f862732)
- Added comments to example configuration file (8086e1b)

Features
- Allow RUST_LOG to override debug level CLI parameteres, e.g., for enabling trace for different components (820775b)
- Added error log with bundle hex string if decoding fails for further inspection (93f9a41)

Miscellaneous Tasks
- Upgraded to newest bp7 crate (c1076e9)
- Made logging more fine-grained in ipnd, verbose parts now trace log level instead of debug (cb54119)

Refactor
- Using clap derive interface for command line args, except for dtnd (d85ee39)

Testing
- Deactivated debug logging for midsize_fixed clab scenario (1e76a3d)

v0.17.2

Toggle v0.17.2's commit message
Release v0.17.2

Bug Fixes
- Tcp refuse-existing-bundles behavior fixed, cla local/global options introduced (dtn7#10) (c950799)
- Pinned tokio version to 1.15.0 to work around bug in 1.16.1 (828bba3)
- Forced socket non-blocking for compability with new tokio releases (a4c4d5e)

Features
- Add bundle retransmission prevention extension to TCPCL (dtn7#8) (686c5f9)
- (re)process oldest bundles first (adc9db1)
- Added creation timestamp as well as received time to bundlepack meta data (94e93e5)
- Peer address can be a generic broadcast, e.g., for use with LoRa (d12495d)

Miscellaneous Tasks
- Removed dead code for transmission counters (0e04358)

Refactor
- Changed websocket json data mode to encode byte buffers as base64 (48f986d)
- Changed from tokio mutex to parking_lot for websockets (47ddaa5)
- Change project to workspace and include codegen crate (dtn7#11) (b3ebd22)

Styling
- Fixed string related remarks found by clippy (3c6b7ad)

Testing
- Changed clab tests to use TCPCL instead of MTCPCL (42e6e20)

v0.17.1

Toggle v0.17.1's commit message
Release v0.17.1

Documentation
- Updated README and CLI help to reflect latest protocol and code changes (e3e2c74)
- Added `doc/http-client-api.md, documenting the http client api and websocket interface. (5453321)
- Added section about JSON mode in http client API documentation (408c0fb)
- Updated README to point to the different guides and include the new features (f09a28c)

Features
- Added `/json` mode for clients without CBOR and the `/node` command now returns the node id via ws (e9633ff)

Example
- Added `dtnecho_json.go` illustrating how to write clients using only JSON and websockets (4c0b76b)

v0.17.0

Toggle v0.17.0's commit message
Release v0.17.0

Features
- Implemented TCP convergence layer draft (v28) (1c1c9c6)

Miscellaneous Tasks
- Upgraded d7sneakers version, it now bundles sqlite (ee8aab0)
- Added armv7 target for binary releases (97ebda1)

Refactor
- Changed DtnPeer to carry not only IpAddresses but a an enum with IpAddr and Generic(String) (8b68837)

v0.16.16

Toggle v0.16.16's commit message
Release v0.16.16

Bug Fixes
- Fixed registering of non-singleton endpoints during startup of dtnd (fa60ee1)
- Removed misleading log message about "peer not seen" for static peers (cb961d4)
- Made all test shell scripts normalize bundle counting output (d522500)
- DtnPeer doctests would fail in some cases as static peers never timeout. Now only dynamic ones are generated for the test. (cd4b2ac)
- Changed cbor decoding to also work on 32bit machines (78087ad)
- Upgraded to axum 0.3 to fix long compile times with rustc 1.56 (4455b6f)

Styling
- Removed unneeded import in http cla (34709ba)

Testing
- Added test for non-singleton group communication (eef9a78)

v0.16.15

Toggle v0.16.15's commit message
Release v0.16.15

Bug Fixes
- Eliminated potential deadlock in mtcp send_bundles (0401bed)

Features
- Made http cla async (25b1688)

Refactor
- Cleaned up logging of received bundles (8c79855)

Testing
- Fixed typo in output of 3 node  scenario (7f03761)
- Added test chaining all CLAs (`cla_chain_test.sh`) with multiple nodes (cdca3a3)
- Added cla chain test to `run_all_tests.sh` (b9c3083)
- Added mixsize-fixed clab scenario with 32 nodes and large bundle generation (7a3857f)