From owner-freebsd-bugs Wed Mar 6 11:40:14 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 392DA37B433 for ; Wed, 6 Mar 2002 11:40:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g26Je1c91932; Wed, 6 Mar 2002 11:40:01 -0800 (PST) (envelope-from gnats) Received: from wwweasel.geeksrus.net (wwweasel.geeksrus.net [64.8.210.226]) by hub.freebsd.org (Postfix) with ESMTP id C418837B404 for ; Wed, 6 Mar 2002 11:36:45 -0800 (PST) Received: (from alane@localhost) by wwweasel.geeksrus.net (8.11.6/8.11.6) id g26JWaW14852; Wed, 6 Mar 2002 14:32:36 -0500 (EST) (envelope-from alane) Message-Id: <200203061932.g26JWaW14852@wwweasel.geeksrus.net> Date: Wed, 6 Mar 2002 14:32:36 -0500 (EST) From: Alan Eldridge Reply-To: Alan Eldridge To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: bin/35598: In -CURRENT, arpa/inet.h & netinet/in.h each must include the other Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 35598 >Category: bin >Synopsis: In -CURRENT, arpa/inet.h & netinet/in.h each must include the other >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 06 11:40:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Alan Eldridge >Release: FreeBSD 4.5-STABLE i386 >Organization: Geeksrus.NET >Environment: System: FreeBSD wwweasel.geeksrus.net 4.5-STABLE FreeBSD 4.5-STABLE #0: Fri Feb 8 21:25:34 EST 2002 root@wwweasel.geeksrus.net:/usr/obj/usr/src/sys/WWWEASEL i386 >Description: See also bin/35071. A recent modification to has the consequence that it must include . As per bin/35071, must include in order to provide struct definitions necessary for Single Unix Spec compliance, and required for some ports to compile. So now we have two headers that each require the other to be included. This situation is not acceptable. First, the most recent change to netinet/in.h cannot get MFC'd to -STABLE, or it will break any C++ code (like Qt) that includes it. Second, it is acceptable according to SUSv2 that arpa/inet.h includes netinet/in.h. That is what bin/35071 does. The reverse problem, where netinet/in.h references the __[hn]to[hn][sl]() functions, should not be solved by a mutual include. I suggest duplicating the prototypes for these functions from arpa/inet.h in netinet/in.h. I also suggest immediately backing out the most recent change to netinet/in.h in -CURRENT. I'll followup with patches later; I'm at work and don't have time to do it right now. >How-To-Repeat: >Fix: Patches will follow. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message