Skip to content

Commit e74ad03

Browse files
MabezDevwhitequark
authored andcommitted
Revert to prevous ordering of TCP options.
Although ordering is not specified in the spec, some implementations expect some ordering (unforntunately I have found one that does, and blocks outbound packets due to 'invalid tcp options').
1 parent 0fedb1d commit e74ad03

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/wire/tcp.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -893,12 +893,12 @@ impl<'a> Repr<'a> {
893893
packet.set_ack(self.ack_number.is_some());
894894
{
895895
let mut options = packet.options_mut();
896-
if let Some(value) = self.window_scale {
897-
let tmp = options; options = TcpOption::WindowScale(value).emit(tmp);
898-
}
899896
if let Some(value) = self.max_seg_size {
900897
let tmp = options; options = TcpOption::MaxSegmentSize(value).emit(tmp);
901898
}
899+
if let Some(value) = self.window_scale {
900+
let tmp = options; options = TcpOption::WindowScale(value).emit(tmp);
901+
}
902902
if self.sack_permitted {
903903
let tmp = options; options = TcpOption::SackPermitted.emit(tmp);
904904
} else if self.ack_number.is_some() && self.sack_ranges.iter().any(|s| s.is_some()) {

0 commit comments

Comments
 (0)