Comment faire fonctionner le client VPN Cisco sous Linux
Si comme moi vous êtes sous Linux (plus particulièrement sous Xubuntu pour moi) et que vous avez besoin de vous connecter au VPN de votre entreprise par le biais du client VPN Cisco, alors vous allez avoir un problème... Autre le fait qu'il faille pouvoir le télécharger légalement, vous aurez un problème pour le compiler si votre noyaux est supérieur ou égale à 2.6.31.
Pour cela, un patch est nécessaire pour pouvoir compiler la version suivante : vpnclient-linux-x86_64-4.8.02.0030-k9, et le voici :
diff vpnclient.original/interceptor.c vpnclient/interceptor.c
118a119,126
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
> static struct net_device_ops interceptor_netdev_ops = {
> .ndo_start_xmit = interceptor_tx,
> .ndo_do_ioctl = interceptor_ioctl,
> .ndo_get_stats = interceptor_stats,
> };
> #endif
>
131a140,143
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
> dev->netdev_ops = &interceptor_netdev_ops;
> #else
>
134a147
> #endif
244a258,260
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
> struct net_device_ops * tmp_ops;
> #endif
270a287,291
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
> Bindings[i].InjectSend = dev->netdev_ops->ndo_start_xmit;
> tmp_ops = (struct net_device_ops *) dev->netdev_ops;
> tmp_ops->ndo_start_xmit = replacement_dev_xmit;
> #else
273c294
<
---
> #endif
288c309,311
<
---
> #if LINUX_VERSION_CODE >=KERNEL_VERSION(2,6,31)
> struct net_device_ops * tmp_ops;
> #endif
294c317,322
< dev->hard_start_xmit = b->InjectSend;
---
> #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
> tmp_ops = (struct net_device_ops *) dev->netdev_ops;
> tmp_ops->ndo_start_xmit = b->InjectSend;
> #else
> dev->hard_start_xmit = b->InjectSend;
> #endif
Je peux cependant vous la modifier si vous avez besoin, moyennant une petite bouteille ou quelques euros en paypal 
PS, pour ceux qui cherchent une bonne interface au client VPN Cisco, testez guiforciscovpnc
Delicious


Derniers commentaires