snazim se na Slackware proti kernelu 2.6.26.2 a iptables z currentu 1.4.2 zkompilovat aktualni ipp2p (0.8.2) - cz se mi nedari kvuli zadrhelu ve zdrojovem souboru k.so knihovny libipt_ipp2p
Kód:gcc -O3 -Wall -DIPTABLES_VERSION=\"1.4.2\" -I/usr/src/iptables-1.4.2/include -fPIC -c libipt_ipp2p.c libipt_ipp2p.c:376: error: variable 'ipp2p' has initializer but incomplete type libipt_ipp2p.c:378: error: unknown field 'next' specified in initializer libipt_ipp2p.c:378: warning: excess elements in struct initializer libipt_ipp2p.c:378: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:379: error: unknown field 'name' specified in initializer libipt_ipp2p.c:379: warning: excess elements in struct initializer libipt_ipp2p.c:379: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:380: error: unknown field 'version' specified in initializer libipt_ipp2p.c:380: warning: excess elements in struct initializer libipt_ipp2p.c:380: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:381: error: unknown field 'size' specified in initializer libipt_ipp2p.c:381: warning: excess elements in struct initializer libipt_ipp2p.c:381: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:382: error: unknown field 'userspacesize' specified in initializer libipt_ipp2p.c:382: warning: excess elements in struct initializer libipt_ipp2p.c:382: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:383: error: unknown field 'help' specified in initializer libipt_ipp2p.c:383: warning: excess elements in struct initializer libipt_ipp2p.c:383: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:384: error: unknown field 'init' specified in initializer libipt_ipp2p.c:384: warning: excess elements in struct initializer libipt_ipp2p.c:384: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:385: error: unknown field 'parse' specified in initializer libipt_ipp2p.c:385: warning: excess elements in struct initializer libipt_ipp2p.c:385: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:386: error: unknown field 'final_check' specified in initializer libipt_ipp2p.c:386: warning: excess elements in struct initializer libipt_ipp2p.c:386: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:387: error: unknown field 'print' specified in initializer libipt_ipp2p.c:387: warning: excess elements in struct initializer libipt_ipp2p.c:387: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:388: error: unknown field 'save' specified in initializer libipt_ipp2p.c:388: warning: excess elements in struct initializer libipt_ipp2p.c:388: warning: (near initialization for 'ipp2p') libipt_ipp2p.c:389: error: unknown field 'extra_opts' specified in initializer libipt_ipp2p.c:390: warning: excess elements in struct initializer libipt_ipp2p.c:390: warning: (near initialization for 'ipp2p') libipt_ipp2p.c: In function '_INIT': libipt_ipp2p.c:396: warning: implicit declaration of function 'register_match' make: *** [libipt_ipp2p.so] Error 1
kdyz to zkompiluju proti iptables 1.4.0 - tak to vytvori soubor .so, ktery 1.4.2 samozrejme nezavede - protoze tvrdi :
to znamena, ze ta funkce register_match v nove verzi jaksi nefunguje a mozna i se strukturou iptables_match je to trosku jinak...- koukal jsem na netfilter stranky a 1.4.0 je snad 2 roky zpet stara verze - takze nejaky downgrade delat nehci. Nasel jsem i slackware balicek ipp2p, ale s modulem proti kernelu 2.6.21-SMP...Kód:iptables -m ipp2p --help /usr/libexec/xtables/libipt_ipp2p.so: /usr/libexec/xtables/libipt_ipp2p.so: undefined symbol: register_match iptables v1.4.2: Couldn't load match `ipp2p':(null) Try `iptables -h' or 'iptables --help' for more information.
Nekompiloval to nekdo proti novejsim iptables ? Patche na kernel 2.6.26.2 a iptables 1.4.0 jsem nasel a aplikoval...
PS Muj cil je blokovat P2P site - minimalne DC++ (tam jsem zatim utnul TCP 411, 4111 a 555), BitTorrent - takze mozna by to slo delat i jinym L7 filtrem, ale ipp2p mi zatim prisel jako nejjednodussi na implementaci