ftwall build broke FC1 tcp.h (glibc-kernheaders)

Warren Togami warren at togami.com
Fri Nov 7 20:21:02 UTC 2003


Hi, I could really use assistance with the ftwall package.  It fails
build on FC1 due to glibc-kernheaders tcp.h while it builds successfully
on RH9.  Any suggestions for this problem?

Thanks,
Warren Togami
warren at togami.com

http://bugzilla.fedora.us/show_bug.cgi?id=941
http://videl.ics.hawaii.edu/~warren/fedora/ftwall-1.07-1.src.rpm
http://videl.ics.hawaii.edu/~warren/fedora/md5sums.asc

ftwall is a program for linux firewalls that allows the control of network traffic
from "Fast Track" peer-to-peer clients like "Kazaa" and it's derivatives.
 
It is designed to block network traffic from Fast track client applications
running in the "home" (or "green") network from making access to any peers
on the public internet. It is ideal for use in networks where the security
paradigm is "open access" for outbound connections and "tightly limited"
access for inbound ones. Ftwall can be used in such a network to prevent
outbound Fast Track access, hence preventing illegal file downloads and uploads.

Known Problems:
* Makefile doesn't use proper CFLAGS.  Suggestions please.
* Due to the below change in glibc-kerneheaders /usr/include/linux/tcp.h in FC1,
compiler fails with this message:

In file included from /usr/include/linux/tcp.h:21,
                 from ftwall.c:51:
/usr/include/asm/byteorder.h:6:2: warning: #warning using private kernel header;
include <endian.h> instead!
In file included from ftwall.c:51:
/usr/include/linux/tcp.h:105: error: enumerator value for `TCP_FLAG_CWR' not
integer constant
/usr/include/linux/tcp.h:106: error: enumerator value for `TCP_FLAG_ECE' not
integer constant
/usr/include/linux/tcp.h:107: error: enumerator value for `TCP_FLAG_URG' not
integer constant
/usr/include/linux/tcp.h:108: error: enumerator value for `TCP_FLAG_ACK' not
integer constant
/usr/include/linux/tcp.h:109: error: enumerator value for `TCP_FLAG_PSH' not
integer constant
/usr/include/linux/tcp.h:110: error: enumerator value for `TCP_FLAG_RST' not
integer constant
/usr/include/linux/tcp.h:111: error: enumerator value for `TCP_FLAG_SYN' not
integer constant
/usr/include/linux/tcp.h:112: error: enumerator value for `TCP_FLAG_FIN' not
integer constant
/usr/include/linux/tcp.h:113: error: enumerator value for `TCP_RESERVED_BITS'
not integer constant
/usr/include/linux/tcp.h:115: error: enumerator value for `TCP_DATA_OFFSET' not
integer constant
ftwall.c:938: warning: conflicting types for built-in function `log'
make: *** [ftwall.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.86753 (%build)

* SOURCES includes entire iptables tarball because ftwall requires libipq.h
which is usually provided by iptables-devel in other distributions, but is not
included in Red Hat.  Instead ftwall appears to static link to libipq from the
iptables tarball build.

This is the change in tcp.h that causes the build failure in FC1:

--- tcp.h-rh9   2003-11-06 21:45:40.000000000 -1000
+++ tcp.h-fc1   2003-11-06 21:46:08.000000000 -1000
@@ -102,16 +102,16 @@
 #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
  
 enum {
-       TCP_FLAG_CWR = __constant_htonl(0x00800000),
-       TCP_FLAG_ECE = __constant_htonl(0x00400000),
-       TCP_FLAG_URG = __constant_htonl(0x00200000),
-       TCP_FLAG_ACK = __constant_htonl(0x00100000),
-       TCP_FLAG_PSH = __constant_htonl(0x00080000),
-       TCP_FLAG_RST = __constant_htonl(0x00040000),
-       TCP_FLAG_SYN = __constant_htonl(0x00020000),
-       TCP_FLAG_FIN = __constant_htonl(0x00010000),
-       TCP_RESERVED_BITS = __constant_htonl(0x0FC00000),
-       TCP_DATA_OFFSET = __constant_htonl(0xF0000000)
+       TCP_FLAG_CWR = htonl(0x00800000),
+       TCP_FLAG_ECE = htonl(0x00400000),
+       TCP_FLAG_URG = htonl(0x00200000),
+       TCP_FLAG_ACK = htonl(0x00100000),
+       TCP_FLAG_PSH = htonl(0x00080000),
+       TCP_FLAG_RST = htonl(0x00040000),
+       TCP_FLAG_SYN = htonl(0x00020000),
+       TCP_FLAG_FIN = htonl(0x00010000),
+       TCP_RESERVED_BITS = htonl(0x0FC00000),
+       TCP_DATA_OFFSET = htonl(0xF0000000)
 };
  
 /* TCP socket options */





More information about the fedora-devel-list mailing list