[prev in list] [next in list] [prev in thread] [next in thread]
List: ipfilter
Subject: FreeBSD 5.4 and IPF 4.1.14, Kernel compile problem
From: "N. Ersen SISECI" <siseci () gmail ! com>
Date: 2006-10-26 12:38:51
Message-ID: 4540AC5B.7020607 () gmail ! com
[Download RAW message or body]
Hi,
After applying Andrey's patch, ipfilter binaries compiled. But kernel
didn't.
I got the following error:
cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline
-Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I.
-I/usr/src/sys -I/usr/src/sys/contrib/dev/acpica
-I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
-I/usr/src/sys/contrib/pf -I/usr/src/sys/contrib/dev/ath
-I/usr/src/sys/contrib/dev/ath/freebsd -I/usr/src/sys/contrib/ngatm
-D_KERNEL -include opt_global.h -fno-common -finline-limit=8000 --param
inline-unit-growth=100 --param large-function-growth=1000
-mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx
-mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Werror
/usr/src/sys/contrib/ipfilter/netinet/fil.c
/usr/src/sys/contrib/ipfilter/netinet/fil.c: In function `ipf_genericiter':
/usr/src/sys/contrib/ipfilter/netinet/fil.c:6796: warning: type of "uid"
defaults to "int"
*** Error code 1
ipf_genericiter's code is below
/*
------------------------------------------------------------------------ */
/* Function:
fr_genericiter */
/* Returns: int - 0 = success, else
error */
/* Parameters: data(I) - the token type to
match */
/* uid(I) - uid owning the
token */
/* ptr(I) - context pointer for the
token */
/*
*/
/*
------------------------------------------------------------------------ */
int ipf_genericiter(data, uid, ctx)
void *data, *ctx;
{
ipftoken_t *token;
ipfgeniter_t iter;
ip_fil.h says uid is integer.
extern int ipf_genericiter __P((void *, int, void *));
And adding
int uid;
line after declaration of data and ctx will solve this compile problem.
After that, trying to make buildkernel gives the following error
linking kernel
fil.o(.text+0x4b7f): In function `ipf_freetoken':
: undefined reference to `ip_lookup_iterderef'
*** Error code 1
Kernel Conf:
options IPFILTER
options IPFILTER_LOG
--
Necati Ersen SISECI
EnderUnix Core Team Member
EnderUnix SDT ~ Turkey
http://www.enderunix.org
-------- Orijinal Mesaj --------
Konu: FreeBSD 5.4 and IPF 4.1.14 compile problem
Tarih: Fri, 13 Oct 2006 14:23:22 +0300
Kimden: Andrey Simonenko <simon@comsys.ntu-kpi.kiev.ua>
Kime: N. Ersen SISECI <siseci@gmail.com>
Merhaba,
The same problem with FreeBSD 6.x. I sent description of this
and other problems to Darren. Using the following patch I can
compile it on FreeBSD 6.x and 5.5, but on 6.x I got one panic
(I will try to reproduce it again).
--- ip_fil_freebsd.c.orig Mon Sep 25 13:21:35 2006
+++ ip_fil_freebsd.c Fri Oct 13 10:39:49 2006
@@ -65,6 +65,9 @@
# endif
#endif
#include <net/route.h>
+#if (__FreeBSD_version >= 501000)
+# include <net/netisr.h>
+#endif
#include <netinet/in.h>
#include <netinet/in_var.h>
#include <netinet/in_systm.h>
@@ -441,7 +444,7 @@
, p)
# if (__FreeBSD_version >= 500024)
struct thread *p;
-# define p_uid t_proc->p_cred->p_ruid
+# define p_uid td_ucred->cr_ruid
# else
struct proc *p;
# define p_uid p_cred->p_ruid
@@ -1600,13 +1603,13 @@
return ip;
}
+extern struct ifqueue ipintrq;
int ipf_inject(fin, m)
fr_info_t *fin;
mb_t *m;
{
int error;
- mb_t *m;
if (fin->fin_out == 0) {
struct ifqueue *ifq;
@@ -1615,6 +1618,7 @@
#if (__FreeBSD_version >= 501000)
netisr_dispatch(NETISR_IP, m);
+ error = 0;
#else
if (IF_QFULL(ifq)) {
[Attachment #3 (text/html)]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<tt><br>
Hi,<br>
<br>
After applying Andrey's patch, ipfilter binaries compiled. But kernel
didn't.<br>
<br>
I got the following error:<br>
<br>
cc -c -O -pipe -Wall -Wredundant-decls -Wnested-externs
-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline
-Wcast-qual -fformat-extensions -std=c99 -nostdinc -I- -I.
-I/usr/src/sys -I/usr/src/sys/contrib/dev/acpica
-I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
-I/usr/src/sys/contrib/pf -I/usr/src/sys/contrib/dev/ath
-I/usr/src/sys/contrib/dev/ath/freebsd -I/usr/src/sys/contrib/ngatm
-D_KERNEL -include opt_global.h -fno-common -finline-limit=8000 --param
inline-unit-growth=100 --param large-function-growth=1000
-mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx
-mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Werror
/usr/src/sys/contrib/ipfilter/netinet/fil.c<br>
/usr/src/sys/contrib/ipfilter/netinet/fil.c: In function
`ipf_genericiter':<br>
/usr/src/sys/contrib/ipfilter/netinet/fil.c:6796: warning: type of
"uid" defaults to "int"<br>
*** Error code 1<br>
<br>
<br>
ipf_genericiter's code is below<br>
<br>
/*
------------------------------------------------------------------------
*/<br>
/* Function:
fr_genericiter \
&n \
bsp; \
*/<br> /* Returns: int - 0 = success, else
error &nb \
sp; \
*/<br> /* Parameters: data(I) - the token type to
match \
*/<br> /* \
uid(I) - uid owning the \
token &nb \
sp; \
*/<br> /* \
ptr(I) - context pointer for the \
token \
*/<br> /*   \
; & \
nbsp; &nb \
sp;   \
;
*/<br>
/*
------------------------------------------------------------------------
*/<br>
int ipf_genericiter(data, uid, ctx)<br>
void *data, *ctx;<br>
{<br>
ipftoken_t *token;<br>
ipfgeniter_t iter;<br>
<br>
<br>
</tt><tt>ip_fil.h says uid is integer.<br>
extern int \
ipf_genericiter __P((void *, int, void *));<br> <br>
</tt><tt>And adding <br>
int uid;<br>
line after declaration of data and ctx will solve this compile problem.<br>
<br>
After that, trying to make buildkernel gives the following error<br>
<br>
linking kernel<br>
fil.o(.text+0x4b7f): In function `ipf_freetoken':<br>
> undefined reference to `ip_lookup_iterderef'<br>
*** Error code 1<br>
<br>
Kernel Conf:<br>
<br>
options IPFILTER<br>
options IPFILTER_LOG<br>
<br>
<br>
<br>
-- <br>
Necati Ersen SISECI<br>
EnderUnix Core Team Member<br>
EnderUnix SDT ~ Turkey <br>
<a class="moz-txt-link-freetext" \
href="http://www.enderunix.org">http://www.enderunix.org</a><br> <br>
</tt><tt><br>
<br>
<br>
<br>
-------- Orijinal Mesaj --------</tt>
<table class="moz-email-headers-table" border="0" cellpadding="0"
cellspacing="0">
<tbody>
<tr>
<th align="right" nowrap="nowrap" valign="baseline"><tt>Konu: </tt></th>
<td><tt>FreeBSD 5.4 and IPF 4.1.14 compile problem</tt></td>
</tr>
<tr>
<th align="right" nowrap="nowrap" valign="baseline"><tt>Tarih: </tt></th>
<td><tt>Fri, 13 Oct 2006 14:23:22 +0300</tt></td>
</tr>
<tr>
<th align="right" nowrap="nowrap" valign="baseline"><tt>Kimden: </tt></th>
<td><tt>Andrey Simonenko <a class="moz-txt-link-rfc2396E" \
href="mailto:simon@comsys.ntu-kpi.kiev.ua"><simon@comsys.ntu-kpi.kiev.ua></a></tt></td>
</tr>
<tr>
<th align="right" nowrap="nowrap" valign="baseline"><tt>Kime: </tt></th>
<td><tt>N. Ersen SISECI <a class="moz-txt-link-rfc2396E" \
href="mailto:siseci@gmail.com"><siseci@gmail.com></a></tt></td> </tr>
</tbody>
</table>
<tt><br>
<br>
</tt>
<pre><tt>Merhaba,
The same problem with FreeBSD 6.x. I sent description of this
and other problems to Darren. Using the following patch I can
compile it on FreeBSD 6.x and 5.5, but on 6.x I got one panic
(I will try to reproduce it again).
--- ip_fil_freebsd.c.orig Mon Sep 25 13:21:35 2006
+++ ip_fil_freebsd.c Fri Oct 13 10:39:49 2006
@@ -65,6 +65,9 @@
# endif
#endif
#include <net/route.h>
+#if (__FreeBSD_version >= 501000)
+# include <net/netisr.h>
+#endif
#include <netinet/in.h>
#include <netinet/in_var.h>
#include <netinet/in_systm.h>
@@ -441,7 +444,7 @@
, p)
# if (__FreeBSD_version >= 500024)
struct thread *p;
-# define p_uid t_proc->p_cred->p_ruid
+# define p_uid td_ucred->cr_ruid
# else
struct proc *p;
# define p_uid p_cred->p_ruid
@@ -1600,13 +1603,13 @@
return ip;
}
+extern struct ifqueue ipintrq;
int ipf_inject(fin, m)
fr_info_t *fin;
mb_t *m;
{
int error;
- mb_t *m;
if (fin->fin_out == 0) {
struct ifqueue *ifq;
@@ -1615,6 +1618,7 @@
#if (__FreeBSD_version >= 501000)
netisr_dispatch(NETISR_IP, m);
+ error = 0;
#else
if (IF_QFULL(ifq)) {
</tt></pre>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic