Bug 173699

Summary: include/linux/netfilter_ipv6/ip6t_REJECT.h doesn't match kernel version
Product: [Fedora] Fedora Reporter: Charles R. Anderson <cra>
Component: glibc-kernheadersAssignee: David Woodhouse <dwmw2>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: redhat-bugzilla
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-06-14 21:51:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 150221, 174503    
Attachments:
Description Flags
proposed fix none

Description Charles R. Anderson 2005-11-18 23:22:26 UTC
Description of problem:

I was poking at iptables to see why the REJECT target for IPv6 doesn't work. 
The iptables build checks /usr/include/linux/netfilter_ipv6/ip6t_REJECT.h
to see if it contains IP6T_ICMP6_NO_ROUTE.  Unfortunately, it doesn't, but the
kernel version in /lib/modules/`uname -r/build/include/linux/.... does have it.
Can the glibc-kernheaders be updated to reflect the new enum names in the kernel?

Version-Release number of selected component (if applicable):
3.0-2

The glibc-kernheaders contains:

#ifndef _IP6T_REJECT_H
#define _IP6T_REJECT_H

enum ip6t_reject_with {
        IP6T_ICMP_NET_UNREACHABLE,
        IP6T_ICMP_HOST_UNREACHABLE,
        IP6T_ICMP_PROT_UNREACHABLE,
        IP6T_ICMP_PORT_UNREACHABLE,
        IP6T_ICMP_ECHOREPLY
};

struct ip6t_reject_info {
        enum ip6t_reject_with with;      /* reject type */
};

#endif /*_IPT_REJECT_H*/

kernel-devel-2.6.14-1.1688_FC5 contains:

#ifndef _IP6T_REJECT_H
#define _IP6T_REJECT_H

enum ip6t_reject_with {
        IP6T_ICMP6_NO_ROUTE,
        IP6T_ICMP6_ADM_PROHIBITED,
        IP6T_ICMP6_NOT_NEIGHBOUR,
        IP6T_ICMP6_ADDR_UNREACH,
        IP6T_ICMP6_PORT_UNREACH,
        IP6T_ICMP6_ECHOREPLY,
        IP6T_TCP_RESET
};

struct ip6t_reject_info {
        u_int32_t       with;   /* reject type */
};

#endif /*_IP6T_REJECT_H*/


This doesn't make sense since glibc-kernheaders has ICMPv4-style error names in
it.  It looks like someone copied it from the IPv4 code in
.../netfilter_ipv4/ipt_REJECT.h, and tried to convert it to IPv6.

Comment 1 Charles R. Anderson 2005-11-18 23:35:25 UTC
Created attachment 121257 [details]
proposed fix

Comment 2 Charles R. Anderson 2006-06-14 21:50:23 UTC
[REPOST] Any update on this?  I see that glibc-kernheaders-3.0-36 no longer has
linux/netfilter_ipv6/ip6t_REJECT.h at all.  What's the deal here?


Comment 3 Charles R. Anderson 2006-06-14 21:51:11 UTC
[REPOST]
------- Additional Comments From dwmw2  2006-06-12 19:56 EST -------
Thanks for the reminder. Fixed in rawhide.