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]

Reply via email to