Trying to recompile cisco-vpnclient on 2.6.22.1-27.fc7
Great - more sk_buff errors on compiling the source:
/data/rpms/vpnclient/linuxcniapi.c:331: error: ‘struct sk_buff’ has no member named ‘nh’
/data/rpms/vpnclient/linuxcniapi.c:332: error: ‘struct sk_buff’ has no member named ‘mac’
/data/rpms/vpnclient/linuxcniapi.c: In function ‘CniInjectSend’:
/data/rpms/vpnclient/linuxcniapi.c:454: error: ‘struct sk_buff’ has no member named ‘mac’
/data/rpms/vpnclient/linuxcniapi.c:455: error: ‘struct sk_buff’ has no member named ‘nh’
/data/rpms/vpnclient/linuxcniapi.c:458: error: ‘struct sk_buff’ has no member named ‘h’
/data/rpms/vpnclient/linuxcniapi.c:458: error: ‘struct sk_buff’ has no member named ‘nh’
Decided to ignore it since it finished, but oh no:
[root@xps-m1710 CiscoVPN]# /etc/init.d/vpnclient_init start
[Starting /opt/cisco-vpnclient/bin/vpnclient: insmod: error inserting '/lib/modules/2.6.22.1-27.fc7/CiscoVPN/cisco_ipsec.ko': [-1 Invalid module format
Failed (insmod)
You have new mail in /var/spool/mail/root
Tried to force the module to load, but oh no:
[root@xps-m1710 CiscoVPN]# modprobe --force-modversion --force-vermagic cisco_ipsec
FATAL: Error inserting cisco_ipsec (/lib/modules/2.6.22.1-27.fc7/CiscoVPN/cisco_ipsec.ko): Unknown symbol in module, or unknown parameter (see dmesg)
So checked out dmesg and indeed more struct_module issues, plus a memory issue which I seem to remember being a known newbie in 2.6.22.1-27.fc7:
cisco_ipsec: disagrees about version of symbol struct_module
cisco_ipsec: disagrees about version of symbol struct_module
cisco_ipsec: no version for "struct_module" found: kernel tainted.
cisco_ipsec: no version magic, tainting kernel.
cisco_ipsec: Unknown symbol dev_base
cisco_ipsec: Unknown symbol malloc_sizes
Looks like more fun times googling....
Google got me no where, so I looked around and did a strace, narrowed it down to two unions inside the skbuff.h so I added the below lines around line 250 inside the struct skbuff decalaration:
union {
struct tcphdr *th;
struct udphdr *uh;
struct icmphdr *icmph;
struct igmphdr *igmph;
struct iphdr *ipiph;
struct ipv6hdr *ipv6h;
unsigned char *raw;
} h;
union {
struct iphdr *iph;
struct ipv6hdr *ipv6h;
struct arphdr *arph;
unsigned char *raw;
} nh;
union {
unsigned char *raw;
} mac;
And I got past those errors, but now onto new issues with interceptor.c of vpnclient:
/data/rpms/vpnclient/interceptor.c:318: warning: assignment from incompatible pointer type
/data/rpms/vpnclient/interceptor.c:342: warning: assignment from incompatible pointer type
/data/rpms/vpnclient/interceptor.c:343: warning: assignment from incompatible pointer type
/data/rpms/vpnclient/interceptor.c:350: error: ‘dev_base’ undeclared (first use in this function)
/data/rpms/vpnclient/interceptor.c:350: error: (Each undeclared identifier is reported only once
/data/rpms/vpnclient/interceptor.c:350: error: for each function it appears in.)
/data/rpms/vpnclient/interceptor.c:350: error: ‘struct net_device’
1 comment:
take a look at http://forums.fedoraforum.org/forum/showthread.php?t=162058
Post a Comment