Chinaunix
标题:
请教在linux系统上加载防火墙模块的问题!
[打印本页]
作者:
金石开
时间:
2003-06-02 23:07
标题:
请教在linux系统上加载防火墙模块的问题!
我在学习在linux系统上加载防火墙模块.我不太会弄,试了一个简单的:
我写的模块如下:
#define __KERNEL__
#define MODULE
#include <linux/kernel.h>;
#include <linux/module.h>;
#include <linux/skbuff.h>;
#include <linux/netdevice.h>;
#include <linux/config.h>;
#include <linux/ip.h>;
#include <linux/tcp.h>;
#include <linux/udp.h>;
#include <linux/netfilter_ipv4.h>;
#include <linux/netfilter.h>;
static unsigned int user_firewall(
unsigned int hooknum,
struct sk_buff **skb,
const struct net_device *in,
const struct net_device *out,
int (*okfn)(struct sk_buff *))
{
printk("A packet is captured.\n"
;
return NF_ACCEPT;
}
static struct nf_hook_ops filter
={
{ NULL, NULL },
user_firewall,
PF_INET,
NF_IP_LOCAL_IN,
NF_IP_PRI_FILTER
};
int init_module(void)
{
return nf_register_hook(&filter);
}
void cleanup_module(void)
{
nf_unregister_hook(&filter);
}
不料一编译,立受打击:
[root@venus module]# gcc -c -I /usr/src/linux-2.4.18-14/include user_firewall.c
user_firewall.c:27: variable `filter' has initializer but incomplete type
user_firewall.c:28: extra brace group at end of initializer
user_firewall.c:28: (near initialization for `filter')
user_firewall.c:28: warning: excess elements in struct initializer
user_firewall.c:28: warning: (near initialization for `filter')
user_firewall.c:29: warning: excess elements in struct initializer
user_firewall.c:29: warning: (near initialization for `filter')
user_firewall.c:30: warning: excess elements in struct initializer
user_firewall.c:30: warning: (near initialization for `filter')
user_firewall.c:31: warning: excess elements in struct initializer
user_firewall.c:31: warning: (near initialization for `filter')
user_firewall.c:33: warning: excess elements in struct initializer
user_firewall.c:33: warning: (near initialization for `filter')
user_firewall.c:27: storage size of `filter' isn't known
请问错误在哪里?我应当怎样修改?
还请大虾指教!小弟感激不尽!
作者:
金石开
时间:
2003-06-03 09:58
标题:
请教在linux系统上加载防火墙模块的问题!
还请大虾指教!
作者:
JohnBull
时间:
2003-06-03 16:44
标题:
请教在linux系统上加载防火墙模块的问题!
我没太仔细看,但觉得你的代码应该没错,恐怕是你的系统不干净。
如果你想做内核开发的话,建议你自己从官方站下载源代码包,不要使用RedHat自带的,毛病一大堆!我早领教过了。
作者:
JohnBull
时间:
2003-06-03 16:46
标题:
请教在linux系统上加载防火墙模块的问题!
我没太仔细看,但觉得你的代码应该没错,恐怕是你的系统不干净。
如果你想做内核开发的话,建议你自己从官方站下载源代码包,不要使用RedHat自带的,毛病一大堆!我早领教过了。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2