b887d2b450
The 0.13 release line contains critical TCP correctness fixes that backport into Red Bear: - RFC 6298 retransmit backoff (was using a non-standard exponential backoff with a different initial value) - zero-window probes (the previous code did not implement them, so connections stalled when the receiver advertised a 0 window) - FIN retransmit in CLOSING state (the prior code only retransmitted FIN from FIN-WAIT-1 and never recovered from a lost second FIN) - SYN crash on unspecified address (the kernel would panic on a SYN with src == 0.0.0.0; the 0.13.1 fix returns a RST) - IPv6 SLAAC support on the wire when the upstream proto-ipv6 feature is enabled (Red Bear already enables proto-ipv6) The code in scheme/ip.rs is already in 0.13.1 form (RawSocket::new takes IpVersion directly, not Option<IpVersion>) and scheme/icmp.rs already uses the 0.13.1 ip_protocol() signature, so the migration is intentionally restricted to the version field. The Cargo.lock will be regenerated by the canonical build (cookbook uses --locked, so the next build-redbear.sh run will refresh the lockfile after the workspace can resolve smoltcp 0.13.1).
42 lines
907 B
TOML
42 lines
907 B
TOML
[package]
|
|
name = "netstack"
|
|
description = "Network stack daemons"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[[bin]]
|
|
name = "netstack"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
redox_event.workspace = true
|
|
daemon = { path = "../daemon" }
|
|
redox_syscall = { workspace = true, features = ["std"] }
|
|
redox-log.workspace = true
|
|
libredox = { workspace = true, features = ["mkns"] }
|
|
anyhow.workspace = true
|
|
redox-scheme.workspace = true
|
|
scheme-utils = { path = "../scheme-utils" }
|
|
|
|
[dependencies.log]
|
|
workspace = true
|
|
default-features = false
|
|
features = ["release_max_level_warn"]
|
|
|
|
[dependencies.smoltcp]
|
|
version = "0.13.1"
|
|
default-features = false
|
|
features = [
|
|
"std",
|
|
"medium-ethernet", "medium-ip",
|
|
"proto-ipv4",
|
|
"proto-ipv6",
|
|
"socket-raw", "socket-icmp", "socket-udp", "socket-tcp", "socket-tcp-cubic",
|
|
"iface-max-addr-count-8",
|
|
"log"
|
|
]
|
|
#For debugging: "log", "verbose"
|
|
|
|
[lints]
|
|
workspace = true
|