summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorJan Dubois <jand@activestate.com>2010-12-07 13:51:46 -0800
committerJan Dubois <jand@activestate.com>2010-12-07 14:20:53 -0800
commit9cef83062267e94311e1fd8744396e440642738e (patch)
tree91d98f7d1d66f9e760e1d3c0648374bca7087fa4 /win32
parent9d021ad4f2bddaf5f0cd07d1c565a2ebdc9f4d6d (diff)
downloadperl-9cef83062267e94311e1fd8744396e440642738e.tar.gz
Always build with crypt() support on Windows
The sources did support to drop win32/fcrypt.c from a Perl distribution and build without a crypt() implementation to account for the paranoia around distribution of encryption technology. However sources and binaries have been released for at least 10 years with all the code in place, so there is not much point in making it configurable.
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile32
-rw-r--r--win32/config.bc2
-rw-r--r--win32/config.gc2
-rw-r--r--win32/config.gc642
-rw-r--r--win32/config.gc64nox2
-rw-r--r--win32/config.vc2
-rw-r--r--win32/config.vc642
-rw-r--r--win32/makefile.mk41
-rw-r--r--win32/win32.c7
-rw-r--r--win32/win32.h2
10 files changed, 18 insertions, 76 deletions
diff --git a/win32/Makefile b/win32/Makefile
index c60a61de5d..b1680cb82a 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -133,20 +133,6 @@ CCTYPE = MSVC60
#USE_SETARGV = define
#
-# if you want to have the crypt() builtin function implemented, leave this or
-# CRYPT_LIB uncommented. The fcrypt.c file named here contains a suitable
-# version of des_fcrypt().
-#
-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 = fcrypt.lib
-
-#
# set this if you wish to use perl's malloc
# WARNING: Turning this on/off WILL break binary compatibility with extensions
# you may have compiled with/without it. Be prepared to recompile all
@@ -237,13 +223,6 @@ EXTRALIBDIRS =
##################### CHANGE THESE ONLY IF YOU MUST #####################
-!IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
-D_CRYPT = undef
-!ELSE
-D_CRYPT = define
-CRYPT_FLAG = -DHAVE_DES_FCRYPT
-!ENDIF
-
!IF "$(USE_IMP_SYS)" == "define"
PERL_MALLOC = undef
DEBUG_MSTATS = undef
@@ -414,7 +393,7 @@ RSC = rc
INCLUDES = -I$(COREDIR) -I.\include -I. -I..
#PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX
-DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG)
+DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT
LOCDEFS = -DPERLDLL -DPERL_CORE
SUBSYS = console
CXX_FLAG = -TP -EHsc
@@ -473,7 +452,7 @@ BUILDOPT = $(BUILDOPT) -D_USE_32BIT_TIME_T
! ENDIF
!ENDIF
-LIBBASEFILES = $(CRYPT_LIB) \
+LIBBASEFILES = \
oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
@@ -688,7 +667,8 @@ EXTRACORE_SRC = $(EXTRACORE_SRC) ..\perlio.c
WIN32_SRC = \
.\win32.c \
.\win32sck.c \
- .\win32thread.c
+ .\win32thread.c \
+ .\fcrypt.c
# We need this for miniperl build unless we override canned
# config.h #define building mini\*
@@ -696,9 +676,6 @@ WIN32_SRC = \
WIN32_SRC = $(WIN32_SRC) .\win32io.c
#!ENDIF
-!IF "$(CRYPT_SRC)" != ""
-WIN32_SRC = $(WIN32_SRC) .\$(CRYPT_SRC)
-!ENDIF
X2P_SRC = \
..\x2p\a2p.c \
@@ -798,7 +775,6 @@ CFG_VARS = \
"ld=$(LINK32)" \
"ccflags=$(EXTRACFLAGS) $(OPTIMIZE:"=\") $(DEFINES) $(BUILDOPT)" \
"cf_email=$(EMAIL)" \
- "d_crypt=$(D_CRYPT)" \
"d_mymalloc=$(PERL_MALLOC)" \
"libs=$(LIBFILES)" \
"incpath=$(CCINCDIR:"=\")" \
diff --git a/win32/config.bc b/win32/config.bc
index 8a2e7468da..eb5f72c33b 100644
--- a/win32/config.bc
+++ b/win32/config.bc
@@ -129,7 +129,7 @@ d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_cplusplus='undef'
-d_crypt='undef'
+d_crypt='define'
d_crypt_r='undef'
d_csh='undef'
d_ctermid='undef'
diff --git a/win32/config.gc b/win32/config.gc
index 5c90397bbe..5f41d1a3df 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -129,7 +129,7 @@ d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_cplusplus='undef'
-d_crypt='undef'
+d_crypt='define'
d_crypt_r='undef'
d_csh='undef'
d_ctermid='undef'
diff --git a/win32/config.gc64 b/win32/config.gc64
index 36f21ce258..b2932e0c9d 100644
--- a/win32/config.gc64
+++ b/win32/config.gc64
@@ -129,7 +129,7 @@ d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_cplusplus='undef'
-d_crypt='undef'
+d_crypt='define'
d_crypt_r='undef'
d_csh='undef'
d_ctermid='undef'
diff --git a/win32/config.gc64nox b/win32/config.gc64nox
index b9cd1cc4de..ac075ba97c 100644
--- a/win32/config.gc64nox
+++ b/win32/config.gc64nox
@@ -129,7 +129,7 @@ d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_cplusplus='undef'
-d_crypt='undef'
+d_crypt='define'
d_crypt_r='undef'
d_csh='undef'
d_ctermid='undef'
diff --git a/win32/config.vc b/win32/config.vc
index 937ab828e2..444c81d327 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -129,7 +129,7 @@ d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_cplusplus='undef'
-d_crypt='undef'
+d_crypt='define'
d_crypt_r='undef'
d_csh='undef'
d_ctermid='undef'
diff --git a/win32/config.vc64 b/win32/config.vc64
index 68a8ea79c9..e0cd5859db 100644
--- a/win32/config.vc64
+++ b/win32/config.vc64
@@ -129,7 +129,7 @@ d_cmsghdr_s='undef'
d_const='define'
d_copysignl='undef'
d_cplusplus='undef'
-d_crypt='undef'
+d_crypt='define'
d_crypt_r='undef'
d_csh='undef'
d_ctermid='undef'
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 30dafb8cc9..b907143e0d 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -151,20 +151,6 @@ CCTYPE *= GCC
#USE_SETARGV *= define
#
-# if you want to have the crypt() builtin function implemented, leave this or
-# CRYPT_LIB uncommented. The fcrypt.c file named here contains a suitable
-# version of des_fcrypt().
-#
-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 *= fcrypt.lib
-
-#
# set this if you wish to use perl's malloc
# WARNING: Turning this on/off WILL break binary compatibility with extensions
# you may have compiled with/without it. Be prepared to recompile all
@@ -299,13 +285,6 @@ EXTRALIBDIRS *=
##################### CHANGE THESE ONLY IF YOU MUST #####################
-.IF "$(CRYPT_SRC)$(CRYPT_LIB)" == ""
-D_CRYPT = undef
-.ELSE
-D_CRYPT = define
-CRYPT_FLAG = -DHAVE_DES_FCRYPT
-.ENDIF
-
PERL_MALLOC *= undef
DEBUG_MSTATS *= undef
@@ -458,7 +437,7 @@ RSC = brcc32
#
INCLUDES = -I$(COREDIR) -I.\include -I. -I.. -I"$(CCINCDIR)"
#PCHFLAGS = -H -Hc -H=c:\temp\bcmoduls.pch
-DEFINES = -DWIN32 $(CRYPT_FLAG)
+DEFINES = -DWIN32
LOCDEFS = -DPERLDLL -DPERL_CORE
SUBSYS = console
CXX_FLAG = -P
@@ -466,7 +445,7 @@ CXX_FLAG = -P
LIBC = cw32mti.lib
# same libs as MSVC, except Borland doesn't have oldnames.lib
-LIBFILES = $(CRYPT_LIB) \
+LIBFILES = \
kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
@@ -520,7 +499,7 @@ a = .a
#
INCLUDES = -I.\include -I. -I.. -I$(COREDIR)
-DEFINES = -DWIN32 $(CRYPT_FLAG)
+DEFINES = -DWIN32
.IF "$(WIN64)" == "define"
DEFINES += -DWIN64 -DCONSERVATIVE
.ENDIF
@@ -534,7 +513,7 @@ LIBC =
#LIBC = -lmsvcrt
# same libs as MSVC
-LIBFILES = $(CRYPT_LIB) $(LIBC) \
+LIBFILES = $(LIBC) \
-lmoldname -lkernel32 -luser32 -lgdi32 \
-lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 \
-loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr \
@@ -570,7 +549,7 @@ RSC = rc
INCLUDES = -I$(COREDIR) -I.\include -I. -I..
#PCHFLAGS = -Fpc:\temp\vcmoduls.pch -YX
-DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT $(CRYPT_FLAG)
+DEFINES = -DWIN32 -D_CONSOLE -DNO_STRICT
LOCDEFS = -DPERLDLL -DPERL_CORE
SUBSYS = console
CXX_FLAG = -TP -EHsc
@@ -629,7 +608,7 @@ BUILDOPT += -D_USE_32BIT_TIME_T
.ENDIF
.ENDIF
-LIBBASEFILES = $(CRYPT_LIB) \
+LIBBASEFILES = \
oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
@@ -900,7 +879,8 @@ EXTRACORE_SRC += ..\perlio.c
WIN32_SRC = \
.\win32.c \
.\win32sck.c \
- .\win32thread.c
+ .\win32thread.c \
+ .\fcrypt.c
# We need this for miniperl build unless we override canned
# config.h #define building mini\*
@@ -908,10 +888,6 @@ WIN32_SRC = \
WIN32_SRC += .\win32io.c
#.ENDIF
-.IF "$(CRYPT_SRC)" != ""
-WIN32_SRC += .\$(CRYPT_SRC)
-.ENDIF
-
X2P_SRC = \
..\x2p\a2p.c \
..\x2p\hash.c \
@@ -1012,7 +988,6 @@ CFG_VARS = \
ld=$(LINK32) ~ \
ccflags=$(EXTRACFLAGS) $(OPTIMIZE) $(DEFINES) $(BUILDOPT) ~ \
cf_email=$(EMAIL) ~ \
- d_crypt=$(D_CRYPT) ~ \
d_mymalloc=$(PERL_MALLOC) ~ \
libs=$(LIBFILES:f) ~ \
incpath=$(CCINCDIR) ~ \
diff --git a/win32/win32.c b/win32/win32.c
index 721f4d6406..228dddedb8 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -2264,20 +2264,13 @@ win32_alarm(unsigned int sec)
return 0;
}
-#ifdef HAVE_DES_FCRYPT
extern char * des_fcrypt(const char *txt, const char *salt, char *cbuf);
-#endif
DllExport char *
win32_crypt(const char *txt, const char *salt)
{
dTHX;
-#ifdef HAVE_DES_FCRYPT
return des_fcrypt(txt, salt, w32_crypt_buffer);
-#else
- Perl_croak(aTHX_ "The crypt() function is unimplemented due to excessive paranoia.");
- return NULL;
-#endif
}
/* simulate flock by locking a range on the file */
diff --git a/win32/win32.h b/win32/win32.h
index 0d55d640df..65d6d319d0 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -422,9 +422,7 @@ struct thread_intern {
# ifdef USE_SOCKETS_AS_HANDLES
int Winit_socktype;
# endif
-# ifdef HAVE_DES_FCRYPT
char Wcrypt_buffer[30];
-# endif
# ifdef USE_RTL_THREAD_API
void * retv; /* slot for thread return value */
# endif