thank you Narayanan. Your idea help me out to geht my problem solved. But your "patch"is intricately.. so i help me out with vim :) open the ipables.c and type.. :%s/RTLD_NOW/RTLD_LAZY/g It works very fine for me and the bugs are gone.
Here is the right patch. save it in parse_port.patch and type: patch -p1 < parse_port.patch rocksolid iptables # diff -c iptables.c iptables.c_org *** iptables.c 2007-10-07 00:47:40.000000000 +0200 --- iptables.c_org 2007-10-07 00:41:36.000000000 +0200 *************** *** 638,644 **** char path[strlen(lib_dir) + sizeof("/libipt_.so") + strlen(name)]; sprintf(path, "%s/libipt_%s.so", lib_dir, name); ! if (dlopen(path, RTLD_LAZY)) { /* Found library. If it didn't register itself, maybe they specified match as a target. */ ptr = find_target(name, DONT_LOAD); --- 638,644 ---- char path[strlen(lib_dir) + sizeof("/libipt_.so") + strlen(name)]; sprintf(path, "%s/libipt_%s.so", lib_dir, name); ! if (dlopen(path, RTLD_NOW)) { /* Found library. If it didn't register itself, maybe they specified match as a target. */ ptr = find_target(name, DONT_LOAD); *************** *** 765,771 **** char path[strlen(lib_dir) + sizeof("/libipt_.so") + strlen(name)]; sprintf(path, "%s/libipt_%s.so", lib_dir, name); ! if (dlopen(path, RTLD_LAZY)) { /* Found library. If it didn't register itself, maybe they specified target as match. */ ptr = find_match(name, DONT_LOAD, NULL); --- 765,771 ---- char path[strlen(lib_dir) + sizeof("/libipt_.so") + strlen(name)]; sprintf(path, "%s/libipt_%s.so", lib_dir, name); ! if (dlopen(path, RTLD_NOW)) { /* Found library. If it didn't register itself, maybe they specified target as match. */ ptr = find_match(name, DONT_LOAD, NULL); PS: iptables v1.3.8; ipac-ng-1.31; debian 4.0; 2.6.18 SMP i686 Kernel with IMQ and layer7 Patch. Greetings from Austria brooks -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]