1 You need the GNU `patch' utility to apply this patch. Get:
3 ftp://fractal.mta.ca/pub/crypto/SSLeay/DES/libdes-3.06.tar.gz
5 Uncompress it somewhere, and use the command line:
7 patch -p1 -N < this_file
9 to apply the patch. Move the fcrypt.c file to the win32 subdirectory
10 of the Perl source distribution.
12 --- libdes-3.06/fcrypt.c.dist Tue Aug 4 18:41:49 1998
13 +++ libdes-3.06/fcrypt.c Tue Aug 4 18:42:03 1998
16 static char shifts2[16]={0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0};
19 -static int des_set_key();
21 + unsigned long *out0,
22 + unsigned long *out1,
23 + des_key_schedule ks,
24 + unsigned long Eswap0,
25 + unsigned long Eswap1);
27 -static int des_set_key(key,schedule)
29 -des_key_schedule schedule;
31 +des_set_key(des_cblock *key, des_key_schedule schedule)
33 register unsigned long c,d,t,s;
34 register unsigned char *in;
36 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A
39 -char *crypt(buf,salt)
43 +des_fcrypt(const char *buf, const char *salt, char *buff)
46 unsigned long Eswap0=0,Eswap1=0;
47 unsigned long out[2],ll;
50 - static unsigned char buff[20];
58 - return((char *)buff);
62 -static int body(out0,out1,ks,Eswap0,Eswap1)
63 -unsigned long *out0,*out1;
64 -des_key_schedule *ks;
65 -unsigned long Eswap0,Eswap1;
67 +body( unsigned long *out0,
68 + unsigned long *out1,
69 + des_key_schedule ks,
70 + unsigned long Eswap0,
71 + unsigned long Eswap1)
73 register unsigned long l,r,t,u,v;