diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1998-08-04 23:03:23 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1998-08-04 23:03:23 +0000 |
commit | 2d77217b57f0b274e843a804355ed3f48edfb327 (patch) | |
tree | 245c1a44b9ab495f24b6d2daa11960282dae391e /win32 | |
parent | d38acd6c115bc9ca928d820fb506866e7dc749da (diff) | |
download | perl-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')
-rw-r--r-- | win32/Makefile | 4 | ||||
-rw-r--r-- | win32/des_fcrypt.patch | 75 | ||||
-rw-r--r-- | win32/makefile.mk | 4 | ||||
-rw-r--r-- | win32/win32.c | 4 |
4 files changed, 81 insertions, 6 deletions
diff --git a/win32/Makefile b/win32/Makefile index 82e8f62b3a..f23828ccf6 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -70,14 +70,14 @@ INST_VER = \5.00502 # file exists (see README.win32). File should be located in the same # directory as this file. # -#CRYPT_SRC = des_fcrypt.c +#CRYPT_SRC = fcrypt.c # # if you didn't set CRYPT_SRC and if you have des_fcrypt() available in a # library, uncomment this, and make sure the library exists (see README.win32) # Specify the full pathname of the library. # -#CRYPT_LIB = des_fcrypt.lib +#CRYPT_LIB = fcrypt.lib # # set this if you wish to use perl's malloc 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. diff --git a/win32/makefile.mk b/win32/makefile.mk index 450786d62f..17c7afca20 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -78,14 +78,14 @@ CCTYPE *= BORLAND # file exists (see README.win32). File should be located in the same # directory as this file. # -#CRYPT_SRC *= des_fcrypt.c +#CRYPT_SRC *= fcrypt.c # # if you didn't set CRYPT_SRC and if you have des_fcrypt() available in a # library, uncomment this, and make sure the library exists (see README.win32) # Specify the full pathname of the library. # -#CRYPT_LIB *= des_fcrypt.lib +#CRYPT_LIB *= fcrypt.lib # # set this if you wish to use perl's malloc diff --git a/win32/win32.c b/win32/win32.c index 721b62ace9..3f1c215b85 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -1164,7 +1164,7 @@ win32_alarm(unsigned int sec) #if defined(HAVE_DES_FCRYPT) || defined(PERL_OBJECT) #ifdef HAVE_DES_FCRYPT -extern char * des_fcrypt(char *cbuf, const char *txt, const char *salt); +extern char * des_fcrypt(const char *txt, const char *salt, char *cbuf); #endif DllExport char * @@ -1172,7 +1172,7 @@ win32_crypt(const char *txt, const char *salt) { #ifdef HAVE_DES_FCRYPT dTHR; - return des_fcrypt(crypt_buffer, txt, salt); + return des_fcrypt(txt, salt, crypt_buffer); #else die("The crypt() function is unimplemented due to excessive paranoia."); return Nullch; |