1 diff -ur iptables-1.2/extensions/libip6t_icmp.c iptables-1.2.icmp6/extensions/libip6t_icmp.c
2 --- iptables-1.2/extensions/libip6t_icmp.c Sat Jul 1 10:19:16 2000
3 +++ iptables-1.2.icmp6/extensions/libip6t_icmp.c Sun Feb 18 14:55:37 2001
6 const struct ip6t_icmp *icmp = (struct ip6t_icmp *)match->data;
9 + printf("ipv6-icmp ");
10 print_icmptype(icmp->type, icmp->code[0], icmp->code[1],
11 icmp->invflags & IP6T_ICMP_INV,
15 struct ip6tables_match icmp
20 IP6T_ALIGN(sizeof(struct ip6t_icmp)),
21 IP6T_ALIGN(sizeof(struct ip6t_icmp)),
22 diff -ur iptables-1.2.2/ip6tables.c iptables-1.2.2.icmp6/ip6tables.c
23 --- iptables-1.2.2/ip6tables.c Mon May 21 03:17:20 2001
24 +++ iptables-1.2.2.icmp6/ip6tables.c Mon May 21 03:15:14 2001
26 find_match(const char *name, enum ip6t_tryload tryload)
28 struct ip6tables_match *ptr;
31 + if (strstr(name, "icmp"))
35 for (ptr = ip6tables_matches; ptr; ptr = ptr->next) {
36 - if (strcmp(name, ptr->name) == 0)
37 + if (strcmp(mname, ptr->name) == 0)
41 if (!ptr && tryload != DONT_LOAD) {
42 char path[sizeof(IP6T_LIB_DIR) + sizeof("/libip6t_.so")
44 - sprintf(path, IP6T_LIB_DIR "/libip6t_%s.so", name);
45 + if (strstr(name, "icmp"))
46 + sprintf(path, IP6T_LIB_DIR "/libip6t_icmp.so");
48 + sprintf(path, IP6T_LIB_DIR "/libip6t_%s.so", name);
49 if (dlopen(path, RTLD_NOW)) {
50 /* Found library. If it didn't register itself,
51 maybe they specified target as match. */