Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Mar 2002 14:32:36 -0500 (EST)
From:      Alan Eldridge <ports@geeksrus.net>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/35598: In -CURRENT, arpa/inet.h & netinet/in.h each must include the other
Message-ID:  <200203061932.g26JWaW14852@wwweasel.geeksrus.net>

next in thread | raw e-mail | index | archive | help

>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 <netinet/in.h> has the consequence that it must
include <arpa/inet.h>. As per bin/35071, <arpa/inet.h> must include
<netinet/in.h> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203061932.g26JWaW14852>