docs: sweep README, CHANGELOG, THREAT_MODEL and AGENTS after the 1.0 review fixes
- CHANGELOG: tines-core 1.0.0 and the hosts' 0.4.0 are separate, unreleased sections. Every core API break is listed (the nine pub(crate) items, the private modules and the frame_sender path, the local constants per decision K, non_exhaustive types, store_mut). The new names (WallClockStore, Node::set_wall_clock, peer_time_estimate, flush, IdentityChanged) are called out. The host section covers tines::trust, the config changes, decision J, snapshots, and the review fixes. - THREAT_MODEL: F6, F8, F9 and F13 are fixed with their commits. F18 is partly fixed: the store side and the flush on first trusted time are done, but timed and shutdown flushes are still open. F19 now records decision J and the plausibility bounds, and what remains. §9, §10 and §11 are updated to match. - README: Dest and sig in the observation table; flush and is_empty in the store table; only the public wire constants are listed; a new "Trusted time" section with the config keys and the systemd ordering; the MSRV and fuzz CI jobs; frame_sender's new path. - AGENTS: 1.0 is implemented but not yet published. The constants list shows the pub(crate) split, PEER_IDLE_MS, MIN_MTU's role and where MAX_FRAGMENTS lives. Notes the hidden conformance module. - tines-bt README: frame_sender's path, and its own MAX_PEERS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+5
-5
@@ -37,7 +37,7 @@ the peer's advertised [`NodeId`] instead:
|
||||
hard-coded one.
|
||||
|
||||
A frame's declared sender is then checked against the bound [`NodeId`]: the
|
||||
transport peeks the `from` field with [`wire::frame_sender`] and drops any frame
|
||||
transport peeks the `from` field with [`frame_sender`] and drops any frame
|
||||
whose declared sender differs from the bound peer (an address-spoofing
|
||||
violation).
|
||||
|
||||
@@ -49,7 +49,8 @@ violation).
|
||||
|
||||
## Multi-peer
|
||||
|
||||
Up to [`MAX_PEERS`] connections may be live at once, one per bound [`NodeId`];
|
||||
Up to `MAX_PEERS` (8, tines-bt's own cap, equal to tines-core's peer table)
|
||||
connections may be live at once, one per bound [`NodeId`];
|
||||
a second connection to the same [`NodeId`] replaces the first.
|
||||
|
||||
**Current limit:** `BluerRadio::new` and `BtTransport::new` still take a single
|
||||
@@ -75,12 +76,11 @@ BlueZ version here, along with whether SeqPacket worked or the length-prefix
|
||||
fallback was needed.
|
||||
|
||||
[`Transport`]: https://docs.rs/tines-core/latest/tines_core/transport/trait.Transport.html
|
||||
[`NodeId`]: https://docs.rs/tines-core/latest/tines_core/observation/struct.NodeId.html
|
||||
[`NodeId`]: https://docs.rs/tines-core/latest/tines_core/observation/type.NodeId.html
|
||||
[`Radio`]: crate::Radio
|
||||
[`BluerRadio`]: crate::BluerRadio
|
||||
[`adv::decode_ad_node_id`]: crate::adv::decode_ad_node_id
|
||||
[`wire::frame_sender`]: https://docs.rs/tines-core/latest/tines_core/wire/fn.frame_sender.html
|
||||
[`frame_sender`]: https://docs.rs/tines-core/latest/tines_core/fn.frame_sender.html
|
||||
[`MAX_FRAME`]: https://docs.rs/tines-core/latest/tines_core/consts/constant.MAX_FRAME.html
|
||||
[`MAX_PEERS`]: https://docs.rs/tines-core/latest/tines_core/consts/constant.MAX_PEERS.html
|
||||
[`l2cap::SeqPacket`]: https://docs.rs/bluer/latest/bluer/l2cap/struct.SeqPacket.html
|
||||
[`SeqPacketListener`]: https://docs.rs/bluer/latest/bluer/l2cap/struct.SeqPacketListener.html
|
||||
|
||||
Reference in New Issue
Block a user