All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: David Woodhouse <dwmw2@infradead.org>
Cc: netdev@vger.kernel.org, Jan Engelhardt <jengelh@computergmbh.de>,
	"David S. Miller" <davem@davemloft.net>,
	varekova@redhat.com
Subject: Re: [NETFILTER]: Introduce nf_inet_address
Date: Tue, 19 Feb 2008 15:45:00 +0100	[thread overview]
Message-ID: <47BAEB6C.1030609@trash.net> (raw)
In-Reply-To: <1203431447.3223.33.camel@shinybook.infradead.org>

David Woodhouse wrote:
> On Tue, 2008-02-19 at 15:01 +0100, Patrick McHardy wrote:
>> David Woodhouse wrote:
>>>> +union nf_inet_addr {
>>>> +	u_int32_t	all[4];
>>>> +	__be32		ip;
>>>> +	__be32		ip6[4];
>>>> +};
>>>> +
>>>>  #ifdef __KERNEL__
>>>>  #ifdef CONFIG_NETFILTER
>>> This breaks the busybox build:
>>>
>>> CC      ipsvd/tcpudp.o
>>> In file included from /usr/include/linux/netfilter_ipv4.h:8,
>>>                  from ipsvd/tcpudp.c:33:
>>> /usr/include/linux/netfilter.h:40: error: expected specifier-qualifier-list before 'u_int32_t'
>>>
>>> What is this 'u_int32_t' nonsense anyway?
>>>
>>> If a user-visible header is likely to be included by libc directly from
>>> a 'standard' header, it may not require <stdint.h>. Therefore it should
>>> use the system-specific types such as '__u32'.
>> Right, I queued this patch to fix it.
> 
> That does the trick -- but are we using u_int32_t elsewhere in
> user-visible headers? Does it work there? How?


Its used in nearly every ip_tables header file. Those are most likely
not included by glibc and iptables includes sys/types.h. Besides
iptables I'm only aware of a perl module that uses these files,
which is probably also including sys/types.h.

>>> A later commit adds struct in_addr and struct in6_addr to this union
>>> too, which breaks busybox even harder.
>> Thats odd, the iptables headers have always used struct in_addr and
>> struct in6_addr in struct ipt_ip/struct ip6t_ip6, which are also
>> used by userspace. What is "ipsvd/tcpudp.c"? I couldn't find it in
>> the Debian busybox source.
> 
> It's in busybox 1.9.1. Just including <netinet/in.h> seems to be
> sufficient to make it happy again. I wonder if netfilter.h should
> include that for itself?


That would break iptables compilation, which already includes
linux/in.h in some files. I guess the best fix for now is to
include netinet/in.h in busybox and long-term clean this up
properly.



  reply	other threads:[~2008-02-19 14:45 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200801291316.m0TDGivY024953@hera.kernel.org>
2008-02-19 13:49 ` [NETFILTER]: Introduce nf_inet_address David Woodhouse
2008-02-19 14:01   ` Patrick McHardy
2008-02-19 14:30     ` David Woodhouse
2008-02-19 14:45       ` Patrick McHardy [this message]
2008-02-20 10:24         ` Jan Engelhardt
2008-02-21 11:52         ` David Woodhouse
2008-02-21 12:00           ` Patrick McHardy
2008-02-21 12:19             ` David Woodhouse
2008-02-22  7:52         ` David Woodhouse
2008-02-22  8:01           ` David Woodhouse
2008-02-22 14:59             ` Patrick McHardy
2008-02-22 14:58           ` Patrick McHardy
2008-02-22 15:38             ` Pablo Neira Ayuso
2008-02-22 15:44               ` Patrick McHardy
2008-02-22 16:03                 ` Jan Engelhardt
2008-02-22 16:08                 ` Pablo Neira Ayuso
2008-02-22 16:12                   ` Patrick McHardy
2008-02-22 22:37                 ` David Woodhouse
2008-02-25 12:12                   ` Patrick McHardy
2008-02-25 12:17                     ` David Woodhouse
2008-02-25 12:20                       ` Patrick McHardy
2008-02-25 12:21                         ` David Woodhouse
2008-02-25 12:23                           ` Patrick McHardy
2008-02-25 12:29                             ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47BAEB6C.1030609@trash.net \
    --to=kaber@trash.net \
    --cc=davem@davemloft.net \
    --cc=dwmw2@infradead.org \
    --cc=jengelh@computergmbh.de \
    --cc=netdev@vger.kernel.org \
    --cc=varekova@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.