Compatibility issue with uggly Windows RFC1323 implementation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Low
|
Andy Whitcroft | ||
Maverick |
Invalid
|
Undecided
|
Unassigned |
Bug Description
First, sorry for my bad english.
The issue is that Linux-based OS sometimes can't make an tcp connection to some Windows servers with switched on buggy implementation of rfc1323, that described on this forum: http://
Because some Windows hosts implementation of rfc1323 bases on randomly generated TSval and sent first value of TSval as 0, the difference of recent and new TSval sometimes has been affected by a sign magic issue and the PAWS mechanism has been triggered. Anyway, the rfc1323 has discribes the condition of PAWS as "0 < (t - s) < 2**31", that has been right implementation in current linux kernel, but incompatible with Windows bug.
For example, the one of affected to this issue Windows host is behind relay.n-l-e.ru:80. Note that problems arise only when the remote side sets the TC val > 2147483647, ie when there is a sign.
I think that my small patch makes the kernel more compatible with this windows bug.
ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-image-
Regression: No
Reproducible: Yes
ProcVersionSign
Uname: Linux 2.6.35-23-generic i686
NonfreeKernelMo
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: i386
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CRDA: Error: [Errno 2] Нет такого файла или каталога
Card0.Amixer.info:
Card hw:0 'M5455'/'ALi M5455 with ALC650F at irq 5'
Mixer name : 'Realtek ALC650F'
Components : 'AC97a:414c4723'
Controls : 50
Simple ctrls : 33
Date: Tue Dec 14 00:18:01 2010
HibernationDevice: RESUME=
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
IwConfig:
lo no wireless extensions.
eth0 no wireless extensions.
vboxnet0 no wireless extensions.
Lsusb:
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Infomash RoverBook
PccardctlIdent:
Socket 0:
no product info available
Socket 1:
no product info available
PccardctlStatus:
Socket 0:
no card
Socket 1:
no card
ProcCmdLine: BOOT_IMAGE=
ProcEnviron:
PATH=(custom, user)
LANG=ru_RU.utf8
SHELL=/bin/bash
RelatedPackageV
RfKill:
SourcePackage: linux
WifiSyslog:
Dec 13 23:53:18 mamon-laptop kernel: [ 1611.597048] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
Dec 14 00:10:38 mamon-laptop kernel: [ 2651.203411] lo: Disabled Privacy Extensions
dmi.bios.date: 07/18/03
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: 4.06
dmi.board.name: QID2000
dmi.board.vendor: MEDIONNB
dmi.board.version: Rev.A
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: MEDIONNB
dmi.chassis.
dmi.modalias: dmi:bvnPhoenixT
dmi.product.name: RoverBook
dmi.product.
dmi.sys.vendor: Infomash
Changed in linux (Ubuntu): | |
status: | Incomplete → New |
tcpdump capture:
23:40:52.726909 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags 147.8.33778: Flags 147.8.33778: Flags 147.8.33778: Flags 147.8.33778: Flags 147.8.33778: Flags 147.8.33778: Flags
[S], seq 1116163452, win 5840, options [mss 1460,sackOK,TS val 141403
ecr 0,nop,wscale 6], length 0
23:40:52.737227 IP 212.176.201.162.80 > 213.141.
[S.], seq 4019723831, ack 1116163453, win 16384, options [mss
1360,nop,wscale 0,nop,nop,TS val 0 ecr 0,nop,nop,sackOK], length 0
23:40:52.737392 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[.], ack 1, win 92, options [nop,nop,TS val 141405 ecr 0], length 0
23:40:52.737926 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[P.], seq 1:113, ack 1, win 92, options [nop,nop,TS val 141405 ecr 0],
length 112
23:40:52.749101 IP 212.176.201.162.80 > 213.141.
[P.], seq 1:415, ack 113, win 65423, options [nop,nop,TS val
3503477357 ecr 141403], length 414
23:40:52.749219 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[.], ack 1, win 92, options [nop,nop,TS val 141408 ecr 0], length 0
23:40:53.002253 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[P.], seq 1:113, ack 1, win 92, options [nop,nop,TS val 141472 ecr 0],
length 112
23:40:53.012252 IP 212.176.201.162.80 > 213.141.
[P.], ack 113, win 65423, options [nop,nop,TS val 0 ecr 141408],
length 0
23:40:55.665916 IP 212.176.201.162.80 > 213.141.
[P.], seq 1:415, ack 113, win 65423, options [nop,nop,TS val
3503477387 ecr 141408], length 414
23:40:55.666023 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[.], ack 1, win 92, options [nop,nop,TS val 142137 ecr 0], length 0
23:40:55.676963 IP 212.176.201.162.80 > 213.141.
[P.], seq 1:415, ack 113, win 65423, options [nop,nop,TS val
3503477387 ecr 142137], length 414
23:40:55.677007 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[.], ack 1, win 92, options [nop,nop,TS val 142140 ecr 0], length 0
23:41:01.683646 IP 212.176.201.162.80 > 213.141.
[P.], seq 1:415, ack 113, win 65423, options [nop,nop,TS val
3503477447 ecr 142140], length 414
23:41:01.683752 IP 213.141.147.8.33778 > 212.176.201.162.80: Flags
[.], ack 1, win 92, options [nop,nop,TS val 143642 ecr 0], length 0