summaryrefslogtreecommitdiff
path: root/win32/des_fcrypt.patch
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-08-04 23:03:23 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-08-04 23:03:23 +0000
commit2d77217b57f0b274e843a804355ed3f48edfb327 (patch)
tree245c1a44b9ab495f24b6d2daa11960282dae391e /win32/des_fcrypt.patch
parentd38acd6c115bc9ca928d820fb506866e7dc749da (diff)
downloadperl-2d77217b57f0b274e843a804355ed3f48edfb327.tar.gz
correct prototype for des_fcrypt(), explain how to add it in more
detail, and supply a patch for libdes-3.06 p4raw-id: //depot/maint-5.005/perl@1729
Diffstat (limited to 'win32/des_fcrypt.patch')
-rw-r--r--win32/des_fcrypt.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/win32/des_fcrypt.patch b/win32/des_fcrypt.patch
new file mode 100644
index 0000000000..7088e94a7e
--- /dev/null
+++ b/win32/des_fcrypt.patch
@@ -0,0 +1,75 @@
+You need the GNU `patch' utility to apply this patch. Get:
+
+ ftp://fractal.mta.ca/pub/crypto/SSLeay/DES/libdes-3.06.tar.gz
+
+Uncompress it somewhere, and use the command line:
+
+ patch -p1 -N < this_file
+
+to apply the patch. Move the fcrypt.c file to the win32 subdirectory
+of the Perl source distribution.
+
+--- libdes-3.06/fcrypt.c.dist Tue Aug 4 18:41:49 1998
++++ libdes-3.06/fcrypt.c Tue Aug 4 18:42:03 1998
+@@ -325,12 +325,15 @@
+
+ static char shifts2[16]={0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0};
+
+-static int body();
+-static int des_set_key();
++static int body(
++ unsigned long *out0,
++ unsigned long *out1,
++ des_key_schedule ks,
++ unsigned long Eswap0,
++ unsigned long Eswap1);
+
+-static int des_set_key(key,schedule)
+-des_cblock *key;
+-des_key_schedule schedule;
++static int
++des_set_key(des_cblock *key, des_key_schedule schedule)
+ {
+ register unsigned long c,d,t,s;
+ register unsigned char *in;
+@@ -460,16 +463,14 @@
+ 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A
+ };
+
+-char *crypt(buf,salt)
+-char *buf;
+-char *salt;
++char *
++des_fcrypt(const char *buf, const char *salt, char *buff)
+ {
+ unsigned int i,j,x,y;
+ unsigned long Eswap0=0,Eswap1=0;
+ unsigned long out[2],ll;
+ des_cblock key;
+ des_key_schedule ks;
+- static unsigned char buff[20];
+ unsigned char bb[9];
+ unsigned char *b=bb;
+ unsigned char c,u;
+@@ -521,13 +522,15 @@
+ buff[i]=cov_2char[c];
+ }
+ buff[13]='\0';
+- return((char *)buff);
++ return buff;
+ }
+
+-static int body(out0,out1,ks,Eswap0,Eswap1)
+-unsigned long *out0,*out1;
+-des_key_schedule *ks;
+-unsigned long Eswap0,Eswap1;
++static int
++body( unsigned long *out0,
++ unsigned long *out1,
++ des_key_schedule ks,
++ unsigned long Eswap0,
++ unsigned long Eswap1)
+ {
+ register unsigned long l,r,t,u,v;
+ #ifdef ALT_ECB
+End of Patch.