Modules iptable probelem de compîlation

linux debian lenny 2.6.26-2-686
j’ai installer le pak dev ip^table, et les headers de la version…
je souhaite compiler un module iptables-p2p avec ma version lenny.
mais apparement ca ne passe pas kess kiss passe ? ou puis je trouver les headers iptables ?si c’est ca ?

#~/modulesIptables/iptables-p2p-0.3.0/>make
make -C iptables
make[1]: entrant dans le répertoire « /home/administrateur/modulesIptables/iptables-p2p-0.3.0/iptables »
gcc -O2 -Wall -DIPTABLES_VERSION=\"1.4.2\" -I../common  -c -o libipt_p2p.o libipt_p2p.c
libipt_p2p.c:23:22: error: iptables.h: Aucun fichier ou répertoire de ce type
libipt_p2p.c:53: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:53: warning: its scope is only this definition or declaration, which is probably not what you want
libipt_p2p.c:56: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:56: warning: 'struct ipt_entry' declared inside parameter list
libipt_p2p.c:59: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:59: warning: 'struct ipt_ip' declared inside parameter list
libipt_p2p.c:60: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:60: warning: 'struct ipt_ip' declared inside parameter list
libipt_p2p.c:69: error: variable 'p2p' has initializer but incomplete type
libipt_p2p.c:71: warning: excess elements in struct initializer
libipt_p2p.c:71: warning: (near initialization for 'p2p')
libipt_p2p.c:72: warning: excess elements in struct initializer
libipt_p2p.c:72: warning: (near initialization for 'p2p')
libipt_p2p.c:73: warning: excess elements in struct initializer
libipt_p2p.c:73: warning: (near initialization for 'p2p')
libipt_p2p.c:74: warning: implicit declaration of function 'IPT_ALIGN'
libipt_p2p.c:74: warning: excess elements in struct initializer
libipt_p2p.c:74: warning: (near initialization for 'p2p')
libipt_p2p.c:75: warning: excess elements in struct initializer
libipt_p2p.c:75: warning: (near initialization for 'p2p')
libipt_p2p.c:76: warning: excess elements in struct initializer
libipt_p2p.c:76: warning: (near initialization for 'p2p')
libipt_p2p.c:77: warning: excess elements in struct initializer
libipt_p2p.c:77: warning: (near initialization for 'p2p')
libipt_p2p.c:78: warning: excess elements in struct initializer
libipt_p2p.c:78: warning: (near initialization for 'p2p')
libipt_p2p.c:79: warning: excess elements in struct initializer
libipt_p2p.c:79: warning: (near initialization for 'p2p')
libipt_p2p.c:80: warning: excess elements in struct initializer
libipt_p2p.c:80: warning: (near initialization for 'p2p')
libipt_p2p.c:81: warning: excess elements in struct initializer
libipt_p2p.c:81: warning: (near initialization for 'p2p')
libipt_p2p.c:83: warning: excess elements in struct initializer
libipt_p2p.c:83: warning: (near initialization for 'p2p')
libipt_p2p.c:113: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:113: error: conflicting types for 'init'
libipt_p2p.c:53: error: previous declaration of 'init' was here
libipt_p2p.c: In function 'init':
libipt_p2p.c:115: error: dereferencing pointer to incomplete type
libipt_p2p.c:118: error: 'NFC_UNKNOWN' undeclared (first use in this function)
libipt_p2p.c:118: error: (Each undeclared identifier is reported only once
libipt_p2p.c:118: error: for each function it appears in.)
libipt_p2p.c: In function 'arg_to_proto':
libipt_p2p.c:151: warning: implicit declaration of function 'exit_error'
libipt_p2p.c:151: error: 'PARAMETER_PROBLEM' undeclared (first use in this function)
libipt_p2p.c: At top level:
libipt_p2p.c:250: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:250: warning: 'struct ipt_entry' declared inside parameter list
libipt_p2p.c:247: error: conflicting types for 'parse'
libipt_p2p.c:54: error: previous declaration of 'parse' was here
libipt_p2p.c: In function 'parse':
libipt_p2p.c:252: error: dereferencing pointer to incomplete type
libipt_p2p.c:260: warning: implicit declaration of function 'check_inverse'
libipt_p2p.c:265: error: 'PARAMETER_PROBLEM' undeclared (first use in this function)
libipt_p2p.c: At top level:
libipt_p2p.c:285: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:285: warning: 'struct ipt_ip' declared inside parameter list
libipt_p2p.c:284: error: conflicting types for 'print'
libipt_p2p.c:58: error: previous declaration of 'print' was here
libipt_p2p.c: In function 'print':
libipt_p2p.c:287: error: dereferencing pointer to incomplete type
libipt_p2p.c: At top level:
libipt_p2p.c:292: warning: 'struct ipt_entry_match' declared inside parameter list
libipt_p2p.c:292: warning: 'struct ipt_ip' declared inside parameter list
libipt_p2p.c:292: error: conflicting types for 'save'
libipt_p2p.c:60: error: previous declaration of 'save' was here
libipt_p2p.c: In function 'save':
libipt_p2p.c:294: error: dereferencing pointer to incomplete type
libipt_p2p.c: In function '_init':
libipt_p2p.c:301: warning: implicit declaration of function 'register_match'
make[1]: *** [libipt_p2p.o] Erreur 1
make[1]: quittant le répertoire « /home/administrateur/modulesIptables/iptables-p2p-0.3.0/iptables »
make: *** [linux-2.6] Erreur 2

sinon avez vous mieux que ce module ?

Si les sources proviennent de sourceforge.net/projects/iptables-p2p/files/ alors la dernière version disponible date de 2004. Or l’API interne d’iptables (et du noyau) a pas mal évolué depuis, notamment avec l’introduction d’xtables.

Le filtrage de p2p est disponible avec ipp2p qui fait partie de l’ensemble xtables-addons. Ce dernier est disponible en paquets Debian à partir de Squeeze (un contenant les bibliothèques pour iptables et un contenant les sources des modules du noyau à compiler).

AHRGH! donc pas moyen de le placer sous lenny ?

Si tu parles d’iptables-p2p, j’ai peur que non. C’est trop vieux pour les versions du noyau et d’iptables de Lenny.
Si tu parles d’xtables-addons, ça doit être faisable mais il faut compiler la bibliothèque pour iptables et le module pour le noyau à partir des sources disponibles sur le site d’origine. De toute façon même avec les paquets Debian de Squeeze il faut compiler le module pour le noyau.