Contents of /trunk/zydas/patches/zd1211-driver-r32-wep256.patch
Parent Directory | Revision Log
Revision 153 -
(show annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 3034 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 3034 byte(s)
-import
1 | * finding or making jordens@debian.org--zd1211/zd1211--integration--0--patch-7 |
2 | * finding or making jordens@debian.org--zd1211/zd1211--integration--0--patch-8 |
3 | * computing changeset |
4 | A {arch}/zd1211/zd1211--integration/zd1211--integration--0/jordens@debian.org--zd1211/patch-log/patch-8 |
5 | M src/zd1205.c |
6 | * changeset report |
7 | * modified files |
8 | |
9 | --- orig/src/zd1205.c |
10 | +++ mod/src/zd1205.c |
11 | @@ -5636,8 +5636,10 @@ |
12 | |
13 | #define NUM_CHANNELS ( sizeof(channel_frequency) / sizeof(channel_frequency[0]) ) |
14 | |
15 | -#define MAX_KEY_SIZE 13 |
16 | -#define MIN_KEY_SIZE 5 |
17 | +#define WEP256_KEY_SIZE 29 |
18 | +#define WEP128_KEY_SIZE 13 |
19 | +#define WEP64_KEY_SIZE 5 |
20 | +#define MAX_KEY_SIZE WEP256_KEY_SIZE |
21 | |
22 | static int |
23 | zd1205_ioctl_setiwencode(struct net_device *dev, struct iw_point *erq, char *key) |
24 | @@ -5653,26 +5655,32 @@ |
25 | // ZD1211DEBUG(1, "index = %d\n", index); |
26 | // ZD1211DEBUG(1, "erq->length = %d\n", erq->length); |
27 | |
28 | - if (erq->length > MAX_KEY_SIZE) |
29 | - return -EINVAL; |
30 | - |
31 | if ((index < 0) || (index >= 4)) |
32 | index = current_index; |
33 | |
34 | - /* Set the length */ |
35 | - if (erq->length > MIN_KEY_SIZE) { |
36 | - pSetting->WepKeyLen = MAX_KEY_SIZE; |
37 | + /* Set the length */ |
38 | + switch (erq->length) |
39 | + { |
40 | + case WEP64_KEY_SIZE: |
41 | + pSetting->WepKeyLen = WEP64_KEY_SIZE; |
42 | + pSetting->EncryMode = WEP64; |
43 | + break; |
44 | + case WEP128_KEY_SIZE: |
45 | + pSetting->WepKeyLen = WEP128_KEY_SIZE; |
46 | pSetting->EncryMode = WEP128; |
47 | - } else { |
48 | - // if (erq->length > 0){ |
49 | - pSetting->WepKeyLen = MIN_KEY_SIZE; |
50 | + break; |
51 | + case WEP256_KEY_SIZE: |
52 | + pSetting->WepKeyLen = WEP64_KEY_SIZE; |
53 | pSetting->EncryMode = WEP64; |
54 | + break; |
55 | + default: |
56 | + return -EINVAL; |
57 | + } |
58 | // } |
59 | // else { |
60 | // pSetting->WepKeyLen = 0; /* Disable the key */ |
61 | // pSetting->EncryMode = NO_WEP; |
62 | // } |
63 | - } |
64 | |
65 | /* Check if the key is not marked as invalid */ |
66 | if (!(erq->flags & IW_ENCODE_NOKEY)) { // for command: key xxxxxxxxxx [n] |
67 | @@ -5794,7 +5802,7 @@ |
68 | /* Copy the key to the user buffer */ |
69 | |
70 | erq->length = pSetting->WepKeyLen; |
71 | - if (erq->length > 16) |
72 | + if (erq->length > MAX_KEY_SIZE) |
73 | { |
74 | erq->length = 0; |
75 | |
76 | @@ -6393,9 +6401,10 @@ |
77 | range->min_frag = 256; |
78 | range->max_frag = 2346; |
79 | range->max_encoding_tokens = NUM_WEPKEYS; |
80 | - range->num_encoding_sizes = 2; |
81 | + range->num_encoding_sizes = 3; |
82 | range->encoding_size[0] = 5; |
83 | range->encoding_size[1] = 13; |
84 | + range->encoding_size[2] = 29; |
85 | |
86 | // XXX what about num_bitrates/throughput? |
87 | range->num_bitrates = 0; |
88 | |
89 | |
90 | |
91 | * added files |
92 | |
93 |
Properties
Name | Value |
---|---|
svn:executable | * |