Commit Graph

1073 Commits

Author SHA1 Message Date
Dario Nieuwenhuis f044edf805 tcp: add test for ack one-too-high in SYN_RECEIVED. 2021-10-05 01:38:31 +02:00
Dario Nieuwenhuis b50532cabd tcp: do not switch to ESTABLISHED when ack in syn-received is one too low. 2021-10-05 01:38:31 +02:00
Dario Nieuwenhuis 07c6fb835d tcp: fix "subtract with overflow" when ack in syn-received is one too low.
Found with cargo-fuzz.
2021-10-05 01:38:31 +02:00
Dario Nieuwenhuis 16abd60e9b tcp: in SYN_SENT only accept SYNACK, discard everything else.
THis would let FIN packets through, breaking the logic below.

Found with cargo-fuzz.
2021-10-05 01:38:31 +02:00
Dario Nieuwenhuis 947a69b8b2 tcp: don't force-send data on retransmit.
Previous code had an `if` to force sending a packet when retransmitting.
When the remote window is zero this would cause an infinite loop of
sending empty packets, because the "retransmit" flag would never get cleared.

Remove the force-retransmit, and add an explicit check on `seq_to_transmit` for
pending SYNs because SYN retransmission relied on it.

Found with cargo-fuzz.
2021-10-05 01:38:31 +02:00
Dario Nieuwenhuis e19151b9d0 tcp: disallow zero MSS.
This causes an infinite loop of zero-length packets: when we have data
to send, it sends MSS-length packets until filling the window, which
is an infinte amount of packets because mss is zero.

Found with cargo-fuzz.
2021-10-05 01:38:31 +02:00
Dario Nieuwenhuis 7f30c7268b tcp: fix use of fractional .millis() that should be .total_millis() in rtte. 2021-10-05 01:38:31 +02:00
bors[bot] 4692119e05 Merge #535
535: Fuzz fixes r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2021-10-04 23:34:22 +00:00
Dario Nieuwenhuis 6d61f5ab6c phy: fix wrong order in FuzzInjector TX. Fixes #525. 2021-10-03 21:39:55 +02:00
Dario Nieuwenhuis 8058a6289f fuzz: Modernize fuzz crate, fix tcp_headers not compiling. 2021-10-03 21:29:40 +02:00
Dario Nieuwenhuis b674f0d0ba phy: simplify PcapSink trait 2021-10-03 21:29:40 +02:00
Dario Nieuwenhuis 28e350f300 tcp: Fix clippy 2021-10-03 21:20:24 +02:00
bors[bot] b5874723ff Merge #534
534: Fix assert with any_ip + broadcast dst_addr. r=Dirbaio a=Dirbaio

Fixes #533

Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2021-09-26 20:16:30 +00:00
Dario Nieuwenhuis df53707dad Fix fuzz on latest nightly.
See https://github.com/rust-fuzz/cargo-fuzz/issues/276
2021-09-26 22:09:48 +02:00
Dario Nieuwenhuis 7e4180b503 Fix assert with any_ip + broadcast dst_addr. Fixes #533 2021-09-26 21:45:46 +02:00
bors[bot] f058a94b85 Merge #529 #530
529: Fix typos in tcp docs r=Dirbaio a=david-sawatzke

Too few round brackets

530: tcp: fix delayed ack causing ack not to be sent after 3 packets. r=Dirbaio a=Dirbaio



Co-authored-by: david-sawatzke <david-sawatzke@users.noreply.github.com>
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2021-09-16 23:18:14 +00:00
bors[bot] 4638c8d0f3 Merge #528
528: Fix clippy because of MSV change r=Dirbaio a=thibautvdv

This fixes the clippy warnings from the MSV changes in #526. Should have added this to #526.

Co-authored-by: Thibaut Vandervelden <thvdveld@vub.be>
Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
2021-09-16 23:08:17 +00:00
Dario Nieuwenhuis 9317cb0ede Add bors.toml 2021-09-17 00:59:45 +02:00
Thibaut Vandervelden 82a62327ba Fix clippy because of MSV change 2021-09-16 19:44:26 +02:00
Dario Nieuwenhuis 3ea597ce78 Merge pull request #531 from smoltcp-rs/bors
Add bors
2021-09-16 19:43:22 +02:00
Dario Nieuwenhuis 4187fc3a5c Add bors 2021-09-16 19:39:23 +02:00
Dario Nieuwenhuis ddfabb42f0 tcp: fix delayed ack causing ack not to be sent after 3 packets. 2021-09-15 04:01:43 +02:00
david-sawatzke 1f8110687d Fix typos in tcp docs 2021-09-14 18:08:04 +02:00
Dario Nieuwenhuis 27665865f6 Merge pull request #526 from thibautvdv/toolchain
Update MSV of Rust
2021-09-10 15:37:50 +02:00
Thibaut Vandervelden cebd9d38f4 Update MSV of Rust 2021-09-10 14:41:03 +02:00
Dario Nieuwenhuis be85f807dd Merge pull request #523 from thibautvdv/fix_benches
Fix benches
2021-09-09 00:57:13 +02:00
Thibaut Vandervelden e2e2a6be79 Fix benches 2021-09-09 00:53:01 +02:00
Dario Nieuwenhuis 19fa24577e Merge pull request #524 from YtFlow/master
Expose underlying device from PcapWriter
2021-09-08 23:47:14 +02:00
bdbai 96dedcc4c6 Expose underlying device from PcapWriter 2021-08-24 16:07:19 +08:00
Dario Nieuwenhuis c6026c7c1a Merge pull request #521 from thibautvdv/remove_trailing_commas
Remove trailing commas in macros
2021-08-19 14:19:17 +02:00
Thibaut Vandervelden 8ce629257a Remove trailing commas in macros
This is going to become a hard error in future releases of the compiler.
2021-08-19 12:07:56 +02:00
Dario Nieuwenhuis 5c36964d13 Merge pull request #519 from thibautvdv/fix_clippy
Fixes all the clippy lints
2021-08-18 16:10:04 +02:00
Thibaut Vandervelden 8adbd1b875 cargo fmt 2021-08-18 16:05:50 +02:00
Thibaut Vandervelden 6a27136047 Fix clippy lints 2021-08-18 16:05:50 +02:00
Dario Nieuwenhuis 5b08ac41be Merge pull request #520 from smoltcp-rs/msrv-bump
Bump MSRV to 1.46
2021-08-18 15:45:49 +02:00
Dario Nieuwenhuis a94f1b231c Bump MSRV to 1.46 2021-08-18 15:19:38 +02:00
Dario Nieuwenhuis 34c24c7c8c Merge pull request #513 from qiujiangkun/pcap_timestamp_bugfix
pcap timestamp bugfix
2021-07-01 16:49:49 +02:00
qiujiangkun a43fb222e9 pcap timestamp bugfix 2021-07-01 22:27:10 +08:00
Dario Nieuwenhuis 58321c21a5 Merge pull request #511 from smoltcp-rs/fmt-typo
Fix typo in rustfmt ci
2021-06-28 20:29:10 +02:00
Dario Nieuwenhuis 2d49b64182 Fix typo in rustfmt ci 2021-06-28 20:22:18 +02:00
Dario Nieuwenhuis b91b356bb4 Merge pull request #509 from smoltcp-rs/ci-rustfmt
Enforce rustfmt in CI
2021-06-28 20:17:56 +02:00
Dario Nieuwenhuis 68ec69d411 Enforce rustfmt in CI 2021-06-28 20:13:06 +02:00
Dario Nieuwenhuis 5e58dd1db2 Merge pull request #510 from smoltcp-rs/v075-cherrypick
V0.7.5 cherrypick
2021-06-28 20:10:48 +02:00
Anton Romanov 7a83e7d69b dhcpv4: Emit DNS servers in repr 2021-06-28 20:03:39 +02:00
Dario Nieuwenhuis 3782d6425e Update changelog. 2021-06-28 19:57:55 +02:00
Dario Nieuwenhuis ec416ceac4 Merge pull request #506 from qiujiangkun/fix_clippy
Various clippy fix
2021-06-27 17:07:25 +02:00
qiujiangkun 2a574fbca6 various clippy fix 2021-06-27 10:45:57 +02:00
Dario Nieuwenhuis 1ac34f34eb Fix redundant closure clippy 2021-06-27 10:43:05 +02:00
Dario Nieuwenhuis 98fe17890a rustfmt 2021-06-27 09:31:59 +02:00
Dario Nieuwenhuis a803adb514 Merge pull request #500 from smoltcp-rs/window-scale-fixes
Window scale fixes
2021-06-27 08:46:32 +02:00