]> git.pld-linux.org Git - packages/perl-Crypt-RC6.git/blob - perl-Crypt-RC6-endian.patch
- rebuild with perl 5.26
[packages/perl-Crypt-RC6.git] / perl-Crypt-RC6-endian.patch
1 --- Crypt-RC6-1.0/_rc6.c.orig   2002-03-16 22:54:10.000000000 +0000
2 +++ Crypt-RC6-1.0/_rc6.c        2004-05-09 00:14:37.000000000 +0000
3 @@ -5,6 +5,14 @@
4  \r
5  #include "platform.h"\r
6  \r
7 +#include <endian.h>\r
8 +#if __BYTE_ORDER == __BIG_ENDIAN\r
9 +#  include <byteswap.h>\r
10 +#  define regswp(x) bswap_32(x)\r
11 +#else\r
12 +#  define regswp(x) x\r
13 +#endif\r
14 +\r
15  /*\r
16      function: rc6_generateKeySchedule\r
17  \r
18 @@ -27,6 +35,8 @@
19      /* Move the bytes of initKey into L, little-endian fashion. */\r
20  \r
21      memcpy(bPtr, initKey, keyLength);\r
22 +    for(i=0; i<8; i++)\r
23 +           L[i] = regswp(L[i]);\r
24  \r
25      /* Set S[0] to the constant P32, then generate the rest of S. */\r
26  \r
27 @@ -61,10 +71,10 @@
28  \r
29      regPtr = (unsigned char*)&regs[0];\r
30      memcpy(regPtr, input, 16);\r
31 -    A = regs[0]; /* Cook up A, B, C, and D as our four 32-bit registers. */\r
32 -    B = regs[1];\r
33 -    C = regs[2];\r
34 -    D = regs[3];\r
35 +    A = regswp(regs[0]); /* Cook up A, B, C, and D as our four 32-bit registers. */\r
36 +    B = regswp(regs[1]);\r
37 +    C = regswp(regs[2]);\r
38 +    D = regswp(regs[3]);\r
39         B += S[0];\r
40         D += S[1];\r
41         for (j = 1; j <= 20; j++)  /* Perform 20 rounds. */\r
42 @@ -81,10 +91,10 @@
43      }\r
44         A += S[42];\r
45         C += S[43];\r
46 -    regs[0] = A;\r
47 -    regs[1] = B;\r
48 -    regs[2] = C;\r
49 -    regs[3] = D;\r
50 +    regs[0] = regswp(A);\r
51 +    regs[1] = regswp(B);\r
52 +    regs[2] = regswp(C);\r
53 +    regs[3] = regswp(D);\r
54      memcpy(output, regPtr, 16);\r
55  }\r
56  \r
57 @@ -104,10 +114,10 @@
58  \r
59      regPtr = (unsigned char*)&regs[0];\r
60      memcpy(regPtr, input, 16);\r
61 -    A = regs[0];\r
62 -    B = regs[1];\r
63 -    C = regs[2];\r
64 -    D = regs[3];\r
65 +    A = regswp(regs[0]);\r
66 +    B = regswp(regs[1]);\r
67 +    C = regswp(regs[2]);\r
68 +    D = regswp(regs[3]);\r
69         C -= S[43];\r
70         A -= S[42];\r
71         for (j = 20; j >= 1; j--)\r
72 @@ -126,10 +136,10 @@
73         }\r
74         D -= S[1];\r
75         B -= S[0];\r
76 -    regs[0] = A;\r
77 -    regs[1] = B;\r
78 -    regs[2] = C;\r
79 -    regs[3] = D;\r
80 +    regs[0] = regswp(A);\r
81 +    regs[1] = regswp(B);\r
82 +    regs[2] = regswp(C);\r
83 +    regs[3] = regswp(D);\r
84      memcpy(output, regPtr, 16);\r
85  }\r
86  \r
This page took 0.091598 seconds and 3 git commands to generate.