From owner-freebsd-bugs Thu Dec 23 11: 0: 4 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id D7AEC156AD for ; Thu, 23 Dec 1999 11:00:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id LAA08161; Thu, 23 Dec 1999 11:00:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from monster.americantv.com (monster.americantv.com [208.139.222.226]) by hub.freebsd.org (Postfix) with ESMTP id 3C0D914DC6 for ; Thu, 23 Dec 1999 10:59:32 -0800 (PST) (envelope-from jlemon@monster.americantv.com) Received: (from jlemon@localhost) by monster.americantv.com (8.9.3/8.9.2) id MAA66401 for FreeBSD-gnats-submit@freebsd.org; Thu, 23 Dec 1999 12:56:12 -0600 (CST) (envelope-from jlemon) Message-Id: <199912231856.MAA66401@monster.americantv.com> Date: Thu, 23 Dec 1999 12:56:12 -0600 (CST) From: Jonathan Lemon To: FreeBSD-gnats-submit@freebsd.org Subject: kern/15656: in_cksum computes wrong checksum Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 15656 >Category: kern >Synopsis: in_cksum computes wrong checksum >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Dec 23 11:00:01 PST 1999 >Closed-Date: >Last-Modified: >Originator: Jonathan Lemon >Release: FreeBSD 4.0-CURRENT i386 >Organization: >Environment: 4.0-CURRENT, circa Dec 14, 1999 >Description: For some data patterns, in_cksum generates a checksum of 0. The specification says a checksum of 0 should be transmitted as all ones (65535), and a transmitted checksum of 0 indicates that the sender did not compute a checksum. While 0 == 65535 in 1's complement arithmetic, this is still wrong. The error was discovered while doing incremental checksum computations on the TCP stream on an intermediate machine. >How-To-Repeat: tcpdump 'tcp[16:2] == 0', (dump TCP packets with a zero checksum) and transmit various TCP data streams. >Fix: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message