Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Oct 2003 16:38:38 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Cc:        Kris Kennaway <kris@obsecurity.org>
Subject:    Re: cvs commit: src/sys/netinet icmp6.h ip6.h src/sys/netinet6 in6.h
Message-ID:  <20031026162715.I17272@gamplex.bde.org>
In-Reply-To: <200310260505.h9Q55G9A069567@khavrinen.lcs.mit.edu>
References:  <200310251057.h9PAv8pn086818@repoman.freebsd.org> <20031025192855.GA96324@rot13.obsecurity.org> <20031026040132.GA2036@rot13.obsecurity.org> <20031026050059.GA2206@rot13.obsecurity.org> <200310260505.h9Q55G9A069567@khavrinen.lcs.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 26 Oct 2003, Garrett Wollman wrote:

> <<On Sat, 25 Oct 2003 22:00:59 -0700, Kris Kennaway <kris@obsecurity.org> said:
>
> > On Sun, Oct 26, 2003 at 12:06:36AM -0400, Joe Marcus Clarke wrote:
>
> >> > I haven't checked whether this commit fixes them, although looking at
> >> > it now I'm not sure it does.
> >> =20
> >> netinet6/in6.h (and netinet/in.h) requires sys/types.h to be included
> >> before it.  If you don't, you'd see these errors.
>
> > Odd..I guess this has not actually been a previous requirement on FreeBSD.
>
> This sounds like a POSIX-compliance regression.  POSIX does not permit
> <sys/types.h> to be required for Standard Headers (of which
> <netinet/in.h> is one).

I think the full explanation is:
- <sys/types.h> used to be a prerequisite for <netinet/in.h>.
- mike (Mike Barcroft) POSIXified many files.  BTW, where is mike?
  <netinet/in.h> and <arpa/inet.h> were among the first ones done
  since they were relatively simple but compicated enough to serve
  as good examples for others.  In particular, some uintN_t types
  are required for use of <netinet/in.h> are are specified by POSIX
  to be declared there, so they are now declared there.  OTOH, the
  u_intN_t types are BSD-specific and are only declared in
  <sys/types.h>.
- the closure of the changes for <netinet/in.h> apparently included
  some KAME headers.
- ports began to rely on the POSIXification.
- undoing the POSIXification broke ports.

Bruce



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