Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 155837 - net-misc/cisco-vpnclient-3des-4.8.00.0490 patch for kernel 2.6.19
Summary: net-misc/cisco-vpnclient-3des-4.8.00.0490 patch for kernel 2.6.19
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Chris Gianelloni (RETIRED)
URL:
Whiteboard:
Keywords:
: 157229 (view as bug list)
Depends on:
Blocks: kernel-2.6.19
  Show dependency tree
 
Reported: 2006-11-21 00:56 UTC by Markus Ullmann (RETIRED)
Modified: 2006-12-12 07:02 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
cisco-vpnclient-3des-kernel-2.6.19.patch (cisco-vpnclient-3des-kernel-2.6.19.patch,2.96 KB, patch)
2006-11-21 00:57 UTC, Markus Ullmann (RETIRED)
Details | Diff
Revised patch (4.8.00.0490-2.6.19.patch,2.45 KB, patch)
2006-12-02 14:54 UTC, Gene Seto
Details | Diff
Modified ebuild (cisco-vpnclient-3des-4.8.00.0490.ebuild,2.17 KB, application/octet-stream)
2006-12-02 14:57 UTC, Gene Seto
Details
Comparison between skb_checksum_help() from 2.6.19 and 2.6.18 (2.6.19 vs. 2.6.18.txt,4.26 KB, text/plain)
2006-12-02 21:00 UTC, Gene Seto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Ullmann (RETIRED) gentoo-dev 2006-11-21 00:56:55 UTC
As kernel API changed again, I wrote this patch to make it work
Comment 1 Markus Ullmann (RETIRED) gentoo-dev 2006-11-21 00:57:22 UTC
Created attachment 102449 [details, diff]
cisco-vpnclient-3des-kernel-2.6.19.patch
Comment 2 Dan Foster 2006-11-21 16:56:50 UTC
A big problem with your patch is that it alters semantics for *older* kernels.

For example, these lines from the diff:

 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
-       if (skb_checksum_help(skb,1))
+       if (skb_checksum_help(skb))

Not safe. Better to make a new #if that checks for 2,6,19 and above. For example:

 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
       if (skb_checksum_help(skb,1))
 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
       if (skb_checksum_help(skb))

You get the idea. Your changes alters behavior for compiles under pre-2.6.19 kernel which do not have the new API, so it is not ideal.

When it's revised to only change semantics if kernel is at least 2.6.19, then it may be ready for inclusion.
Comment 3 Gene Seto 2006-12-02 14:54:58 UTC
Created attachment 103241 [details, diff]
Revised patch

I hope this is what was meant.
Comment 4 Gene Seto 2006-12-02 14:57:08 UTC
Created attachment 103242 [details]
Modified ebuild

modified ebuild to patch if we're using >=2.6.19
Comment 5 Mike Auty (RETIRED) gentoo-dev 2006-12-02 15:12:13 UTC
This patch looks OK to me (and seems to work alright), but I'd prefer someone to check out the difference between CHECKSUM_COMPLETE and CHECKSUM_PARTIAL, and whether they're related to the extra 1/0 parameter that's no longer passed to skb_checksum_help.

From http://lwn.net/Articles/200925/:

The CHECKSUM_HW value has long been used in the networking subsystem to support hardware checksumming. That value has been replaced with CHECKSUM_PARTIAL (intended for outgoing packets where the job must be completed by the hardware) and CHECKSUM_COMPLETE (for incoming packets which have been completely checksummed by the hardware).

Suggesting that for checking outgoing packets, CHECKSUM_PARTIAL be used instead.

Also, there's no need to only apply the patch, since the revised patch will now check the kernel and thus should work for all sources...  5:)
Comment 6 Gene Seto 2006-12-02 21:00:47 UTC
Created attachment 103250 [details]
Comparison between skb_checksum_help() from 2.6.19 and 2.6.18

I tried to figure out what it does.. but I still have no idea what it does but here is what I've dug up. Between the 2.6.19 skb_checksum_help and the 2.6.18 version is one line if (skb->ip_summed == CHECKSUM_COMPLETE) which was originally if(inward). inward was the parameter that was removed.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-12-05 12:02:20 UTC
*** Bug 157229 has been marked as a duplicate of this bug. ***
Comment 8 Antti Mäkelä 2006-12-12 05:21:42 UTC
I tested the patch at http://www.tuxx-home.at/projects/cisco-vpnclient/vpnclient-linux-2.6.19.diff - not sure if this is the same as presented here - but this works ALSO for version 4.7.0 of the VPN client. Please apply the change to that version as well.
Comment 9 Chris Gianelloni (RETIRED) gentoo-dev 2006-12-12 07:02:22 UTC
FIXED in CVS... enjoy