base
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
DEFS = @DEFS@ -DLIBDIR=\"$(libdir)/@PACKAGE@/\"
|
||||
INCLUDES = -I. -I.. $(INCLTDL) -I../modules/algorithms -I../modules/modes
|
||||
include_HEADERS = mcrypt.h
|
||||
EXTRA_DIST = libdefs.h bzero.h xmemory.h mcrypt_modules.h mcrypt_internal.h \
|
||||
libmcrypt.sym win32_comp.h mcrypt.h.in libmcrypt-config.in libmcrypt.m4
|
||||
lib_LTLIBRARIES = libmcrypt.la
|
||||
|
||||
libmcrypt_la_SOURCES = mcrypt_extra.c mcrypt.c bzero.c xmemory.c mcrypt_modules.c win32_comp.c mcrypt_threads.c \
|
||||
mcrypt_symb.c
|
||||
|
||||
libmcrypt_la_LDFLAGS = \
|
||||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
||||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
||||
-export-symbols libmcrypt.sym @LIBLTDL@
|
||||
libmcrypt_la_LIBADD = @EXTRA_OBJECTS@
|
||||
|
||||
m4datadir = $(datadir)/aclocal
|
||||
m4data_DATA = libmcrypt.m4
|
||||
bin_SCRIPTS = libmcrypt-config
|
||||
|
||||
mcrypt_symb.c: mcrypt_internal.h
|
||||
@echo "#include \"mcrypt_internal.h\"" > mcrypt_symb.c
|
||||
@echo "" >> mcrypt_symb.c
|
||||
@echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
|
||||
@echo "" >> mcrypt_symb.c
|
||||
-@for i in $(EXTRA_ALGOS); do \
|
||||
if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
done
|
||||
@echo "" >> mcrypt_symb.c
|
||||
@echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
|
||||
-@for i in $(EXTRA_ALGOS); do \
|
||||
if test -f ../modules/modes/$$i.c; then echo " {\"$$i\", NULL}, " >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/algorithms/$$i.c; then echo " {\"$$i\", NULL}, " >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "\t{\""$$3"\", "$$3"},";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "\t{\""$$3"\", "$$3"},";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
done
|
||||
@echo " {NULL, NULL}" >> mcrypt_symb.c
|
||||
@echo "};" >> mcrypt_symb.c
|
||||
|
||||
clean-local:
|
||||
-rm mcrypt_symb.c
|
||||
@@ -0,0 +1,573 @@
|
||||
# Makefile.in generated by automake 1.7.2 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@ -DLIBDIR=\"$(libdir)/@PACKAGE@/\"
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXTRA_ALGOS = @EXTRA_ALGOS@
|
||||
EXTRA_OBJECTS = @EXTRA_OBJECTS@
|
||||
INCLTDL = @INCLTDL@
|
||||
INSTALL_ALGORITHM_MODULES = @INSTALL_ALGORITHM_MODULES@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MODE_MODULES = @INSTALL_MODE_MODULES@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBLTDL = @LIBLTDL@
|
||||
LIBLTDL_DIR = @LIBLTDL_DIR@
|
||||
LIBMCRYPT_CFLAGS = @LIBMCRYPT_CFLAGS@
|
||||
LIBMCRYPT_CURRENT_INTERFACE_IMPLEMENTATION_NUMBER = @LIBMCRYPT_CURRENT_INTERFACE_IMPLEMENTATION_NUMBER@
|
||||
LIBMCRYPT_LIBS = @LIBMCRYPT_LIBS@
|
||||
LIBMCRYPT_MAJOR_VERSION = @LIBMCRYPT_MAJOR_VERSION@
|
||||
LIBMCRYPT_MICRO_VERSION = @LIBMCRYPT_MICRO_VERSION@
|
||||
LIBMCRYPT_MINOR_VERSION = @LIBMCRYPT_MINOR_VERSION@
|
||||
LIBMCRYPT_MOST_RECENT_INTERFACE = @LIBMCRYPT_MOST_RECENT_INTERFACE@
|
||||
LIBMCRYPT_OLDEST_INTERFACE = @LIBMCRYPT_OLDEST_INTERFACE@
|
||||
LIBMCRYPT_VERSION = @LIBMCRYPT_VERSION@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_AGE = @LT_AGE@
|
||||
LT_CURRENT = @LT_CURRENT@
|
||||
LT_REVISION = @LT_REVISION@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NOINSTALL_ALGORITHM_MODULES = @NOINSTALL_ALGORITHM_MODULES@
|
||||
NOINSTALL_MODE_MODULES = @NOINSTALL_MODE_MODULES@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
subdirs = @subdirs@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
INCLUDES = -I. -I.. $(INCLTDL) -I../modules/algorithms -I../modules/modes
|
||||
include_HEADERS = mcrypt.h
|
||||
EXTRA_DIST = libdefs.h bzero.h xmemory.h mcrypt_modules.h mcrypt_internal.h \
|
||||
libmcrypt.sym win32_comp.h mcrypt.h.in libmcrypt-config.in libmcrypt.m4
|
||||
|
||||
lib_LTLIBRARIES = libmcrypt.la
|
||||
|
||||
libmcrypt_la_SOURCES = mcrypt_extra.c mcrypt.c bzero.c xmemory.c mcrypt_modules.c win32_comp.c mcrypt_threads.c \
|
||||
mcrypt_symb.c
|
||||
|
||||
|
||||
libmcrypt_la_LDFLAGS = \
|
||||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
||||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
|
||||
-export-symbols libmcrypt.sym @LIBLTDL@
|
||||
|
||||
libmcrypt_la_LIBADD = @EXTRA_OBJECTS@
|
||||
|
||||
m4datadir = $(datadir)/aclocal
|
||||
m4data_DATA = libmcrypt.m4
|
||||
bin_SCRIPTS = libmcrypt-config
|
||||
subdir = lib
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES = mcrypt.h libmcrypt-config
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
|
||||
libmcrypt_la_DEPENDENCIES =
|
||||
am_libmcrypt_la_OBJECTS = mcrypt_extra.lo mcrypt.lo bzero.lo xmemory.lo \
|
||||
mcrypt_modules.lo win32_comp.lo mcrypt_threads.lo \
|
||||
mcrypt_symb.lo
|
||||
libmcrypt_la_OBJECTS = $(am_libmcrypt_la_OBJECTS)
|
||||
SCRIPTS = $(bin_SCRIPTS)
|
||||
|
||||
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bzero.Plo ./$(DEPDIR)/mcrypt.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/mcrypt_extra.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/mcrypt_modules.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/mcrypt_symb.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/mcrypt_threads.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/win32_comp.Plo ./$(DEPDIR)/xmemory.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
|
||||
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES = $(libmcrypt_la_SOURCES)
|
||||
DATA = $(m4data_DATA)
|
||||
|
||||
HEADERS = $(include_HEADERS)
|
||||
|
||||
DIST_COMMON = $(include_HEADERS) Makefile.am Makefile.in \
|
||||
libmcrypt-config.in mcrypt.h.in
|
||||
SOURCES = $(libmcrypt_la_SOURCES)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign lib/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
mcrypt.h: $(top_builddir)/config.status mcrypt.h.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
libmcrypt-config: $(top_builddir)/config.status libmcrypt-config.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
|
||||
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
|
||||
done
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" = "$$p" && dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
libmcrypt.la: $(libmcrypt_la_OBJECTS) $(libmcrypt_la_DEPENDENCIES)
|
||||
$(LINK) -rpath $(libdir) $(libmcrypt_la_LDFLAGS) $(libmcrypt_la_OBJECTS) $(libmcrypt_la_LIBADD) $(LIBS)
|
||||
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
|
||||
install-binSCRIPTS: $(bin_SCRIPTS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
if test -f $$d$$p; then \
|
||||
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
||||
echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \
|
||||
$(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-binSCRIPTS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(bin_SCRIPTS)'; for p in $$list; do \
|
||||
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
|
||||
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
|
||||
rm -f $(DESTDIR)$(bindir)/$$f; \
|
||||
done
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT) core *.core
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bzero.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcrypt.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcrypt_extra.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcrypt_modules.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcrypt_symb.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mcrypt_threads.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_comp.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmemory.Plo@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
m4dataDATA_INSTALL = $(INSTALL_DATA)
|
||||
install-m4dataDATA: $(m4data_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(m4datadir)
|
||||
@list='$(m4data_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(m4dataDATA_INSTALL) $$d$$p $(DESTDIR)$(m4datadir)/$$f"; \
|
||||
$(m4dataDATA_INSTALL) $$d$$p $(DESTDIR)$(m4datadir)/$$f; \
|
||||
done
|
||||
|
||||
uninstall-m4dataDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(m4data_DATA)'; for p in $$list; do \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " rm -f $(DESTDIR)$(m4datadir)/$$f"; \
|
||||
rm -f $(DESTDIR)$(m4datadir)/$$f; \
|
||||
done
|
||||
includeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||
install-includeHEADERS: $(include_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(includedir)
|
||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f"; \
|
||||
$(includeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(includedir)/$$f; \
|
||||
done
|
||||
|
||||
uninstall-includeHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " rm -f $(DESTDIR)$(includedir)/$$f"; \
|
||||
rm -f $(DESTDIR)$(includedir)/$$f; \
|
||||
done
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(SCRIPTS) $(DATA) $(HEADERS)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(m4datadir) $(DESTDIR)$(includedir)
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-includeHEADERS install-m4dataDATA
|
||||
|
||||
install-exec-am: install-binSCRIPTS install-libLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS \
|
||||
uninstall-info-am uninstall-libLTLIBRARIES uninstall-m4dataDATA
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libLTLIBRARIES clean-libtool clean-local ctags distclean \
|
||||
distclean-compile distclean-depend distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am info \
|
||||
info-am install install-am install-binSCRIPTS install-data \
|
||||
install-data-am install-exec install-exec-am \
|
||||
install-includeHEADERS install-info install-info-am \
|
||||
install-libLTLIBRARIES install-m4dataDATA install-man \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
|
||||
pdf-am ps ps-am tags uninstall uninstall-am \
|
||||
uninstall-binSCRIPTS uninstall-includeHEADERS uninstall-info-am \
|
||||
uninstall-libLTLIBRARIES uninstall-m4dataDATA
|
||||
|
||||
|
||||
mcrypt_symb.c: mcrypt_internal.h
|
||||
@echo "#include \"mcrypt_internal.h\"" > mcrypt_symb.c
|
||||
@echo "" >> mcrypt_symb.c
|
||||
@echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
|
||||
@echo "" >> mcrypt_symb.c
|
||||
-@for i in $(EXTRA_ALGOS); do \
|
||||
if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
done
|
||||
@echo "" >> mcrypt_symb.c
|
||||
@echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
|
||||
-@for i in $(EXTRA_ALGOS); do \
|
||||
if test -f ../modules/modes/$$i.c; then echo " {\"$$i\", NULL}, " >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/algorithms/$$i.c; then echo " {\"$$i\", NULL}, " >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "\t{\""$$3"\", "$$3"},";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "\t{\""$$3"\", "$$3"},";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
done
|
||||
@echo " {NULL, NULL}" >> mcrypt_symb.c
|
||||
@echo "};" >> mcrypt_symb.c
|
||||
|
||||
clean-local:
|
||||
-rm mcrypt_symb.c
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999 Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: bzero.c,v 1.1.1.1 2000/05/22 13:07:51 nmav Exp $ */
|
||||
|
||||
#ifndef LIBDEFS_H
|
||||
# define LIBDEFS_H
|
||||
|
||||
# include <libdefs.h>
|
||||
#endif
|
||||
|
||||
void Bzero(void *s, size_t n)
|
||||
{
|
||||
#ifdef HAVE_MEMSET
|
||||
memset( (void*) s, '\0', (size_t) n);
|
||||
#else
|
||||
# ifdef HAVE_BZERO
|
||||
bzero( (void*) s, (size_t) n);
|
||||
# else
|
||||
char *stmp = s;
|
||||
|
||||
for (int i = 0; i < n; i++)
|
||||
stmp[i] = '\0';
|
||||
|
||||
# endif
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
void Bzero( void *s, size_t n);
|
||||
@@ -0,0 +1,108 @@
|
||||
#ifndef ILIBDEFS_H
|
||||
# define ILIBDEFS_H
|
||||
|
||||
/* MAX_THREADS removed by Steve Underwood 1999/12/10 */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
|
||||
#include "win32_comp.h"
|
||||
|
||||
#ifdef USE_LTDL
|
||||
# include <ltdl.h>
|
||||
#else
|
||||
# define lt_dlexit() 0
|
||||
# define lt_dlinit() 0
|
||||
# define lt_dlclose(x) 0
|
||||
# define lt_dlsym(x,y) 0
|
||||
# define lt_dlhandle void*
|
||||
# define lt_ptr_t void*
|
||||
# define lt_dlerror() 0
|
||||
# define lt_dlopenext(x) 0
|
||||
# define lt_dlsetsearchpath(x) 0
|
||||
#endif
|
||||
|
||||
#ifdef STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <stdio.h>
|
||||
# include <ctype.h>
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRINGS_H
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_ENDIAN_H
|
||||
# include <sys/endian.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MACHINE_ENDIAN_H
|
||||
# include <machine/endian.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ENDIAN_H
|
||||
# include <endian.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_BYTESWAP_H
|
||||
# include <byteswap.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef HAVE_READDIR_R
|
||||
# define _POSIX_C_SOURCE 199506L
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DIRENT_H
|
||||
# include <dirent.h>
|
||||
#endif
|
||||
|
||||
#if SIZEOF_UNSIGNED_LONG_INT == 4
|
||||
typedef unsigned long word32;
|
||||
typedef signed long sword32;
|
||||
#elif SIZEOF_UNSIGNED_INT == 4
|
||||
typedef unsigned int word32;
|
||||
typedef signed int sword32;
|
||||
#else
|
||||
# error "Cannot find a 32 bit integer in your system, sorry."
|
||||
#endif
|
||||
|
||||
#if SIZEOF_UNSIGNED_INT == 2
|
||||
typedef unsigned int word16;
|
||||
#elif SIZEOF_UNSIGNED_SHORT_INT == 2
|
||||
typedef unsigned short word16;
|
||||
#else
|
||||
# error "Cannot find a 16 bit integer in your system, sorry."
|
||||
#endif
|
||||
|
||||
#if SIZEOF_UNSIGNED_CHAR == 1
|
||||
typedef unsigned char byte;
|
||||
#else
|
||||
# error "Cannot find an 8 bit char in your system, sorry."
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_MEMMOVE
|
||||
# ifdef HAVE_BCOPY
|
||||
# define memmove(d, s, n) bcopy ((s), (d), (n))
|
||||
# else
|
||||
# error "Neither memmove nor bcopy exists on your system."
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef USE_DMALLOC
|
||||
# include <dmalloc.h>
|
||||
#endif
|
||||
|
||||
#endif /* LIBDEFS_H */
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
#!/bin/sh
|
||||
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
exec_prefix_set=no
|
||||
|
||||
mcrypt_libs="@LIBMCRYPT_LIBS@"
|
||||
mcrypt_cflags="@LIBMCRYPT_CFLAGS@"
|
||||
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EOF
|
||||
Usage: libmcrypt-config [OPTIONS]
|
||||
Options:
|
||||
[--prefix[=DIR]]
|
||||
[--exec-prefix[=DIR]]
|
||||
[--version]
|
||||
[--libs]
|
||||
[--cflags]
|
||||
EOF
|
||||
exit $1
|
||||
}
|
||||
|
||||
if test $# -eq 0; then
|
||||
usage 1 1>&2
|
||||
fi
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) optarg= ;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
--prefix=*)
|
||||
prefix=$optarg
|
||||
if test $exec_prefix_set = no ; then
|
||||
exec_prefix=$optarg
|
||||
fi
|
||||
;;
|
||||
--prefix)
|
||||
echo_prefix=yes
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
exec_prefix=$optarg
|
||||
exec_prefix_set=yes
|
||||
;;
|
||||
--exec-prefix)
|
||||
echo_exec_prefix=yes
|
||||
;;
|
||||
--version)
|
||||
echo "@VERSION@"
|
||||
exit 0
|
||||
;;
|
||||
--cflags)
|
||||
echo_cflags=yes
|
||||
;;
|
||||
--libs)
|
||||
echo_libs=yes
|
||||
;;
|
||||
*)
|
||||
usage 1 1>&2
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test "$echo_prefix" = "yes"; then
|
||||
echo $prefix
|
||||
fi
|
||||
|
||||
if test "$echo_exec_prefix" = "yes"; then
|
||||
echo $exec_prefix
|
||||
fi
|
||||
|
||||
if test "$echo_cflags" = "yes"; then
|
||||
if test "@includedir@" != "/usr/include" ; then
|
||||
includes="-I@includedir@"
|
||||
for i in $mcrypt_cflags ; do
|
||||
if test "$i" = "-I@includedir@" ; then
|
||||
includes=""
|
||||
fi
|
||||
done
|
||||
fi
|
||||
echo $includes $mcrypt_cflags
|
||||
fi
|
||||
|
||||
if test "$echo_libs" = "yes"; then
|
||||
echo ${mcrypt_libs}
|
||||
fi
|
||||
|
||||
|
||||
@@ -0,0 +1,248 @@
|
||||
dnl Autoconf macros for libmcrypt
|
||||
dnl $id$
|
||||
|
||||
# This script detects libmcrypt version and defines
|
||||
# LIBMCRYPT_CFLAGS, LIBMCRYPT_LIBS
|
||||
# and LIBMCRYPT24 or LIBMCRYPT22 depending on libmcrypt version
|
||||
# found.
|
||||
|
||||
# Modified for LIBMCRYPT -- nmav
|
||||
# Configure paths for LIBGCRYPT
|
||||
# Shamelessly stolen from the one of XDELTA by Owen Taylor
|
||||
# Werner Koch 99-12-09
|
||||
|
||||
dnl AM_PATH_LIBMCRYPT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
|
||||
dnl Test for libmcrypt, and define LIBMCRYPT_CFLAGS and LIBMCRYPT_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AM_PATH_LIBMCRYPT,
|
||||
[dnl
|
||||
dnl Get the cflags and libraries from the libmcrypt-config script
|
||||
dnl
|
||||
AC_ARG_WITH(libmcrypt-prefix,
|
||||
[ --with-libmcrypt-prefix=PFX Prefix where libmcrypt is installed (optional)],
|
||||
libmcrypt_config_prefix="$withval", libmcrypt_config_prefix="")
|
||||
|
||||
if test x$libmcrypt_config_prefix != x ; then
|
||||
libmcrypt_config_args="$libmcrypt_config_args --prefix=$libmcrypt_config_prefix"
|
||||
if test x${LIBMCRYPT_CONFIG+set} != xset ; then
|
||||
LIBMCRYPT_CONFIG=$libmcrypt_config_prefix/bin/libmcrypt-config
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(LIBMCRYPT_CONFIG, libmcrypt-config, no)
|
||||
min_libmcrypt_version=ifelse([$1], ,2.4.0,$1)
|
||||
AC_MSG_CHECKING(for libmcrypt - version >= $min_libmcrypt_version)
|
||||
no_libmcrypt=""
|
||||
if test "$LIBMCRYPT_CONFIG" = "no" ; then
|
||||
dnl libmcrypt-config was not found (pre 2.4.11 versions)
|
||||
dnl Try to detect libmcrypt version
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <mcrypt.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#if MCRYPT_API_VERSION <= 19991015
|
||||
/* version 2.2 */
|
||||
return 0;
|
||||
#else
|
||||
/* version 2.4 */
|
||||
return 1;
|
||||
#endif /* 19991015 */
|
||||
}
|
||||
], libmcrypt_config_version="2.2.0"
|
||||
if test x$libmcrypt_config_prefix != x ; then
|
||||
TTLIBS="-L${libmcrypt_config_prefix}/libs"
|
||||
TTINCLUDE="-I${libmcrypt_config_prefix}/include"
|
||||
fi
|
||||
LIBMCRYPT_CFLAGS="${TTINCLUDE}"
|
||||
LIBMCRYPT_LIBS="${TTLIBS} -lmcrypt"
|
||||
AC_DEFINE(LIBMCRYPT22, 1, [have libmcrypt 2.2])
|
||||
|
||||
, libmcrypt_config_version="2.4.0"
|
||||
if test x$libmcrypt_config_prefix != x ; then
|
||||
TTLIBS="-L${libmcrypt_config_prefix}/libs"
|
||||
TTINCLUDE="-I${libmcrypt_config_prefix}/include"
|
||||
fi
|
||||
LIBMCRYPT_CFLAGS="${TTINCLUDE}"
|
||||
LIBMCRYPT_LIBS="${TTLIBS} -lmcrypt -lltdl ${LIBADD_DL}"
|
||||
AC_DEFINE(LIBMCRYPT24, 1, [have libmcrypt 2.4]))
|
||||
else
|
||||
dnl libmcrypt-config was found
|
||||
LIBMCRYPT_CFLAGS=`$LIBMCRYPT_CONFIG $libmcrypt_config_args --cflags`
|
||||
LIBMCRYPT_LIBS=`$LIBMCRYPT_CONFIG $libmcrypt_config_args --libs`
|
||||
libmcrypt_config_version=`$LIBMCRYPT_CONFIG $libmcrypt_config_args --version`
|
||||
AC_DEFINE(LIBMCRYPT24, 1, [have libmcrypt 2.4])
|
||||
fi
|
||||
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $LIBMCRYPT_CFLAGS"
|
||||
LIBS="$LIBS $LIBMCRYPT_LIBS"
|
||||
|
||||
dnl
|
||||
dnl Now check if the installed libmcrypt is sufficiently new. Also sanity
|
||||
dnl checks the results of libmcrypt-config to some extent
|
||||
dnl
|
||||
rm -f conf.libmcrypttest
|
||||
AC_TRY_RUN([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <mcrypt.h>
|
||||
|
||||
#define TWO "2.2"
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#if MCRYPT_API_VERSION <= 20010201
|
||||
|
||||
#if MCRYPT_API_VERSION <= 19991015
|
||||
/* version 2.2 */
|
||||
int x = mcrypt_get_key_size(MCRYPT_TWOFISH_128);
|
||||
system ("touch conf.libmcrypttest");
|
||||
|
||||
if( strncmp( TWO, "$min_libmcrypt_version", strlen(TWO))) {
|
||||
printf("\n*** Requested libmcrypt %s, but LIBMCRYPT (%s)\n",
|
||||
"$min_libmcrypt_version", TWO );
|
||||
printf("*** was found!\n");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
#else
|
||||
/* version 2.4 before 11 */
|
||||
MCRYPT td = mcrypt_module_open("twofish", NULL, "cbc", NULL);
|
||||
system ("touch conf.libmcrypttest");
|
||||
mcrypt_module_close(td);
|
||||
|
||||
return 0;
|
||||
#endif /* 19991015 */
|
||||
|
||||
#else
|
||||
|
||||
system ("touch conf.libmcrypttest");
|
||||
|
||||
if( strcmp( mcrypt_check_version(NULL), "$libmcrypt_config_version" ) )
|
||||
{
|
||||
printf("\n*** 'libmcrypt-config --version' returned %s, but LIBMCRYPT (%s)\n",
|
||||
"$libmcrypt_config_version", mcrypt_check_version(NULL) );
|
||||
printf("*** was found! If libmcrypt-config was correct, then it is best\n");
|
||||
printf("*** to remove the old version of LIBMCRYPT. You may also be able to fix the error\n");
|
||||
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
|
||||
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
|
||||
printf("*** required on your system.\n");
|
||||
printf("*** If libmcrypt-config was wrong, set the environment variable LIBMCRYPT_CONFIG\n");
|
||||
printf("*** to point to the correct copy of libmcrypt-config, and remove the file config.cache\n");
|
||||
printf("*** before re-running configure\n");
|
||||
}
|
||||
else if ( strcmp(mcrypt_check_version(NULL), LIBMCRYPT_VERSION ) )
|
||||
{
|
||||
printf("\n*** LIBMCRYPT header file (version %s) does not match\n", LIBMCRYPT_VERSION);
|
||||
printf("*** library (version %s)\n", mcrypt_check_version(NULL) );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( mcrypt_check_version( "$min_libmcrypt_version" ) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("no\n*** An old version of LIBMCRYPT (%s) was found.\n",
|
||||
mcrypt_check_version(NULL) );
|
||||
printf("*** You need a version of LIBMCRYPT newer than %s. The latest version of\n",
|
||||
"$min_libmcrypt_version" );
|
||||
printf("*** LIBMCRYPT is always available from ftp://mcrypt.hellug.gr/pub/mcrypt.\n");
|
||||
printf("*** \n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
printf("*** probably means that the wrong copy of the libmcrypt-config shell script is\n");
|
||||
printf("*** being found. The easiest way to fix this is to remove the old version\n");
|
||||
printf("*** of LIBMCRYPT, but you can also set the LIBMCRYPT_CONFIG environment to point to the\n");
|
||||
printf("*** correct copy of libmcrypt-config. (In this case, you will have to\n");
|
||||
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
#endif /* 20010201 */
|
||||
|
||||
}
|
||||
],, no_libmcrypt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
|
||||
|
||||
if test "x$no_libmcrypt" = x ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
if test -f conf.libmcrypttest ; then
|
||||
:
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
if test -f conf.libmcrypttest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run libmcrypt test program, checking why..."
|
||||
CFLAGS="$CFLAGS $LIBMCRYPT_CFLAGS"
|
||||
LIBS="$LIBS $LIBMCRYPT_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <mcrypt.h>
|
||||
], [
|
||||
#if MCRYPT_API_VERSION <= 20010201
|
||||
|
||||
#if MCRYPT_API_VERSION <= 19991015
|
||||
/* version 2.2 */
|
||||
int x = mcrypt_get_key_size(MCRYPT_TWOFISH_128);
|
||||
return 0;
|
||||
#else
|
||||
/* version 2.4 before 11 */
|
||||
MCRYPT td = mcrypt_module_open("twofish", NULL, "cbc", NULL);
|
||||
mcrypt_module_close(td);
|
||||
return 0;
|
||||
#endif /* 19991015 */
|
||||
#else
|
||||
|
||||
return !!mcrypt_check_version(NULL);
|
||||
|
||||
#endif /* 20010201 */
|
||||
|
||||
],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding LIBMCRYPT or finding the wrong"
|
||||
echo "*** version of LIBMCRYPT. If it is not finding LIBMCRYPT, you'll need to set your"
|
||||
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
||||
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
||||
echo "*** is required on your system"
|
||||
echo "***"
|
||||
echo "*** If you have an old version installed, it is best to remove it, although"
|
||||
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
|
||||
echo "***" ],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means LIBMCRYPT was incorrectly installed"
|
||||
echo "*** or that you have moved LIBMCRYPT since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the libmcrypt-config script: $LIBMCRYPT_CONFIG" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
|
||||
LIBMCRYPT_CFLAGS=""
|
||||
LIBMCRYPT_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
rm -f conf.libmcrypttest
|
||||
AC_SUBST(LIBMCRYPT_CFLAGS)
|
||||
AC_SUBST(LIBMCRYPT_LIBS)
|
||||
])
|
||||
|
||||
dnl *-*wedit:notab*-* Please keep this as the last line.
|
||||
@@ -0,0 +1,38 @@
|
||||
mcrypt_generic_deinit
|
||||
mcrypt_module_open
|
||||
mcrypt_module_close
|
||||
mcrypt_generic_init
|
||||
mcrypt_generic_end
|
||||
mdecrypt_generic
|
||||
mcrypt_generic
|
||||
mcrypt_enc_self_test
|
||||
mcrypt_enc_get_block_size
|
||||
mcrypt_enc_get_iv_size
|
||||
mcrypt_enc_get_key_size
|
||||
mcrypt_enc_is_block_algorithm
|
||||
mcrypt_enc_is_block_mode
|
||||
mcrypt_enc_is_block_algorithm_mode
|
||||
mcrypt_enc_mode_has_iv
|
||||
mcrypt_enc_get_algorithms_name
|
||||
mcrypt_enc_get_modes_name
|
||||
mcrypt_enc_get_supported_key_sizes
|
||||
mcrypt_list_algorithms
|
||||
mcrypt_list_modes
|
||||
mcrypt_free_p
|
||||
mcrypt_free
|
||||
mcrypt_perror
|
||||
mcrypt_strerror
|
||||
mcrypt_module_self_test
|
||||
mcrypt_module_is_block_algorithm
|
||||
mcrypt_module_is_block_algorithm_mode
|
||||
mcrypt_module_is_block_mode
|
||||
mcrypt_module_get_algo_key_size
|
||||
mcrypt_module_get_algo_block_size
|
||||
mcrypt_module_get_algo_supported_key_sizes
|
||||
mcrypt_module_algorithm_version
|
||||
mcrypt_module_mode_version
|
||||
mcrypt_enc_set_state
|
||||
mcrypt_enc_get_state
|
||||
mcrypt_check_version
|
||||
mcrypt_mutex_register
|
||||
mcrypt_module_support_dynamic
|
||||
@@ -0,0 +1,258 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999,2000 Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Library General Public License as published
|
||||
* by the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: mcrypt.c,v 1.19 2002/07/06 10:18:18 nmav Exp $ */
|
||||
|
||||
/* Changed by Steve Underwood 1999/12/10 to allow an arbitrary number of
|
||||
* streams of encryption. Currently the resulting code is probably not
|
||||
* thread safe, but as far as I could tell the previous code wasn't
|
||||
* either. This version has brute force locking in a lot of places, but
|
||||
* it has not been tested in a multi-threaded manner.
|
||||
* The key locking issue is that the table of encryption streams could
|
||||
* be moved when it is extended. Any address pre-calculated, or in
|
||||
* calculation at the time of the reallocation would be screwed.
|
||||
* This won't happen often, but requires lots of locks - PITA!
|
||||
*/
|
||||
|
||||
/* Changed again at 1999/12/15 to correct the thread safeness. Now it
|
||||
* seems to be thread safe. Brute force locking was removed and
|
||||
* locks per thread were introduced.
|
||||
* --nikos
|
||||
*/
|
||||
|
||||
/* The above comments are too old! */
|
||||
|
||||
#ifndef LIBDEFS_H
|
||||
#define LIBDEFS_H
|
||||
#include <libdefs.h>
|
||||
#endif
|
||||
#include <bzero.h>
|
||||
#include <xmemory.h>
|
||||
#include <mcrypt_internal.h>
|
||||
|
||||
#if 0
|
||||
static int preloaded_symbols = 0;
|
||||
#endif
|
||||
|
||||
static int internal_end_mcrypt(MCRYPT td);
|
||||
|
||||
static int internal_init_mcrypt(MCRYPT td, const void *key, int lenofkey, const void *IV)
|
||||
{
|
||||
int *sizes = NULL;
|
||||
int num_of_sizes, i, ok = 0;
|
||||
int key_size = mcrypt_enc_get_key_size(td);
|
||||
|
||||
if (lenofkey > key_size || lenofkey==0) {
|
||||
return MCRYPT_KEY_LEN_ERROR; /* error */
|
||||
}
|
||||
|
||||
sizes = mcrypt_enc_get_supported_key_sizes(td, &num_of_sizes);
|
||||
if (sizes != NULL) {
|
||||
for (i = 0; i < num_of_sizes; i++) {
|
||||
if (lenofkey == sizes[i]) {
|
||||
ok = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else { /* sizes==NULL */
|
||||
if (num_of_sizes == 0
|
||||
&& lenofkey <= mcrypt_enc_get_key_size(td))
|
||||
ok = 1;
|
||||
}
|
||||
|
||||
|
||||
if (ok == 0) { /* not supported key size */
|
||||
key_size = mcrypt_enc_get_key_size(td);
|
||||
if (sizes != NULL) {
|
||||
for (i = 0; i < num_of_sizes; i++) {
|
||||
if (lenofkey <= sizes[i]) {
|
||||
key_size = sizes[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else { /* well every key size is supported! */
|
||||
key_size = lenofkey;
|
||||
}
|
||||
} else {
|
||||
key_size = lenofkey;
|
||||
}
|
||||
free(sizes);
|
||||
|
||||
td->keyword_given = mxcalloc(1, mcrypt_enc_get_key_size(td));
|
||||
if (td->keyword_given==NULL) return MCRYPT_MEMORY_ALLOCATION_ERROR;
|
||||
|
||||
memmove(td->keyword_given, key, lenofkey);
|
||||
i = mcrypt_get_size(td);
|
||||
td->akey = mxcalloc(1, i);
|
||||
if (td->akey==NULL) {
|
||||
free(td->keyword_given);
|
||||
return MCRYPT_MEMORY_ALLOCATION_ERROR;
|
||||
}
|
||||
i = mcrypt_mode_get_size(td);
|
||||
if (i > 0) {
|
||||
td->abuf = mxcalloc(1, i);
|
||||
if (td->abuf==NULL) {
|
||||
free(td->keyword_given);
|
||||
free(td->akey);
|
||||
return MCRYPT_MEMORY_ALLOCATION_ERROR;
|
||||
}
|
||||
}
|
||||
ok = init_mcrypt(td, td->abuf, key, key_size, IV);
|
||||
if (ok!=0) {
|
||||
free(td->keyword_given);
|
||||
free(td->akey);
|
||||
free(td->abuf);
|
||||
return MCRYPT_UNKNOWN_ERROR; /* algorithm error */
|
||||
}
|
||||
|
||||
ok = mcrypt_set_key(td,
|
||||
(void *) td->akey,
|
||||
(void *) td->keyword_given,
|
||||
key_size, IV, IV!=NULL ? mcrypt_enc_get_iv_size(td) : 0);
|
||||
|
||||
if (ok!=0) {
|
||||
internal_end_mcrypt(td);
|
||||
return MCRYPT_UNKNOWN_ERROR; /* algorithm error */
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int internal_end_mcrypt(MCRYPT td)
|
||||
{
|
||||
mxfree(td->keyword_given, mcrypt_enc_get_key_size(td));
|
||||
td->keyword_given = NULL;
|
||||
|
||||
mxfree(td->akey, mcrypt_get_size(td));
|
||||
td->akey = NULL;
|
||||
|
||||
end_mcrypt(td, td->abuf);
|
||||
if (td->abuf!=NULL) mxfree(td->abuf, mcrypt_mode_get_size(td));
|
||||
td->abuf = NULL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Generic - High level functions */
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_generic_init(const MCRYPT td, const void *key, int lenofkey, const void *IV)
|
||||
{
|
||||
return internal_init_mcrypt(td, key, lenofkey, IV);
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_generic(MCRYPT td, void *plaintext, int len)
|
||||
{
|
||||
int x;
|
||||
|
||||
x = mcrypt(td, td->abuf, plaintext, len);
|
||||
return x;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mdecrypt_generic(MCRYPT td, void *ciphertext, int len)
|
||||
{
|
||||
int x;
|
||||
x = mdecrypt(td, td->abuf, ciphertext, len);
|
||||
return x;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_generic_end( MCRYPT td)
|
||||
{
|
||||
if (td==NULL) return MCRYPT_UNKNOWN_ERROR;
|
||||
|
||||
if (td->keyword_given!=NULL)
|
||||
internal_end_mcrypt(td);
|
||||
mcrypt_module_close(td);
|
||||
return 0;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_generic_deinit( MCRYPT td)
|
||||
{
|
||||
if (td==NULL || td->keyword_given==NULL) return MCRYPT_UNKNOWN_ERROR;
|
||||
|
||||
internal_end_mcrypt(td);
|
||||
return 0;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
void mcrypt_perror(int err)
|
||||
{
|
||||
|
||||
switch (err) {
|
||||
case MCRYPT_UNKNOWN_ERROR:
|
||||
fprintf(stderr, "Unknown error.\n");
|
||||
break;
|
||||
case MCRYPT_ALGORITHM_MODE_INCOMPATIBILITY:
|
||||
fprintf(stderr,
|
||||
"Algorithm incompatible with this mode.\n");
|
||||
break;
|
||||
case MCRYPT_KEY_LEN_ERROR:
|
||||
fprintf(stderr, "Key length is not legal.\n");
|
||||
break;
|
||||
case MCRYPT_MEMORY_ALLOCATION_ERROR:
|
||||
fprintf(stderr, "Memory allocation failed.\n");
|
||||
break;
|
||||
case MCRYPT_UNKNOWN_MODE:
|
||||
fprintf(stderr, "Unknown mode.\n");
|
||||
break;
|
||||
case MCRYPT_UNKNOWN_ALGORITHM:
|
||||
fprintf(stderr, "Unknown algorithm.\n");
|
||||
break;
|
||||
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
const char* mcrypt_strerror(int err)
|
||||
{
|
||||
|
||||
switch (err) {
|
||||
case MCRYPT_UNKNOWN_ERROR:
|
||||
return "Unknown error.\n";
|
||||
break;
|
||||
case MCRYPT_ALGORITHM_MODE_INCOMPATIBILITY:
|
||||
return "Algorithm incompatible with this mode.\n";
|
||||
break;
|
||||
case MCRYPT_KEY_LEN_ERROR:
|
||||
return "Key length is not legal.\n";
|
||||
break;
|
||||
case MCRYPT_MEMORY_ALLOCATION_ERROR:
|
||||
return "Memory allocation failed.\n";
|
||||
break;
|
||||
case MCRYPT_UNKNOWN_MODE:
|
||||
return "Unknown mode.\n";
|
||||
break;
|
||||
case MCRYPT_UNKNOWN_ALGORITHM:
|
||||
return "Unknown algorithm.\n";
|
||||
break;
|
||||
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
void mcrypt_free(void *ptr)
|
||||
{
|
||||
free(ptr);
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999,2002 Nikos Mavroyanopoulos
|
||||
*
|
||||
* Encryption/decryption library. This library is free software;
|
||||
* you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Library General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
|
||||
#define MCRYPT_API_VERSION 20021217
|
||||
|
||||
#define LIBMCRYPT_VERSION "2.5.7"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/* Definitions
|
||||
*/
|
||||
#define MCRYPT_FAILED 0x0
|
||||
|
||||
struct CRYPT_STREAM;
|
||||
typedef struct CRYPT_STREAM *MCRYPT;
|
||||
|
||||
/* generic - high level functions.
|
||||
*/
|
||||
MCRYPT mcrypt_module_open(char *algorithm,
|
||||
char *a_directory, char *mode,
|
||||
char *m_directory);
|
||||
int mcrypt_module_close(MCRYPT td);
|
||||
|
||||
/* returns 0 if the library has not been compiled with
|
||||
* dynamic module support.
|
||||
*/
|
||||
int mcrypt_module_support_dynamic(void);
|
||||
|
||||
/* returns thread descriptor */
|
||||
|
||||
int mcrypt_generic_init(const MCRYPT td, void *key, int lenofkey,
|
||||
void *IV);
|
||||
int mcrypt_generic_deinit(const MCRYPT td);
|
||||
int mcrypt_generic_end(const MCRYPT td);
|
||||
int mdecrypt_generic(MCRYPT td, void *plaintext, int len);
|
||||
int mcrypt_generic(MCRYPT td, void *plaintext, int len);
|
||||
|
||||
/* extra functions */
|
||||
|
||||
int mcrypt_enc_set_state(MCRYPT td, void *st, int size);
|
||||
int mcrypt_enc_get_state(MCRYPT td, void *st, int *size); /* only
|
||||
* for block algorithms and certain modes like cbc
|
||||
* ncfb etc.
|
||||
*/
|
||||
int (mcrypt_enc_self_test) (MCRYPT);
|
||||
int (mcrypt_enc_get_block_size) (MCRYPT);
|
||||
int (mcrypt_enc_get_iv_size) (MCRYPT);
|
||||
int (mcrypt_enc_get_key_size) (MCRYPT);
|
||||
|
||||
/* If this is a block algorithm returns 1
|
||||
*/
|
||||
int (mcrypt_enc_is_block_algorithm) (MCRYPT);
|
||||
|
||||
/* If the mode operates in blocks returns 1
|
||||
*/
|
||||
int (mcrypt_enc_is_block_mode) (MCRYPT);
|
||||
|
||||
/* If the mode is for block algorithms it returns 1
|
||||
*/
|
||||
int (mcrypt_enc_is_block_algorithm_mode) (MCRYPT td);
|
||||
int mcrypt_enc_mode_has_iv(MCRYPT td);
|
||||
|
||||
/* Return a const string containing the name of the algorithm/mode
|
||||
*/
|
||||
char *(mcrypt_enc_get_algorithms_name) (MCRYPT td);
|
||||
char *(mcrypt_enc_get_modes_name) (MCRYPT td);
|
||||
|
||||
int *mcrypt_enc_get_supported_key_sizes(MCRYPT td, int *len);
|
||||
|
||||
|
||||
char **mcrypt_list_algorithms(char *libdir, int *size);
|
||||
char **mcrypt_list_modes(char *libdir, int *size);
|
||||
|
||||
/* Frees the memory allocated by the mcrypt_list_xxx() functions.
|
||||
*/
|
||||
void mcrypt_free_p(char **p, int size);
|
||||
void mcrypt_free(void *ptr);
|
||||
|
||||
/* If mcrypt_xxx functions return an error code, and you supply this
|
||||
* to this function, it will print a human readable message
|
||||
*/
|
||||
void mcrypt_perror(int err);
|
||||
const char* mcrypt_strerror(int err);
|
||||
|
||||
/* Self test for the specified algorithm
|
||||
*/
|
||||
int mcrypt_module_self_test(char *algorithm, char *a_directory);
|
||||
|
||||
int mcrypt_module_is_block_algorithm(char *algorithm,
|
||||
char *a_directory);
|
||||
int mcrypt_module_is_block_algorithm_mode(char *mode,
|
||||
char *m_directory);
|
||||
int mcrypt_module_is_block_mode(char *mode, char *m_directory);
|
||||
|
||||
int mcrypt_module_get_algo_key_size(char *algorithm,
|
||||
char *a_directory);
|
||||
int mcrypt_module_get_algo_block_size(char *algorithm,
|
||||
char *a_directory);
|
||||
|
||||
int *mcrypt_module_get_algo_supported_key_sizes(char *algorithm,
|
||||
char *a_directory,
|
||||
int *len);
|
||||
|
||||
/* Checks the version of the specified module
|
||||
*/
|
||||
int mcrypt_module_algorithm_version(char *algorithm,
|
||||
char *a_directory);
|
||||
int mcrypt_module_mode_version(char *mode, char *a_directory);
|
||||
|
||||
|
||||
/* for multithreaded applications:
|
||||
*/
|
||||
int mcrypt_mutex_register ( void (*mutex_lock)(void) ,
|
||||
void (*mutex_unlock)(void),
|
||||
void (*set_error)(const char*),
|
||||
const char* (*get_error)(void));
|
||||
|
||||
const char *
|
||||
mcrypt_check_version( const char *);
|
||||
|
||||
/* These definitions exist in order to ease the access to
|
||||
* mcrypt_module_init().
|
||||
*/
|
||||
|
||||
/* Algorithms */
|
||||
#define MCRYPT_BLOWFISH "blowfish"
|
||||
#define MCRYPT_DES "des"
|
||||
#define MCRYPT_3DES "tripledes"
|
||||
#define MCRYPT_3WAY "threeway"
|
||||
#define MCRYPT_GOST "gost"
|
||||
#define MCRYPT_SAFER_SK64 "safer-sk64"
|
||||
#define MCRYPT_SAFER_SK128 "safer-sk128"
|
||||
#define MCRYPT_CAST_128 "cast-128"
|
||||
#define MCRYPT_XTEA "xtea"
|
||||
#define MCRYPT_RC2 "rc2"
|
||||
#define MCRYPT_TWOFISH "twofish"
|
||||
#define MCRYPT_CAST_256 "cast-256"
|
||||
#define MCRYPT_SAFERPLUS "saferplus"
|
||||
#define MCRYPT_LOKI97 "loki97"
|
||||
#define MCRYPT_SERPENT "serpent"
|
||||
#define MCRYPT_RIJNDAEL_128 "rijndael-128"
|
||||
#define MCRYPT_RIJNDAEL_192 "rijndael-192"
|
||||
#define MCRYPT_RIJNDAEL_256 "rijndael-256"
|
||||
#define MCRYPT_ENIGMA "enigma"
|
||||
#define MCRYPT_ARCFOUR "arcfour"
|
||||
#define MCRYPT_WAKE "wake"
|
||||
|
||||
/* Modes */
|
||||
#define MCRYPT_CBC "cbc"
|
||||
#define MCRYPT_ECB "ecb"
|
||||
#define MCRYPT_CFB "cfb"
|
||||
#define MCRYPT_OFB "ofb"
|
||||
#define MCRYPT_nOFB "nofb"
|
||||
#define MCRYPT_STREAM "stream"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,177 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999,2002 Nikos Mavroyanopoulos
|
||||
*
|
||||
* Encryption/decryption library. This library is free software;
|
||||
* you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Library General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
|
||||
#define MCRYPT_API_VERSION 20021217
|
||||
|
||||
#define LIBMCRYPT_VERSION "@VERSION@"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
/* Definitions
|
||||
*/
|
||||
#define MCRYPT_FAILED 0x0
|
||||
|
||||
struct CRYPT_STREAM;
|
||||
typedef struct CRYPT_STREAM *MCRYPT;
|
||||
|
||||
/* generic - high level functions.
|
||||
*/
|
||||
MCRYPT mcrypt_module_open(char *algorithm,
|
||||
char *a_directory, char *mode,
|
||||
char *m_directory);
|
||||
int mcrypt_module_close(MCRYPT td);
|
||||
|
||||
/* returns 0 if the library has not been compiled with
|
||||
* dynamic module support.
|
||||
*/
|
||||
int mcrypt_module_support_dynamic(void);
|
||||
|
||||
/* returns thread descriptor */
|
||||
|
||||
int mcrypt_generic_init(const MCRYPT td, void *key, int lenofkey,
|
||||
void *IV);
|
||||
int mcrypt_generic_deinit(const MCRYPT td);
|
||||
int mcrypt_generic_end(const MCRYPT td);
|
||||
int mdecrypt_generic(MCRYPT td, void *plaintext, int len);
|
||||
int mcrypt_generic(MCRYPT td, void *plaintext, int len);
|
||||
|
||||
/* extra functions */
|
||||
|
||||
int mcrypt_enc_set_state(MCRYPT td, void *st, int size);
|
||||
int mcrypt_enc_get_state(MCRYPT td, void *st, int *size); /* only
|
||||
* for block algorithms and certain modes like cbc
|
||||
* ncfb etc.
|
||||
*/
|
||||
int (mcrypt_enc_self_test) (MCRYPT);
|
||||
int (mcrypt_enc_get_block_size) (MCRYPT);
|
||||
int (mcrypt_enc_get_iv_size) (MCRYPT);
|
||||
int (mcrypt_enc_get_key_size) (MCRYPT);
|
||||
|
||||
/* If this is a block algorithm returns 1
|
||||
*/
|
||||
int (mcrypt_enc_is_block_algorithm) (MCRYPT);
|
||||
|
||||
/* If the mode operates in blocks returns 1
|
||||
*/
|
||||
int (mcrypt_enc_is_block_mode) (MCRYPT);
|
||||
|
||||
/* If the mode is for block algorithms it returns 1
|
||||
*/
|
||||
int (mcrypt_enc_is_block_algorithm_mode) (MCRYPT td);
|
||||
int mcrypt_enc_mode_has_iv(MCRYPT td);
|
||||
|
||||
/* Return a const string containing the name of the algorithm/mode
|
||||
*/
|
||||
char *(mcrypt_enc_get_algorithms_name) (MCRYPT td);
|
||||
char *(mcrypt_enc_get_modes_name) (MCRYPT td);
|
||||
|
||||
int *mcrypt_enc_get_supported_key_sizes(MCRYPT td, int *len);
|
||||
|
||||
|
||||
char **mcrypt_list_algorithms(char *libdir, int *size);
|
||||
char **mcrypt_list_modes(char *libdir, int *size);
|
||||
|
||||
/* Frees the memory allocated by the mcrypt_list_xxx() functions.
|
||||
*/
|
||||
void mcrypt_free_p(char **p, int size);
|
||||
void mcrypt_free(void *ptr);
|
||||
|
||||
/* If mcrypt_xxx functions return an error code, and you supply this
|
||||
* to this function, it will print a human readable message
|
||||
*/
|
||||
void mcrypt_perror(int err);
|
||||
const char* mcrypt_strerror(int err);
|
||||
|
||||
/* Self test for the specified algorithm
|
||||
*/
|
||||
int mcrypt_module_self_test(char *algorithm, char *a_directory);
|
||||
|
||||
int mcrypt_module_is_block_algorithm(char *algorithm,
|
||||
char *a_directory);
|
||||
int mcrypt_module_is_block_algorithm_mode(char *mode,
|
||||
char *m_directory);
|
||||
int mcrypt_module_is_block_mode(char *mode, char *m_directory);
|
||||
|
||||
int mcrypt_module_get_algo_key_size(char *algorithm,
|
||||
char *a_directory);
|
||||
int mcrypt_module_get_algo_block_size(char *algorithm,
|
||||
char *a_directory);
|
||||
|
||||
int *mcrypt_module_get_algo_supported_key_sizes(char *algorithm,
|
||||
char *a_directory,
|
||||
int *len);
|
||||
|
||||
/* Checks the version of the specified module
|
||||
*/
|
||||
int mcrypt_module_algorithm_version(char *algorithm,
|
||||
char *a_directory);
|
||||
int mcrypt_module_mode_version(char *mode, char *a_directory);
|
||||
|
||||
|
||||
/* for multithreaded applications:
|
||||
*/
|
||||
int mcrypt_mutex_register ( void (*mutex_lock)(void) ,
|
||||
void (*mutex_unlock)(void),
|
||||
void (*set_error)(const char*),
|
||||
const char* (*get_error)(void));
|
||||
|
||||
const char *
|
||||
mcrypt_check_version( const char *);
|
||||
|
||||
/* These definitions exist in order to ease the access to
|
||||
* mcrypt_module_init().
|
||||
*/
|
||||
|
||||
/* Algorithms */
|
||||
#define MCRYPT_BLOWFISH "blowfish"
|
||||
#define MCRYPT_DES "des"
|
||||
#define MCRYPT_3DES "tripledes"
|
||||
#define MCRYPT_3WAY "threeway"
|
||||
#define MCRYPT_GOST "gost"
|
||||
#define MCRYPT_SAFER_SK64 "safer-sk64"
|
||||
#define MCRYPT_SAFER_SK128 "safer-sk128"
|
||||
#define MCRYPT_CAST_128 "cast-128"
|
||||
#define MCRYPT_XTEA "xtea"
|
||||
#define MCRYPT_RC2 "rc2"
|
||||
#define MCRYPT_TWOFISH "twofish"
|
||||
#define MCRYPT_CAST_256 "cast-256"
|
||||
#define MCRYPT_SAFERPLUS "saferplus"
|
||||
#define MCRYPT_LOKI97 "loki97"
|
||||
#define MCRYPT_SERPENT "serpent"
|
||||
#define MCRYPT_RIJNDAEL_128 "rijndael-128"
|
||||
#define MCRYPT_RIJNDAEL_192 "rijndael-192"
|
||||
#define MCRYPT_RIJNDAEL_256 "rijndael-256"
|
||||
#define MCRYPT_ENIGMA "enigma"
|
||||
#define MCRYPT_ARCFOUR "arcfour"
|
||||
#define MCRYPT_WAKE "wake"
|
||||
|
||||
/* Modes */
|
||||
#define MCRYPT_CBC "cbc"
|
||||
#define MCRYPT_ECB "ecb"
|
||||
#define MCRYPT_CFB "cfb"
|
||||
#define MCRYPT_OFB "ofb"
|
||||
#define MCRYPT_nOFB "nofb"
|
||||
#define MCRYPT_STREAM "stream"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,439 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999,2001 Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify it under the terms of the
|
||||
* GNU Library General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: mcrypt_extra.c,v 1.26 2002/12/17 10:53:34 nmav Exp $ */
|
||||
|
||||
#include <libdefs.h>
|
||||
#include <bzero.h>
|
||||
#include <xmemory.h>
|
||||
#include <mcrypt_internal.h>
|
||||
|
||||
int mcrypt_algorithm_module_ok(const char *file, const char *directory);
|
||||
int mcrypt_mode_module_ok(const char *file, const char *directory);
|
||||
|
||||
void *mcrypt_dlopen(mcrypt_dlhandle * handle, const char *a_directory,
|
||||
const char *m_directory, const char *filename);
|
||||
|
||||
#ifdef HAVE_READDIR_R
|
||||
# define MAXPATHLEN 256
|
||||
#endif
|
||||
|
||||
WIN32DLL_DEFINE char *mcrypt_readdir(DIR * dirstream)
|
||||
{
|
||||
|
||||
char *result;
|
||||
struct dirent *ret = NULL;
|
||||
#ifdef HAVE_READDIR_R
|
||||
struct dirent ret2[sizeof(struct dirent) + MAXPATHLEN];
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_READDIR_R
|
||||
readdir_r(dirstream, ret2, &ret);
|
||||
#else
|
||||
ret = readdir(dirstream);
|
||||
#endif
|
||||
if (ret == NULL)
|
||||
return NULL;
|
||||
|
||||
result = strdup(ret->d_name);
|
||||
if (result == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
extern const mcrypt_preloaded mps[];
|
||||
|
||||
WIN32DLL_DEFINE char **mcrypt_list_algorithms(const char *libdir,
|
||||
int *size)
|
||||
{
|
||||
DIR *pdir;
|
||||
char directory[512];
|
||||
char *dirname;
|
||||
char **filename = NULL, *ptr;
|
||||
int tmpsize, i = 0;
|
||||
|
||||
|
||||
*size = 0;
|
||||
|
||||
while (mps[i].name != 0 || mps[i].address != 0) {
|
||||
if (mps[i].name != NULL && mps[i].address == NULL) {
|
||||
if (mcrypt_algorithm_module_ok(mps[i].name, NULL) >
|
||||
0) {
|
||||
filename =
|
||||
realloc(filename,
|
||||
((*size) +
|
||||
1) * sizeof(char *));
|
||||
if (filename == NULL) {
|
||||
goto freeall;
|
||||
}
|
||||
filename[*size] = strdup(mps[i].name);
|
||||
if (filename[*size] == NULL)
|
||||
goto freeall;
|
||||
(*size)++;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
#ifdef USE_LTDL
|
||||
|
||||
if (libdir == NULL) {
|
||||
strncpy(directory, LIBDIR, sizeof(directory)-1);
|
||||
} else {
|
||||
strncpy(directory, libdir, sizeof(directory)-1);
|
||||
}
|
||||
directory[ sizeof(directory)-1] = 0;
|
||||
|
||||
pdir = opendir(directory);
|
||||
if (pdir == NULL) {
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "Unable to open directory %s.\n",
|
||||
directory);
|
||||
#endif
|
||||
return filename;
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
dirname = mcrypt_readdir(pdir);
|
||||
if (dirname != NULL) {
|
||||
tmpsize = strlen(dirname);
|
||||
if (tmpsize > 3) {
|
||||
|
||||
if (mcrypt_algorithm_module_ok
|
||||
(dirname, directory) > 0) {
|
||||
ptr = strrchr(dirname, '.');
|
||||
if (ptr != NULL) {
|
||||
*ptr = '\0';
|
||||
tmpsize = strlen(dirname);
|
||||
}
|
||||
|
||||
if (_mcrypt_search_symlist_lib
|
||||
(dirname) != NULL) {
|
||||
free(dirname);
|
||||
continue; /* it's already in the list,
|
||||
* since it's included in the lib.
|
||||
*/
|
||||
}
|
||||
|
||||
filename =
|
||||
realloc(filename,
|
||||
(*size +
|
||||
1) * sizeof(char *));
|
||||
if (filename == NULL) {
|
||||
free(dirname);
|
||||
goto freeall;
|
||||
}
|
||||
|
||||
filename[*size] = strdup(dirname);
|
||||
if (filename[*size] == NULL) {
|
||||
free(dirname);
|
||||
goto freeall;
|
||||
}
|
||||
(*size)++;
|
||||
}
|
||||
}
|
||||
free(dirname);
|
||||
} else break;
|
||||
}
|
||||
|
||||
|
||||
closedir(pdir);
|
||||
|
||||
#endif
|
||||
|
||||
return filename;
|
||||
|
||||
freeall:
|
||||
for (i = 0; i < (*size); i++) {
|
||||
free(filename[i]);
|
||||
}
|
||||
free(filename);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE char **mcrypt_list_modes(const char *libdir, int *size)
|
||||
{
|
||||
DIR *pdir;
|
||||
char directory[512];
|
||||
char *dirname;
|
||||
char **filename = NULL, *ptr;
|
||||
int tmpsize;
|
||||
int i = 0;
|
||||
|
||||
*size = 0;
|
||||
|
||||
while (mps[i].name != 0 || mps[i].address != 0) {
|
||||
if (mps[i].name != NULL && mps[i].address == NULL) {
|
||||
if (mcrypt_mode_module_ok(mps[i].name, NULL) > 0) {
|
||||
filename =
|
||||
realloc(filename,
|
||||
(*size + 1) * sizeof(char *));
|
||||
if (filename == NULL) {
|
||||
goto freeall;
|
||||
}
|
||||
filename[*size] = strdup(mps[i].name);
|
||||
if (filename[*size] == NULL)
|
||||
goto freeall;
|
||||
(*size)++;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
#ifdef USE_LTDL
|
||||
|
||||
if (libdir == NULL) {
|
||||
strncpy(directory, LIBDIR, sizeof(directory)-1);
|
||||
} else {
|
||||
strncpy(directory, libdir, sizeof(directory)-1);
|
||||
}
|
||||
directory[ sizeof(directory)-1] = 0;
|
||||
|
||||
pdir = opendir(directory);
|
||||
if (pdir == NULL) {
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "Unable to open directory %s.\n",
|
||||
directory);
|
||||
#endif
|
||||
return filename;
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
|
||||
dirname = mcrypt_readdir(pdir);
|
||||
if (dirname != NULL) {
|
||||
tmpsize = strlen(dirname);
|
||||
if (tmpsize > 3) {
|
||||
if (mcrypt_mode_module_ok
|
||||
(dirname, directory) > 0) {
|
||||
|
||||
ptr = strrchr(dirname, '.');
|
||||
if (ptr != NULL) {
|
||||
*ptr = '\0';
|
||||
tmpsize = strlen(dirname);
|
||||
}
|
||||
if (_mcrypt_search_symlist_lib
|
||||
(dirname) != NULL) {
|
||||
free(dirname);
|
||||
continue; /* it's already in the list,
|
||||
* since it's included in the lib.
|
||||
*/
|
||||
}
|
||||
filename =
|
||||
realloc(filename,
|
||||
(*size +
|
||||
1) * sizeof(char *));
|
||||
if (filename == NULL) {
|
||||
free(dirname);
|
||||
goto freeall;
|
||||
}
|
||||
|
||||
filename[*size] = strdup(dirname);
|
||||
if (filename[*size] == NULL) {
|
||||
free(dirname);
|
||||
goto freeall;
|
||||
}
|
||||
(*size)++;
|
||||
}
|
||||
}
|
||||
free(dirname);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
closedir(pdir);
|
||||
#endif
|
||||
|
||||
return filename;
|
||||
|
||||
freeall:
|
||||
for (i = 0; i < (*size); i++) {
|
||||
free(filename[i]);
|
||||
}
|
||||
free(filename);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE void mcrypt_free_p(char **p, int size)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
free(p[i]);
|
||||
}
|
||||
free(p);
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_algorithm_module_ok(const char *file, const char *directory)
|
||||
{
|
||||
word32 ret = 1;
|
||||
mcrypt_dlhandle _handle;
|
||||
void *rr;
|
||||
int (*_version) (void);
|
||||
|
||||
if (file == NULL && directory == NULL) {
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
if (lt_dlinit() != 0) {
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
rr = mcrypt_dlopen(&_handle, directory, NULL, file);
|
||||
|
||||
if (!rr) {
|
||||
lt_dlexit();
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
_version = mcrypt_dlsym(_handle, "_mcrypt_algorithm_version");
|
||||
|
||||
if (_version == NULL) {
|
||||
mcrypt_dlclose(_handle);
|
||||
lt_dlexit();
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
ret = _version();
|
||||
|
||||
mcrypt_dlclose(_handle);
|
||||
|
||||
lt_dlexit();
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_mode_module_ok(const char *file, const char *directory)
|
||||
{
|
||||
word32 ret;
|
||||
mcrypt_dlhandle _handle;
|
||||
void *rr;
|
||||
int (*_version) (void);
|
||||
|
||||
if (file == NULL && directory == NULL) {
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
if (lt_dlinit() != 0) {
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
rr = mcrypt_dlopen(&_handle, directory, NULL, file);
|
||||
if (!rr) {
|
||||
lt_dlexit();
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
|
||||
_version = mcrypt_dlsym(_handle, "_mcrypt_mode_version");
|
||||
|
||||
if (_version == NULL) {
|
||||
mcrypt_dlclose(_handle);
|
||||
lt_dlexit();
|
||||
return MCRYPT_UNKNOWN_ERROR;
|
||||
}
|
||||
|
||||
ret = _version();
|
||||
|
||||
mcrypt_dlclose(_handle);
|
||||
lt_dlexit();
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
/* Taken from libgcrypt */
|
||||
|
||||
static const char *parse_version_number(const char *s, int *number)
|
||||
{
|
||||
int val = 0;
|
||||
|
||||
if (*s == '0' && isdigit(s[1]))
|
||||
return NULL; /* leading zeros are not allowed */
|
||||
for (; isdigit(*s); s++) {
|
||||
val *= 10;
|
||||
val += *s - '0';
|
||||
}
|
||||
*number = val;
|
||||
return val < 0 ? NULL : s;
|
||||
}
|
||||
|
||||
|
||||
static const char *parse_version_string(const char *s, int *major,
|
||||
int *minor, int *micro)
|
||||
{
|
||||
s = parse_version_number(s, major);
|
||||
if (!s || *s != '.')
|
||||
return NULL;
|
||||
s++;
|
||||
s = parse_version_number(s, minor);
|
||||
if (!s || *s != '.')
|
||||
return NULL;
|
||||
s++;
|
||||
s = parse_version_number(s, micro);
|
||||
if (!s)
|
||||
return NULL;
|
||||
return s; /* patchlevel */
|
||||
}
|
||||
|
||||
/****************
|
||||
* Check that the the version of the library is at minimum the requested one
|
||||
* and return the version string; return NULL if the condition is not
|
||||
* satisfied. If a NULL is passed to this function, no check is done,
|
||||
* but the version string is simply returned.
|
||||
*/
|
||||
const char *mcrypt_check_version(const char *req_version)
|
||||
{
|
||||
const char *ver = VERSION;
|
||||
int my_major, my_minor, my_micro;
|
||||
int rq_major, rq_minor, rq_micro;
|
||||
const char *my_plvl, *rq_plvl;
|
||||
|
||||
if (!req_version)
|
||||
return ver;
|
||||
|
||||
my_plvl =
|
||||
parse_version_string(ver, &my_major, &my_minor, &my_micro);
|
||||
if (!my_plvl)
|
||||
return NULL; /* very strange our own version is bogus */
|
||||
rq_plvl = parse_version_string(req_version, &rq_major, &rq_minor,
|
||||
&rq_micro);
|
||||
if (!rq_plvl)
|
||||
return NULL; /* req version string is invalid */
|
||||
|
||||
if (my_major > rq_major
|
||||
|| (my_major == rq_major && my_minor > rq_minor)
|
||||
|| (my_major == rq_major && my_minor == rq_minor
|
||||
&& my_micro > rq_micro)
|
||||
|| (my_major == rq_major && my_minor == rq_minor
|
||||
&& my_micro == rq_micro
|
||||
&& strcmp(my_plvl, rq_plvl) >= 0)) {
|
||||
return ver;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
#ifndef LIBDEFS_H
|
||||
#define LIBDEFS_H
|
||||
#include <libdefs.h>
|
||||
#endif
|
||||
|
||||
/* Local Defines */
|
||||
|
||||
#ifndef lt_ptr
|
||||
/* older version of libltdl */
|
||||
# define lt_ptr lt_ptr_t
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
char* name;
|
||||
lt_ptr address;
|
||||
} mcrypt_preloaded;
|
||||
|
||||
typedef struct {
|
||||
lt_dlhandle handle;
|
||||
char name[64];
|
||||
} mcrypt_dlhandle;
|
||||
|
||||
#define MCRYPT_INTERNAL_HANDLER (void*)-1
|
||||
|
||||
typedef struct {
|
||||
mcrypt_dlhandle algorithm_handle;
|
||||
mcrypt_dlhandle mode_handle;
|
||||
|
||||
/* Holds the algorithm's internal key */
|
||||
byte *akey;
|
||||
|
||||
byte *abuf; /* holds the mode's internal buffers */
|
||||
|
||||
/* holds the key */
|
||||
byte *keyword_given;
|
||||
|
||||
/* These were included to speed up encryption/decryption proccess, so
|
||||
* there is not need for resolving symbols every time.
|
||||
*/
|
||||
lt_ptr m_encrypt;
|
||||
lt_ptr m_decrypt;
|
||||
lt_ptr a_encrypt;
|
||||
lt_ptr a_decrypt;
|
||||
lt_ptr a_block_size;
|
||||
} CRYPT_STREAM;
|
||||
|
||||
typedef CRYPT_STREAM* MCRYPT;
|
||||
|
||||
#define MCRYPT_FAILED 0x0
|
||||
|
||||
int mcrypt_module_close(MCRYPT td);
|
||||
|
||||
/* frontends */
|
||||
|
||||
int end_mcrypt( MCRYPT td, void *buf);
|
||||
int mcrypt_enc_get_size(MCRYPT td);
|
||||
int mcrypt_mode_get_size(MCRYPT td);
|
||||
int mcrypt_set_key(MCRYPT td, void *a, const void *, int c, const void *, int e);
|
||||
int mcrypt_enc_get_block_size(MCRYPT td);
|
||||
int __mcrypt_get_block_size(MCRYPT td);
|
||||
int mcrypt_enc_get_algo_iv_size(MCRYPT td);
|
||||
int mcrypt_enc_get_iv_size(MCRYPT td);
|
||||
int mcrypt_enc_get_key_size(MCRYPT td);
|
||||
int* mcrypt_enc_get_supported_key_sizes(MCRYPT td, int* out_size);
|
||||
int mcrypt_enc_is_block_algorithm(MCRYPT td);
|
||||
char *mcrypt_enc_get_algorithms_name(MCRYPT td);
|
||||
int init_mcrypt(MCRYPT td, void*buf, const void *, int, const void *);
|
||||
int mcrypt(MCRYPT td, void* buf, void *a, int b);
|
||||
int mdecrypt(MCRYPT td, void* buf, void *a, int b);
|
||||
char *mcrypt_enc_get_modes_name(MCRYPT td);
|
||||
int mcrypt_enc_is_block_mode(MCRYPT td);
|
||||
int mcrypt_enc_mode_has_iv(MCRYPT td);
|
||||
int mcrypt_enc_is_block_algorithm_mode(MCRYPT td);
|
||||
int mcrypt_module_algorithm_version(const char *algorithm, const char *a_directory);
|
||||
int mcrypt_module_mode_version(const char *mode, const char *m_directory);
|
||||
int mcrypt_get_size(MCRYPT td);
|
||||
|
||||
|
||||
#define MCRYPT_UNKNOWN_ERROR -1
|
||||
#define MCRYPT_ALGORITHM_MODE_INCOMPATIBILITY -2
|
||||
#define MCRYPT_KEY_LEN_ERROR -3
|
||||
#define MCRYPT_MEMORY_ALLOCATION_ERROR -4
|
||||
#define MCRYPT_UNKNOWN_MODE -5
|
||||
#define MCRYPT_UNKNOWN_ALGORITHM -6
|
||||
|
||||
lt_ptr mcrypt_dlsym( mcrypt_dlhandle, char* str);
|
||||
void mcrypt_dlclose( mcrypt_dlhandle mod);
|
||||
lt_ptr _mcrypt_search_symlist_lib(const char* name);
|
||||
lt_ptr _mcrypt_search_symlist_sym(mcrypt_dlhandle handle, const char* _name);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,47 @@
|
||||
#define rotl32(x,n) (((x) << ((word32)(n))) | ((x) >> (32 - (word32)(n))))
|
||||
#define rotr32(x,n) (((x) >> ((word32)(n))) | ((x) << (32 - (word32)(n))))
|
||||
#define rotl16(x,n) (((x) << ((word16)(n))) | ((x) >> (16 - (word16)(n))))
|
||||
#define rotr16(x,n) (((x) >> ((word16)(n))) | ((x) << (16 - (word16)(n))))
|
||||
|
||||
/* Use hardware rotations.. when available */
|
||||
#ifdef swap32
|
||||
# define byteswap32(x) swap32(x)
|
||||
#else
|
||||
# ifdef swap_32
|
||||
# define byteswap32(x) swap_32(x)
|
||||
# else
|
||||
# ifdef bswap_32
|
||||
# define byteswap32(x) bswap_32(x)
|
||||
# else
|
||||
# define byteswap32(x) ((rotl32(x, 8) & 0x00ff00ff) | (rotr32(x, 8) & 0xff00ff00))
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef swap16
|
||||
# define byteswap16(x) swap16(x)
|
||||
#else
|
||||
# ifdef swap_16
|
||||
# define byteswap16(x) swap_16(x)
|
||||
# else
|
||||
# ifdef bswap_16
|
||||
# define byteswap16(x) bswap_16(x)
|
||||
# else
|
||||
# define byteswap16(x) ((rotl16(x, 8) & 0x00ff) | (rotr16(x, 8) & 0xff00))
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
inline static
|
||||
void memxor(unsigned char *o1, unsigned char *o2, int length)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < length; i++) {
|
||||
o1[i] ^= o2[i];
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
#define Bzero(x, y) memset(x, 0, y)
|
||||
@@ -0,0 +1,651 @@
|
||||
#include "mcrypt_internal.h"
|
||||
|
||||
/* This is automatically created. Don't touch... */
|
||||
|
||||
extern cbc_LTX__init_mcrypt();
|
||||
extern cbc_LTX__mcrypt_set_state();
|
||||
extern cbc_LTX__mcrypt_get_state();
|
||||
extern cbc_LTX__end_mcrypt();
|
||||
extern cbc_LTX__mcrypt();
|
||||
extern cbc_LTX__mdecrypt();
|
||||
extern cbc_LTX__has_iv();
|
||||
extern cbc_LTX__is_block_mode();
|
||||
extern cbc_LTX__is_block_algorithm_mode();
|
||||
extern cbc_LTX__mcrypt_get_modes_name();
|
||||
extern cbc_LTX__mcrypt_mode_get_size();
|
||||
extern cbc_LTX__mcrypt_mode_version();
|
||||
extern cfb_LTX__init_mcrypt();
|
||||
extern cfb_LTX__mcrypt_set_state();
|
||||
extern cfb_LTX__mcrypt_get_state();
|
||||
extern cfb_LTX__end_mcrypt();
|
||||
extern cfb_LTX__mcrypt();
|
||||
extern cfb_LTX__mdecrypt();
|
||||
extern cfb_LTX__has_iv();
|
||||
extern cfb_LTX__is_block_mode();
|
||||
extern cfb_LTX__is_block_algorithm_mode();
|
||||
extern cfb_LTX__mcrypt_get_modes_name();
|
||||
extern cfb_LTX__mcrypt_mode_get_size();
|
||||
extern cfb_LTX__mcrypt_mode_version();
|
||||
extern ctr_LTX__init_mcrypt();
|
||||
extern ctr_LTX__mcrypt_set_state();
|
||||
extern ctr_LTX__mcrypt_get_state();
|
||||
extern ctr_LTX__end_mcrypt();
|
||||
extern ctr_LTX__mcrypt();
|
||||
extern ctr_LTX__mdecrypt();
|
||||
extern ctr_LTX__has_iv();
|
||||
extern ctr_LTX__is_block_mode();
|
||||
extern ctr_LTX__is_block_algorithm_mode();
|
||||
extern ctr_LTX__mcrypt_get_modes_name();
|
||||
extern ctr_LTX__mcrypt_mode_get_size();
|
||||
extern ctr_LTX__mcrypt_mode_version();
|
||||
extern ecb_LTX__mcrypt_set_state();
|
||||
extern ecb_LTX__mcrypt_get_state();
|
||||
extern ecb_LTX__init_mcrypt();
|
||||
extern ecb_LTX__end_mcrypt();
|
||||
extern ecb_LTX__mcrypt();
|
||||
extern ecb_LTX__mdecrypt();
|
||||
extern ecb_LTX__has_iv();
|
||||
extern ecb_LTX__is_block_mode();
|
||||
extern ecb_LTX__is_block_algorithm_mode();
|
||||
extern ecb_LTX__mcrypt_get_modes_name();
|
||||
extern ecb_LTX__mcrypt_mode_get_size();
|
||||
extern ecb_LTX__mcrypt_mode_version();
|
||||
extern ncfb_LTX__init_mcrypt();
|
||||
extern ncfb_LTX__mcrypt_set_state();
|
||||
extern ncfb_LTX__mcrypt_get_state();
|
||||
extern ncfb_LTX__end_mcrypt();
|
||||
extern ncfb_LTX__mcrypt();
|
||||
extern ncfb_LTX__mdecrypt();
|
||||
extern ncfb_LTX__has_iv();
|
||||
extern ncfb_LTX__is_block_mode();
|
||||
extern ncfb_LTX__is_block_algorithm_mode();
|
||||
extern ncfb_LTX__mcrypt_get_modes_name();
|
||||
extern ncfb_LTX__mcrypt_mode_get_size();
|
||||
extern ncfb_LTX__mcrypt_mode_version();
|
||||
extern nofb_LTX__init_mcrypt();
|
||||
extern nofb_LTX__mcrypt_set_state();
|
||||
extern nofb_LTX__mcrypt_get_state();
|
||||
extern nofb_LTX__end_mcrypt();
|
||||
extern nofb_LTX__mcrypt();
|
||||
extern nofb_LTX__mdecrypt();
|
||||
extern nofb_LTX__has_iv();
|
||||
extern nofb_LTX__is_block_mode();
|
||||
extern nofb_LTX__is_block_algorithm_mode();
|
||||
extern nofb_LTX__mcrypt_get_modes_name();
|
||||
extern nofb_LTX__mcrypt_mode_get_size();
|
||||
extern nofb_LTX__mcrypt_mode_version();
|
||||
extern ofb_LTX__init_mcrypt();
|
||||
extern ofb_LTX__mcrypt_set_state();
|
||||
extern ofb_LTX__mcrypt_get_state();
|
||||
extern ofb_LTX__end_mcrypt();
|
||||
extern ofb_LTX__mcrypt();
|
||||
extern ofb_LTX__mdecrypt();
|
||||
extern ofb_LTX__has_iv();
|
||||
extern ofb_LTX__is_block_mode();
|
||||
extern ofb_LTX__is_block_algorithm_mode();
|
||||
extern ofb_LTX__mcrypt_get_modes_name();
|
||||
extern ofb_LTX__mcrypt_mode_get_size();
|
||||
extern ofb_LTX__mcrypt_mode_version();
|
||||
extern stream_LTX__init_mcrypt();
|
||||
extern stream_LTX__mcrypt_set_state();
|
||||
extern stream_LTX__mcrypt_get_state();
|
||||
extern stream_LTX__end_mcrypt();
|
||||
extern stream_LTX__mcrypt();
|
||||
extern stream_LTX__mdecrypt();
|
||||
extern stream_LTX__has_iv();
|
||||
extern stream_LTX__is_block_mode();
|
||||
extern stream_LTX__is_block_algorithm_mode();
|
||||
extern stream_LTX__mcrypt_get_modes_name();
|
||||
extern stream_LTX__mcrypt_mode_get_size();
|
||||
extern stream_LTX__mcrypt_mode_version();
|
||||
extern cast_128_LTX__mcrypt_set_key();
|
||||
extern cast_128_LTX__mcrypt_encrypt();
|
||||
extern cast_128_LTX__mcrypt_decrypt();
|
||||
extern cast_128_LTX__mcrypt_get_size();
|
||||
extern cast_128_LTX__mcrypt_get_block_size();
|
||||
extern cast_128_LTX__is_block_algorithm();
|
||||
extern cast_128_LTX__mcrypt_get_key_size();
|
||||
extern cast_128_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern cast_128_LTX__mcrypt_get_algorithms_name();
|
||||
extern cast_128_LTX__mcrypt_self_test();
|
||||
extern cast_128_LTX__mcrypt_algorithm_version();
|
||||
extern gost_LTX__mcrypt_set_key();
|
||||
extern gost_LTX__mcrypt_encrypt();
|
||||
extern gost_LTX__mcrypt_decrypt();
|
||||
extern gost_LTX__mcrypt_get_size();
|
||||
extern gost_LTX__mcrypt_get_block_size();
|
||||
extern gost_LTX__is_block_algorithm();
|
||||
extern gost_LTX__mcrypt_get_key_size();
|
||||
extern gost_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern gost_LTX__mcrypt_get_algorithms_name();
|
||||
extern gost_LTX__mcrypt_self_test();
|
||||
extern gost_LTX__mcrypt_algorithm_version();
|
||||
extern rijndael_128_LTX__mcrypt_set_key();
|
||||
extern rijndael_128_LTX__mcrypt_encrypt();
|
||||
extern rijndael_128_LTX__mcrypt_decrypt();
|
||||
extern rijndael_128_LTX__mcrypt_get_size();
|
||||
extern rijndael_128_LTX__mcrypt_get_block_size();
|
||||
extern rijndael_128_LTX__is_block_algorithm();
|
||||
extern rijndael_128_LTX__mcrypt_get_key_size();
|
||||
extern rijndael_128_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern rijndael_128_LTX__mcrypt_get_algorithms_name();
|
||||
extern rijndael_128_LTX__mcrypt_self_test();
|
||||
extern rijndael_128_LTX__mcrypt_algorithm_version();
|
||||
extern twofish_LTX__mcrypt_set_key();
|
||||
extern twofish_LTX__mcrypt_encrypt();
|
||||
extern twofish_LTX__mcrypt_decrypt();
|
||||
extern twofish_LTX__mcrypt_get_size();
|
||||
extern twofish_LTX__mcrypt_get_block_size();
|
||||
extern twofish_LTX__is_block_algorithm();
|
||||
extern twofish_LTX__mcrypt_get_key_size();
|
||||
extern twofish_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern twofish_LTX__mcrypt_get_algorithms_name();
|
||||
extern twofish_LTX__mcrypt_self_test();
|
||||
extern twofish_LTX__mcrypt_algorithm_version();
|
||||
extern arcfour_LTX__mcrypt_set_key();
|
||||
extern arcfour_LTX__mcrypt_encrypt();
|
||||
extern arcfour_LTX__mcrypt_decrypt();
|
||||
extern arcfour_LTX__mcrypt_get_size();
|
||||
extern arcfour_LTX__mcrypt_get_block_size();
|
||||
extern arcfour_LTX__is_block_algorithm();
|
||||
extern arcfour_LTX__mcrypt_get_key_size();
|
||||
extern arcfour_LTX__mcrypt_get_algo_iv_size();
|
||||
extern arcfour_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern arcfour_LTX__mcrypt_get_algorithms_name();
|
||||
extern arcfour_LTX__mcrypt_self_test();
|
||||
extern arcfour_LTX__mcrypt_algorithm_version();
|
||||
extern cast_256_LTX__mcrypt_set_key();
|
||||
extern cast_256_LTX__mcrypt_encrypt();
|
||||
extern cast_256_LTX__mcrypt_decrypt();
|
||||
extern cast_256_LTX__mcrypt_get_size();
|
||||
extern cast_256_LTX__mcrypt_get_block_size();
|
||||
extern cast_256_LTX__is_block_algorithm();
|
||||
extern cast_256_LTX__mcrypt_get_key_size();
|
||||
extern cast_256_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern cast_256_LTX__mcrypt_get_algorithms_name();
|
||||
extern cast_256_LTX__mcrypt_self_test();
|
||||
extern cast_256_LTX__mcrypt_algorithm_version();
|
||||
extern loki97_LTX__mcrypt_set_key();
|
||||
extern loki97_LTX__mcrypt_encrypt();
|
||||
extern loki97_LTX__mcrypt_decrypt();
|
||||
extern loki97_LTX__mcrypt_get_size();
|
||||
extern loki97_LTX__mcrypt_get_block_size();
|
||||
extern loki97_LTX__is_block_algorithm();
|
||||
extern loki97_LTX__mcrypt_get_key_size();
|
||||
extern loki97_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern loki97_LTX__mcrypt_get_algorithms_name();
|
||||
extern loki97_LTX__mcrypt_self_test();
|
||||
extern loki97_LTX__mcrypt_algorithm_version();
|
||||
extern rijndael_192_LTX__mcrypt_set_key();
|
||||
extern rijndael_192_LTX__mcrypt_encrypt();
|
||||
extern rijndael_192_LTX__mcrypt_decrypt();
|
||||
extern rijndael_192_LTX__mcrypt_get_size();
|
||||
extern rijndael_192_LTX__mcrypt_get_block_size();
|
||||
extern rijndael_192_LTX__is_block_algorithm();
|
||||
extern rijndael_192_LTX__mcrypt_get_key_size();
|
||||
extern rijndael_192_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern rijndael_192_LTX__mcrypt_get_algorithms_name();
|
||||
extern rijndael_192_LTX__mcrypt_self_test();
|
||||
extern rijndael_192_LTX__mcrypt_algorithm_version();
|
||||
extern saferplus_LTX__mcrypt_set_key();
|
||||
extern saferplus_LTX__mcrypt_encrypt();
|
||||
extern saferplus_LTX__mcrypt_decrypt();
|
||||
extern saferplus_LTX__mcrypt_get_size();
|
||||
extern saferplus_LTX__mcrypt_get_block_size();
|
||||
extern saferplus_LTX__is_block_algorithm();
|
||||
extern saferplus_LTX__mcrypt_get_key_size();
|
||||
extern saferplus_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern saferplus_LTX__mcrypt_get_algorithms_name();
|
||||
extern saferplus_LTX__mcrypt_self_test();
|
||||
extern saferplus_LTX__mcrypt_algorithm_version();
|
||||
extern wake_LTX__mcrypt_set_key();
|
||||
extern wake_LTX__mcrypt_encrypt();
|
||||
extern wake_LTX__mcrypt_decrypt();
|
||||
extern wake_LTX__mcrypt_get_size();
|
||||
extern wake_LTX__mcrypt_get_block_size();
|
||||
extern wake_LTX__is_block_algorithm();
|
||||
extern wake_LTX__mcrypt_get_key_size();
|
||||
extern wake_LTX__mcrypt_get_algo_iv_size();
|
||||
extern wake_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern wake_LTX__mcrypt_get_algorithms_name();
|
||||
extern wake_LTX__mcrypt_self_test();
|
||||
extern wake_LTX__mcrypt_algorithm_version();
|
||||
extern blowfish_compat_LTX__mcrypt_set_key();
|
||||
extern blowfish_compat_LTX__mcrypt_encrypt();
|
||||
extern blowfish_compat_LTX__mcrypt_decrypt();
|
||||
extern blowfish_compat_LTX__mcrypt_get_size();
|
||||
extern blowfish_compat_LTX__mcrypt_get_block_size();
|
||||
extern blowfish_compat_LTX__is_block_algorithm();
|
||||
extern blowfish_compat_LTX__mcrypt_get_key_size();
|
||||
extern blowfish_compat_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern blowfish_compat_LTX__mcrypt_get_algorithms_name();
|
||||
extern blowfish_compat_LTX__mcrypt_self_test();
|
||||
extern blowfish_compat_LTX__mcrypt_algorithm_version();
|
||||
extern des_LTX__mcrypt_set_key();
|
||||
extern des_LTX__mcrypt_encrypt();
|
||||
extern des_LTX__mcrypt_decrypt();
|
||||
extern des_LTX__mcrypt_get_size();
|
||||
extern des_LTX__mcrypt_get_block_size();
|
||||
extern des_LTX__is_block_algorithm();
|
||||
extern des_LTX__mcrypt_get_key_size();
|
||||
extern des_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern des_LTX__mcrypt_get_algorithms_name();
|
||||
extern des_LTX__mcrypt_self_test();
|
||||
extern des_LTX__mcrypt_algorithm_version();
|
||||
extern rijndael_256_LTX__mcrypt_set_key();
|
||||
extern rijndael_256_LTX__mcrypt_encrypt();
|
||||
extern rijndael_256_LTX__mcrypt_decrypt();
|
||||
extern rijndael_256_LTX__mcrypt_get_size();
|
||||
extern rijndael_256_LTX__mcrypt_get_block_size();
|
||||
extern rijndael_256_LTX__is_block_algorithm();
|
||||
extern rijndael_256_LTX__mcrypt_get_key_size();
|
||||
extern rijndael_256_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern rijndael_256_LTX__mcrypt_get_algorithms_name();
|
||||
extern rijndael_256_LTX__mcrypt_self_test();
|
||||
extern rijndael_256_LTX__mcrypt_algorithm_version();
|
||||
extern serpent_LTX__mcrypt_set_key();
|
||||
extern serpent_LTX__mcrypt_encrypt();
|
||||
extern serpent_LTX__mcrypt_decrypt();
|
||||
extern serpent_LTX__mcrypt_get_size();
|
||||
extern serpent_LTX__mcrypt_get_block_size();
|
||||
extern serpent_LTX__is_block_algorithm();
|
||||
extern serpent_LTX__mcrypt_get_key_size();
|
||||
extern serpent_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern serpent_LTX__mcrypt_get_algorithms_name();
|
||||
extern serpent_LTX__mcrypt_self_test();
|
||||
extern serpent_LTX__mcrypt_algorithm_version();
|
||||
extern xtea_LTX__mcrypt_set_key();
|
||||
extern xtea_LTX__mcrypt_encrypt();
|
||||
extern xtea_LTX__mcrypt_decrypt();
|
||||
extern xtea_LTX__mcrypt_get_size();
|
||||
extern xtea_LTX__mcrypt_get_block_size();
|
||||
extern xtea_LTX__is_block_algorithm();
|
||||
extern xtea_LTX__mcrypt_get_key_size();
|
||||
extern xtea_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern xtea_LTX__mcrypt_get_algorithms_name();
|
||||
extern xtea_LTX__mcrypt_self_test();
|
||||
extern xtea_LTX__mcrypt_algorithm_version();
|
||||
extern blowfish_LTX__mcrypt_set_key();
|
||||
extern blowfish_LTX__mcrypt_encrypt();
|
||||
extern blowfish_LTX__mcrypt_decrypt();
|
||||
extern blowfish_LTX__mcrypt_get_size();
|
||||
extern blowfish_LTX__mcrypt_get_block_size();
|
||||
extern blowfish_LTX__is_block_algorithm();
|
||||
extern blowfish_LTX__mcrypt_get_key_size();
|
||||
extern blowfish_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern blowfish_LTX__mcrypt_get_algorithms_name();
|
||||
extern blowfish_LTX__mcrypt_self_test();
|
||||
extern blowfish_LTX__mcrypt_algorithm_version();
|
||||
extern enigma_LTX__mcrypt_set_key();
|
||||
extern enigma_LTX__mcrypt_encrypt();
|
||||
extern enigma_LTX__mcrypt_decrypt();
|
||||
extern enigma_LTX__mcrypt_get_size();
|
||||
extern enigma_LTX__mcrypt_get_block_size();
|
||||
extern enigma_LTX__is_block_algorithm();
|
||||
extern enigma_LTX__mcrypt_get_key_size();
|
||||
extern enigma_LTX__mcrypt_get_algo_iv_size();
|
||||
extern enigma_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern enigma_LTX__mcrypt_get_algorithms_name();
|
||||
extern enigma_LTX__mcrypt_self_test();
|
||||
extern enigma_LTX__mcrypt_algorithm_version();
|
||||
extern rc2_LTX__mcrypt_set_key();
|
||||
extern rc2_LTX__mcrypt_encrypt();
|
||||
extern rc2_LTX__mcrypt_decrypt();
|
||||
extern rc2_LTX__mcrypt_get_size();
|
||||
extern rc2_LTX__mcrypt_get_block_size();
|
||||
extern rc2_LTX__is_block_algorithm();
|
||||
extern rc2_LTX__mcrypt_get_key_size();
|
||||
extern rc2_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern rc2_LTX__mcrypt_get_algorithms_name();
|
||||
extern rc2_LTX__mcrypt_self_test();
|
||||
extern rc2_LTX__mcrypt_algorithm_version();
|
||||
extern tripledes_LTX__mcrypt_set_key();
|
||||
extern tripledes_LTX__mcrypt_encrypt();
|
||||
extern tripledes_LTX__mcrypt_decrypt();
|
||||
extern tripledes_LTX__mcrypt_get_size();
|
||||
extern tripledes_LTX__mcrypt_get_block_size();
|
||||
extern tripledes_LTX__is_block_algorithm();
|
||||
extern tripledes_LTX__mcrypt_get_key_size();
|
||||
extern tripledes_LTX__mcrypt_get_supported_key_sizes();
|
||||
extern tripledes_LTX__mcrypt_get_algorithms_name();
|
||||
extern tripledes_LTX__mcrypt_self_test();
|
||||
extern tripledes_LTX__mcrypt_algorithm_version();
|
||||
|
||||
const mcrypt_preloaded mps[] = {
|
||||
{"cbc", NULL},
|
||||
{"cbc_LTX__init_mcrypt", cbc_LTX__init_mcrypt},
|
||||
{"cbc_LTX__mcrypt_set_state", cbc_LTX__mcrypt_set_state},
|
||||
{"cbc_LTX__mcrypt_get_state", cbc_LTX__mcrypt_get_state},
|
||||
{"cbc_LTX__end_mcrypt", cbc_LTX__end_mcrypt},
|
||||
{"cbc_LTX__mcrypt", cbc_LTX__mcrypt},
|
||||
{"cbc_LTX__mdecrypt", cbc_LTX__mdecrypt},
|
||||
{"cbc_LTX__has_iv", cbc_LTX__has_iv},
|
||||
{"cbc_LTX__is_block_mode", cbc_LTX__is_block_mode},
|
||||
{"cbc_LTX__is_block_algorithm_mode", cbc_LTX__is_block_algorithm_mode},
|
||||
{"cbc_LTX__mcrypt_get_modes_name", cbc_LTX__mcrypt_get_modes_name},
|
||||
{"cbc_LTX__mcrypt_mode_get_size", cbc_LTX__mcrypt_mode_get_size},
|
||||
{"cbc_LTX__mcrypt_mode_version", cbc_LTX__mcrypt_mode_version},
|
||||
{"cfb", NULL},
|
||||
{"cfb_LTX__init_mcrypt", cfb_LTX__init_mcrypt},
|
||||
{"cfb_LTX__mcrypt_set_state", cfb_LTX__mcrypt_set_state},
|
||||
{"cfb_LTX__mcrypt_get_state", cfb_LTX__mcrypt_get_state},
|
||||
{"cfb_LTX__end_mcrypt", cfb_LTX__end_mcrypt},
|
||||
{"cfb_LTX__mcrypt", cfb_LTX__mcrypt},
|
||||
{"cfb_LTX__mdecrypt", cfb_LTX__mdecrypt},
|
||||
{"cfb_LTX__has_iv", cfb_LTX__has_iv},
|
||||
{"cfb_LTX__is_block_mode", cfb_LTX__is_block_mode},
|
||||
{"cfb_LTX__is_block_algorithm_mode", cfb_LTX__is_block_algorithm_mode},
|
||||
{"cfb_LTX__mcrypt_get_modes_name", cfb_LTX__mcrypt_get_modes_name},
|
||||
{"cfb_LTX__mcrypt_mode_get_size", cfb_LTX__mcrypt_mode_get_size},
|
||||
{"cfb_LTX__mcrypt_mode_version", cfb_LTX__mcrypt_mode_version},
|
||||
{"ctr", NULL},
|
||||
{"ctr_LTX__init_mcrypt", ctr_LTX__init_mcrypt},
|
||||
{"ctr_LTX__mcrypt_set_state", ctr_LTX__mcrypt_set_state},
|
||||
{"ctr_LTX__mcrypt_get_state", ctr_LTX__mcrypt_get_state},
|
||||
{"ctr_LTX__end_mcrypt", ctr_LTX__end_mcrypt},
|
||||
{"ctr_LTX__mcrypt", ctr_LTX__mcrypt},
|
||||
{"ctr_LTX__mdecrypt", ctr_LTX__mdecrypt},
|
||||
{"ctr_LTX__has_iv", ctr_LTX__has_iv},
|
||||
{"ctr_LTX__is_block_mode", ctr_LTX__is_block_mode},
|
||||
{"ctr_LTX__is_block_algorithm_mode", ctr_LTX__is_block_algorithm_mode},
|
||||
{"ctr_LTX__mcrypt_get_modes_name", ctr_LTX__mcrypt_get_modes_name},
|
||||
{"ctr_LTX__mcrypt_mode_get_size", ctr_LTX__mcrypt_mode_get_size},
|
||||
{"ctr_LTX__mcrypt_mode_version", ctr_LTX__mcrypt_mode_version},
|
||||
{"ecb", NULL},
|
||||
{"ecb_LTX__mcrypt_set_state", ecb_LTX__mcrypt_set_state},
|
||||
{"ecb_LTX__mcrypt_get_state", ecb_LTX__mcrypt_get_state},
|
||||
{"ecb_LTX__init_mcrypt", ecb_LTX__init_mcrypt},
|
||||
{"ecb_LTX__end_mcrypt", ecb_LTX__end_mcrypt},
|
||||
{"ecb_LTX__mcrypt", ecb_LTX__mcrypt},
|
||||
{"ecb_LTX__mdecrypt", ecb_LTX__mdecrypt},
|
||||
{"ecb_LTX__has_iv", ecb_LTX__has_iv},
|
||||
{"ecb_LTX__is_block_mode", ecb_LTX__is_block_mode},
|
||||
{"ecb_LTX__is_block_algorithm_mode", ecb_LTX__is_block_algorithm_mode},
|
||||
{"ecb_LTX__mcrypt_get_modes_name", ecb_LTX__mcrypt_get_modes_name},
|
||||
{"ecb_LTX__mcrypt_mode_get_size", ecb_LTX__mcrypt_mode_get_size},
|
||||
{"ecb_LTX__mcrypt_mode_version", ecb_LTX__mcrypt_mode_version},
|
||||
{"ncfb", NULL},
|
||||
{"ncfb_LTX__init_mcrypt", ncfb_LTX__init_mcrypt},
|
||||
{"ncfb_LTX__mcrypt_set_state", ncfb_LTX__mcrypt_set_state},
|
||||
{"ncfb_LTX__mcrypt_get_state", ncfb_LTX__mcrypt_get_state},
|
||||
{"ncfb_LTX__end_mcrypt", ncfb_LTX__end_mcrypt},
|
||||
{"ncfb_LTX__mcrypt", ncfb_LTX__mcrypt},
|
||||
{"ncfb_LTX__mdecrypt", ncfb_LTX__mdecrypt},
|
||||
{"ncfb_LTX__has_iv", ncfb_LTX__has_iv},
|
||||
{"ncfb_LTX__is_block_mode", ncfb_LTX__is_block_mode},
|
||||
{"ncfb_LTX__is_block_algorithm_mode", ncfb_LTX__is_block_algorithm_mode},
|
||||
{"ncfb_LTX__mcrypt_get_modes_name", ncfb_LTX__mcrypt_get_modes_name},
|
||||
{"ncfb_LTX__mcrypt_mode_get_size", ncfb_LTX__mcrypt_mode_get_size},
|
||||
{"ncfb_LTX__mcrypt_mode_version", ncfb_LTX__mcrypt_mode_version},
|
||||
{"nofb", NULL},
|
||||
{"nofb_LTX__init_mcrypt", nofb_LTX__init_mcrypt},
|
||||
{"nofb_LTX__mcrypt_set_state", nofb_LTX__mcrypt_set_state},
|
||||
{"nofb_LTX__mcrypt_get_state", nofb_LTX__mcrypt_get_state},
|
||||
{"nofb_LTX__end_mcrypt", nofb_LTX__end_mcrypt},
|
||||
{"nofb_LTX__mcrypt", nofb_LTX__mcrypt},
|
||||
{"nofb_LTX__mdecrypt", nofb_LTX__mdecrypt},
|
||||
{"nofb_LTX__has_iv", nofb_LTX__has_iv},
|
||||
{"nofb_LTX__is_block_mode", nofb_LTX__is_block_mode},
|
||||
{"nofb_LTX__is_block_algorithm_mode", nofb_LTX__is_block_algorithm_mode},
|
||||
{"nofb_LTX__mcrypt_get_modes_name", nofb_LTX__mcrypt_get_modes_name},
|
||||
{"nofb_LTX__mcrypt_mode_get_size", nofb_LTX__mcrypt_mode_get_size},
|
||||
{"nofb_LTX__mcrypt_mode_version", nofb_LTX__mcrypt_mode_version},
|
||||
{"ofb", NULL},
|
||||
{"ofb_LTX__init_mcrypt", ofb_LTX__init_mcrypt},
|
||||
{"ofb_LTX__mcrypt_set_state", ofb_LTX__mcrypt_set_state},
|
||||
{"ofb_LTX__mcrypt_get_state", ofb_LTX__mcrypt_get_state},
|
||||
{"ofb_LTX__end_mcrypt", ofb_LTX__end_mcrypt},
|
||||
{"ofb_LTX__mcrypt", ofb_LTX__mcrypt},
|
||||
{"ofb_LTX__mdecrypt", ofb_LTX__mdecrypt},
|
||||
{"ofb_LTX__has_iv", ofb_LTX__has_iv},
|
||||
{"ofb_LTX__is_block_mode", ofb_LTX__is_block_mode},
|
||||
{"ofb_LTX__is_block_algorithm_mode", ofb_LTX__is_block_algorithm_mode},
|
||||
{"ofb_LTX__mcrypt_get_modes_name", ofb_LTX__mcrypt_get_modes_name},
|
||||
{"ofb_LTX__mcrypt_mode_get_size", ofb_LTX__mcrypt_mode_get_size},
|
||||
{"ofb_LTX__mcrypt_mode_version", ofb_LTX__mcrypt_mode_version},
|
||||
{"stream", NULL},
|
||||
{"stream_LTX__init_mcrypt", stream_LTX__init_mcrypt},
|
||||
{"stream_LTX__mcrypt_set_state", stream_LTX__mcrypt_set_state},
|
||||
{"stream_LTX__mcrypt_get_state", stream_LTX__mcrypt_get_state},
|
||||
{"stream_LTX__end_mcrypt", stream_LTX__end_mcrypt},
|
||||
{"stream_LTX__mcrypt", stream_LTX__mcrypt},
|
||||
{"stream_LTX__mdecrypt", stream_LTX__mdecrypt},
|
||||
{"stream_LTX__has_iv", stream_LTX__has_iv},
|
||||
{"stream_LTX__is_block_mode", stream_LTX__is_block_mode},
|
||||
{"stream_LTX__is_block_algorithm_mode", stream_LTX__is_block_algorithm_mode},
|
||||
{"stream_LTX__mcrypt_get_modes_name", stream_LTX__mcrypt_get_modes_name},
|
||||
{"stream_LTX__mcrypt_mode_get_size", stream_LTX__mcrypt_mode_get_size},
|
||||
{"stream_LTX__mcrypt_mode_version", stream_LTX__mcrypt_mode_version},
|
||||
{"cast-128", NULL},
|
||||
{"cast_128_LTX__mcrypt_set_key", cast_128_LTX__mcrypt_set_key},
|
||||
{"cast_128_LTX__mcrypt_encrypt", cast_128_LTX__mcrypt_encrypt},
|
||||
{"cast_128_LTX__mcrypt_decrypt", cast_128_LTX__mcrypt_decrypt},
|
||||
{"cast_128_LTX__mcrypt_get_size", cast_128_LTX__mcrypt_get_size},
|
||||
{"cast_128_LTX__mcrypt_get_block_size", cast_128_LTX__mcrypt_get_block_size},
|
||||
{"cast_128_LTX__is_block_algorithm", cast_128_LTX__is_block_algorithm},
|
||||
{"cast_128_LTX__mcrypt_get_key_size", cast_128_LTX__mcrypt_get_key_size},
|
||||
{"cast_128_LTX__mcrypt_get_supported_key_sizes", cast_128_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"cast_128_LTX__mcrypt_get_algorithms_name", cast_128_LTX__mcrypt_get_algorithms_name},
|
||||
{"cast_128_LTX__mcrypt_self_test", cast_128_LTX__mcrypt_self_test},
|
||||
{"cast_128_LTX__mcrypt_algorithm_version", cast_128_LTX__mcrypt_algorithm_version},
|
||||
{"gost", NULL},
|
||||
{"gost_LTX__mcrypt_set_key", gost_LTX__mcrypt_set_key},
|
||||
{"gost_LTX__mcrypt_encrypt", gost_LTX__mcrypt_encrypt},
|
||||
{"gost_LTX__mcrypt_decrypt", gost_LTX__mcrypt_decrypt},
|
||||
{"gost_LTX__mcrypt_get_size", gost_LTX__mcrypt_get_size},
|
||||
{"gost_LTX__mcrypt_get_block_size", gost_LTX__mcrypt_get_block_size},
|
||||
{"gost_LTX__is_block_algorithm", gost_LTX__is_block_algorithm},
|
||||
{"gost_LTX__mcrypt_get_key_size", gost_LTX__mcrypt_get_key_size},
|
||||
{"gost_LTX__mcrypt_get_supported_key_sizes", gost_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"gost_LTX__mcrypt_get_algorithms_name", gost_LTX__mcrypt_get_algorithms_name},
|
||||
{"gost_LTX__mcrypt_self_test", gost_LTX__mcrypt_self_test},
|
||||
{"gost_LTX__mcrypt_algorithm_version", gost_LTX__mcrypt_algorithm_version},
|
||||
{"rijndael-128", NULL},
|
||||
{"rijndael_128_LTX__mcrypt_set_key", rijndael_128_LTX__mcrypt_set_key},
|
||||
{"rijndael_128_LTX__mcrypt_encrypt", rijndael_128_LTX__mcrypt_encrypt},
|
||||
{"rijndael_128_LTX__mcrypt_decrypt", rijndael_128_LTX__mcrypt_decrypt},
|
||||
{"rijndael_128_LTX__mcrypt_get_size", rijndael_128_LTX__mcrypt_get_size},
|
||||
{"rijndael_128_LTX__mcrypt_get_block_size", rijndael_128_LTX__mcrypt_get_block_size},
|
||||
{"rijndael_128_LTX__is_block_algorithm", rijndael_128_LTX__is_block_algorithm},
|
||||
{"rijndael_128_LTX__mcrypt_get_key_size", rijndael_128_LTX__mcrypt_get_key_size},
|
||||
{"rijndael_128_LTX__mcrypt_get_supported_key_sizes", rijndael_128_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"rijndael_128_LTX__mcrypt_get_algorithms_name", rijndael_128_LTX__mcrypt_get_algorithms_name},
|
||||
{"rijndael_128_LTX__mcrypt_self_test", rijndael_128_LTX__mcrypt_self_test},
|
||||
{"rijndael_128_LTX__mcrypt_algorithm_version", rijndael_128_LTX__mcrypt_algorithm_version},
|
||||
{"twofish", NULL},
|
||||
{"twofish_LTX__mcrypt_set_key", twofish_LTX__mcrypt_set_key},
|
||||
{"twofish_LTX__mcrypt_encrypt", twofish_LTX__mcrypt_encrypt},
|
||||
{"twofish_LTX__mcrypt_decrypt", twofish_LTX__mcrypt_decrypt},
|
||||
{"twofish_LTX__mcrypt_get_size", twofish_LTX__mcrypt_get_size},
|
||||
{"twofish_LTX__mcrypt_get_block_size", twofish_LTX__mcrypt_get_block_size},
|
||||
{"twofish_LTX__is_block_algorithm", twofish_LTX__is_block_algorithm},
|
||||
{"twofish_LTX__mcrypt_get_key_size", twofish_LTX__mcrypt_get_key_size},
|
||||
{"twofish_LTX__mcrypt_get_supported_key_sizes", twofish_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"twofish_LTX__mcrypt_get_algorithms_name", twofish_LTX__mcrypt_get_algorithms_name},
|
||||
{"twofish_LTX__mcrypt_self_test", twofish_LTX__mcrypt_self_test},
|
||||
{"twofish_LTX__mcrypt_algorithm_version", twofish_LTX__mcrypt_algorithm_version},
|
||||
{"arcfour", NULL},
|
||||
{"arcfour_LTX__mcrypt_set_key", arcfour_LTX__mcrypt_set_key},
|
||||
{"arcfour_LTX__mcrypt_encrypt", arcfour_LTX__mcrypt_encrypt},
|
||||
{"arcfour_LTX__mcrypt_decrypt", arcfour_LTX__mcrypt_decrypt},
|
||||
{"arcfour_LTX__mcrypt_get_size", arcfour_LTX__mcrypt_get_size},
|
||||
{"arcfour_LTX__mcrypt_get_block_size", arcfour_LTX__mcrypt_get_block_size},
|
||||
{"arcfour_LTX__is_block_algorithm", arcfour_LTX__is_block_algorithm},
|
||||
{"arcfour_LTX__mcrypt_get_key_size", arcfour_LTX__mcrypt_get_key_size},
|
||||
{"arcfour_LTX__mcrypt_get_algo_iv_size", arcfour_LTX__mcrypt_get_algo_iv_size},
|
||||
{"arcfour_LTX__mcrypt_get_supported_key_sizes", arcfour_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"arcfour_LTX__mcrypt_get_algorithms_name", arcfour_LTX__mcrypt_get_algorithms_name},
|
||||
{"arcfour_LTX__mcrypt_self_test", arcfour_LTX__mcrypt_self_test},
|
||||
{"arcfour_LTX__mcrypt_algorithm_version", arcfour_LTX__mcrypt_algorithm_version},
|
||||
{"cast-256", NULL},
|
||||
{"cast_256_LTX__mcrypt_set_key", cast_256_LTX__mcrypt_set_key},
|
||||
{"cast_256_LTX__mcrypt_encrypt", cast_256_LTX__mcrypt_encrypt},
|
||||
{"cast_256_LTX__mcrypt_decrypt", cast_256_LTX__mcrypt_decrypt},
|
||||
{"cast_256_LTX__mcrypt_get_size", cast_256_LTX__mcrypt_get_size},
|
||||
{"cast_256_LTX__mcrypt_get_block_size", cast_256_LTX__mcrypt_get_block_size},
|
||||
{"cast_256_LTX__is_block_algorithm", cast_256_LTX__is_block_algorithm},
|
||||
{"cast_256_LTX__mcrypt_get_key_size", cast_256_LTX__mcrypt_get_key_size},
|
||||
{"cast_256_LTX__mcrypt_get_supported_key_sizes", cast_256_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"cast_256_LTX__mcrypt_get_algorithms_name", cast_256_LTX__mcrypt_get_algorithms_name},
|
||||
{"cast_256_LTX__mcrypt_self_test", cast_256_LTX__mcrypt_self_test},
|
||||
{"cast_256_LTX__mcrypt_algorithm_version", cast_256_LTX__mcrypt_algorithm_version},
|
||||
{"loki97", NULL},
|
||||
{"loki97_LTX__mcrypt_set_key", loki97_LTX__mcrypt_set_key},
|
||||
{"loki97_LTX__mcrypt_encrypt", loki97_LTX__mcrypt_encrypt},
|
||||
{"loki97_LTX__mcrypt_decrypt", loki97_LTX__mcrypt_decrypt},
|
||||
{"loki97_LTX__mcrypt_get_size", loki97_LTX__mcrypt_get_size},
|
||||
{"loki97_LTX__mcrypt_get_block_size", loki97_LTX__mcrypt_get_block_size},
|
||||
{"loki97_LTX__is_block_algorithm", loki97_LTX__is_block_algorithm},
|
||||
{"loki97_LTX__mcrypt_get_key_size", loki97_LTX__mcrypt_get_key_size},
|
||||
{"loki97_LTX__mcrypt_get_supported_key_sizes", loki97_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"loki97_LTX__mcrypt_get_algorithms_name", loki97_LTX__mcrypt_get_algorithms_name},
|
||||
{"loki97_LTX__mcrypt_self_test", loki97_LTX__mcrypt_self_test},
|
||||
{"loki97_LTX__mcrypt_algorithm_version", loki97_LTX__mcrypt_algorithm_version},
|
||||
{"rijndael-192", NULL},
|
||||
{"rijndael_192_LTX__mcrypt_set_key", rijndael_192_LTX__mcrypt_set_key},
|
||||
{"rijndael_192_LTX__mcrypt_encrypt", rijndael_192_LTX__mcrypt_encrypt},
|
||||
{"rijndael_192_LTX__mcrypt_decrypt", rijndael_192_LTX__mcrypt_decrypt},
|
||||
{"rijndael_192_LTX__mcrypt_get_size", rijndael_192_LTX__mcrypt_get_size},
|
||||
{"rijndael_192_LTX__mcrypt_get_block_size", rijndael_192_LTX__mcrypt_get_block_size},
|
||||
{"rijndael_192_LTX__is_block_algorithm", rijndael_192_LTX__is_block_algorithm},
|
||||
{"rijndael_192_LTX__mcrypt_get_key_size", rijndael_192_LTX__mcrypt_get_key_size},
|
||||
{"rijndael_192_LTX__mcrypt_get_supported_key_sizes", rijndael_192_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"rijndael_192_LTX__mcrypt_get_algorithms_name", rijndael_192_LTX__mcrypt_get_algorithms_name},
|
||||
{"rijndael_192_LTX__mcrypt_self_test", rijndael_192_LTX__mcrypt_self_test},
|
||||
{"rijndael_192_LTX__mcrypt_algorithm_version", rijndael_192_LTX__mcrypt_algorithm_version},
|
||||
{"saferplus", NULL},
|
||||
{"saferplus_LTX__mcrypt_set_key", saferplus_LTX__mcrypt_set_key},
|
||||
{"saferplus_LTX__mcrypt_encrypt", saferplus_LTX__mcrypt_encrypt},
|
||||
{"saferplus_LTX__mcrypt_decrypt", saferplus_LTX__mcrypt_decrypt},
|
||||
{"saferplus_LTX__mcrypt_get_size", saferplus_LTX__mcrypt_get_size},
|
||||
{"saferplus_LTX__mcrypt_get_block_size", saferplus_LTX__mcrypt_get_block_size},
|
||||
{"saferplus_LTX__is_block_algorithm", saferplus_LTX__is_block_algorithm},
|
||||
{"saferplus_LTX__mcrypt_get_key_size", saferplus_LTX__mcrypt_get_key_size},
|
||||
{"saferplus_LTX__mcrypt_get_supported_key_sizes", saferplus_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"saferplus_LTX__mcrypt_get_algorithms_name", saferplus_LTX__mcrypt_get_algorithms_name},
|
||||
{"saferplus_LTX__mcrypt_self_test", saferplus_LTX__mcrypt_self_test},
|
||||
{"saferplus_LTX__mcrypt_algorithm_version", saferplus_LTX__mcrypt_algorithm_version},
|
||||
{"wake", NULL},
|
||||
{"wake_LTX__mcrypt_set_key", wake_LTX__mcrypt_set_key},
|
||||
{"wake_LTX__mcrypt_encrypt", wake_LTX__mcrypt_encrypt},
|
||||
{"wake_LTX__mcrypt_decrypt", wake_LTX__mcrypt_decrypt},
|
||||
{"wake_LTX__mcrypt_get_size", wake_LTX__mcrypt_get_size},
|
||||
{"wake_LTX__mcrypt_get_block_size", wake_LTX__mcrypt_get_block_size},
|
||||
{"wake_LTX__is_block_algorithm", wake_LTX__is_block_algorithm},
|
||||
{"wake_LTX__mcrypt_get_key_size", wake_LTX__mcrypt_get_key_size},
|
||||
{"wake_LTX__mcrypt_get_algo_iv_size", wake_LTX__mcrypt_get_algo_iv_size},
|
||||
{"wake_LTX__mcrypt_get_supported_key_sizes", wake_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"wake_LTX__mcrypt_get_algorithms_name", wake_LTX__mcrypt_get_algorithms_name},
|
||||
{"wake_LTX__mcrypt_self_test", wake_LTX__mcrypt_self_test},
|
||||
{"wake_LTX__mcrypt_algorithm_version", wake_LTX__mcrypt_algorithm_version},
|
||||
{"blowfish-compat", NULL},
|
||||
{"blowfish_compat_LTX__mcrypt_set_key", blowfish_compat_LTX__mcrypt_set_key},
|
||||
{"blowfish_compat_LTX__mcrypt_encrypt", blowfish_compat_LTX__mcrypt_encrypt},
|
||||
{"blowfish_compat_LTX__mcrypt_decrypt", blowfish_compat_LTX__mcrypt_decrypt},
|
||||
{"blowfish_compat_LTX__mcrypt_get_size", blowfish_compat_LTX__mcrypt_get_size},
|
||||
{"blowfish_compat_LTX__mcrypt_get_block_size", blowfish_compat_LTX__mcrypt_get_block_size},
|
||||
{"blowfish_compat_LTX__is_block_algorithm", blowfish_compat_LTX__is_block_algorithm},
|
||||
{"blowfish_compat_LTX__mcrypt_get_key_size", blowfish_compat_LTX__mcrypt_get_key_size},
|
||||
{"blowfish_compat_LTX__mcrypt_get_supported_key_sizes", blowfish_compat_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"blowfish_compat_LTX__mcrypt_get_algorithms_name", blowfish_compat_LTX__mcrypt_get_algorithms_name},
|
||||
{"blowfish_compat_LTX__mcrypt_self_test", blowfish_compat_LTX__mcrypt_self_test},
|
||||
{"blowfish_compat_LTX__mcrypt_algorithm_version", blowfish_compat_LTX__mcrypt_algorithm_version},
|
||||
{"des", NULL},
|
||||
{"des_LTX__mcrypt_set_key", des_LTX__mcrypt_set_key},
|
||||
{"des_LTX__mcrypt_encrypt", des_LTX__mcrypt_encrypt},
|
||||
{"des_LTX__mcrypt_decrypt", des_LTX__mcrypt_decrypt},
|
||||
{"des_LTX__mcrypt_get_size", des_LTX__mcrypt_get_size},
|
||||
{"des_LTX__mcrypt_get_block_size", des_LTX__mcrypt_get_block_size},
|
||||
{"des_LTX__is_block_algorithm", des_LTX__is_block_algorithm},
|
||||
{"des_LTX__mcrypt_get_key_size", des_LTX__mcrypt_get_key_size},
|
||||
{"des_LTX__mcrypt_get_supported_key_sizes", des_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"des_LTX__mcrypt_get_algorithms_name", des_LTX__mcrypt_get_algorithms_name},
|
||||
{"des_LTX__mcrypt_self_test", des_LTX__mcrypt_self_test},
|
||||
{"des_LTX__mcrypt_algorithm_version", des_LTX__mcrypt_algorithm_version},
|
||||
{"rijndael-256", NULL},
|
||||
{"rijndael_256_LTX__mcrypt_set_key", rijndael_256_LTX__mcrypt_set_key},
|
||||
{"rijndael_256_LTX__mcrypt_encrypt", rijndael_256_LTX__mcrypt_encrypt},
|
||||
{"rijndael_256_LTX__mcrypt_decrypt", rijndael_256_LTX__mcrypt_decrypt},
|
||||
{"rijndael_256_LTX__mcrypt_get_size", rijndael_256_LTX__mcrypt_get_size},
|
||||
{"rijndael_256_LTX__mcrypt_get_block_size", rijndael_256_LTX__mcrypt_get_block_size},
|
||||
{"rijndael_256_LTX__is_block_algorithm", rijndael_256_LTX__is_block_algorithm},
|
||||
{"rijndael_256_LTX__mcrypt_get_key_size", rijndael_256_LTX__mcrypt_get_key_size},
|
||||
{"rijndael_256_LTX__mcrypt_get_supported_key_sizes", rijndael_256_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"rijndael_256_LTX__mcrypt_get_algorithms_name", rijndael_256_LTX__mcrypt_get_algorithms_name},
|
||||
{"rijndael_256_LTX__mcrypt_self_test", rijndael_256_LTX__mcrypt_self_test},
|
||||
{"rijndael_256_LTX__mcrypt_algorithm_version", rijndael_256_LTX__mcrypt_algorithm_version},
|
||||
{"serpent", NULL},
|
||||
{"serpent_LTX__mcrypt_set_key", serpent_LTX__mcrypt_set_key},
|
||||
{"serpent_LTX__mcrypt_encrypt", serpent_LTX__mcrypt_encrypt},
|
||||
{"serpent_LTX__mcrypt_decrypt", serpent_LTX__mcrypt_decrypt},
|
||||
{"serpent_LTX__mcrypt_get_size", serpent_LTX__mcrypt_get_size},
|
||||
{"serpent_LTX__mcrypt_get_block_size", serpent_LTX__mcrypt_get_block_size},
|
||||
{"serpent_LTX__is_block_algorithm", serpent_LTX__is_block_algorithm},
|
||||
{"serpent_LTX__mcrypt_get_key_size", serpent_LTX__mcrypt_get_key_size},
|
||||
{"serpent_LTX__mcrypt_get_supported_key_sizes", serpent_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"serpent_LTX__mcrypt_get_algorithms_name", serpent_LTX__mcrypt_get_algorithms_name},
|
||||
{"serpent_LTX__mcrypt_self_test", serpent_LTX__mcrypt_self_test},
|
||||
{"serpent_LTX__mcrypt_algorithm_version", serpent_LTX__mcrypt_algorithm_version},
|
||||
{"xtea", NULL},
|
||||
{"xtea_LTX__mcrypt_set_key", xtea_LTX__mcrypt_set_key},
|
||||
{"xtea_LTX__mcrypt_encrypt", xtea_LTX__mcrypt_encrypt},
|
||||
{"xtea_LTX__mcrypt_decrypt", xtea_LTX__mcrypt_decrypt},
|
||||
{"xtea_LTX__mcrypt_get_size", xtea_LTX__mcrypt_get_size},
|
||||
{"xtea_LTX__mcrypt_get_block_size", xtea_LTX__mcrypt_get_block_size},
|
||||
{"xtea_LTX__is_block_algorithm", xtea_LTX__is_block_algorithm},
|
||||
{"xtea_LTX__mcrypt_get_key_size", xtea_LTX__mcrypt_get_key_size},
|
||||
{"xtea_LTX__mcrypt_get_supported_key_sizes", xtea_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"xtea_LTX__mcrypt_get_algorithms_name", xtea_LTX__mcrypt_get_algorithms_name},
|
||||
{"xtea_LTX__mcrypt_self_test", xtea_LTX__mcrypt_self_test},
|
||||
{"xtea_LTX__mcrypt_algorithm_version", xtea_LTX__mcrypt_algorithm_version},
|
||||
{"blowfish", NULL},
|
||||
{"blowfish_LTX__mcrypt_set_key", blowfish_LTX__mcrypt_set_key},
|
||||
{"blowfish_LTX__mcrypt_encrypt", blowfish_LTX__mcrypt_encrypt},
|
||||
{"blowfish_LTX__mcrypt_decrypt", blowfish_LTX__mcrypt_decrypt},
|
||||
{"blowfish_LTX__mcrypt_get_size", blowfish_LTX__mcrypt_get_size},
|
||||
{"blowfish_LTX__mcrypt_get_block_size", blowfish_LTX__mcrypt_get_block_size},
|
||||
{"blowfish_LTX__is_block_algorithm", blowfish_LTX__is_block_algorithm},
|
||||
{"blowfish_LTX__mcrypt_get_key_size", blowfish_LTX__mcrypt_get_key_size},
|
||||
{"blowfish_LTX__mcrypt_get_supported_key_sizes", blowfish_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"blowfish_LTX__mcrypt_get_algorithms_name", blowfish_LTX__mcrypt_get_algorithms_name},
|
||||
{"blowfish_LTX__mcrypt_self_test", blowfish_LTX__mcrypt_self_test},
|
||||
{"blowfish_LTX__mcrypt_algorithm_version", blowfish_LTX__mcrypt_algorithm_version},
|
||||
{"enigma", NULL},
|
||||
{"enigma_LTX__mcrypt_set_key", enigma_LTX__mcrypt_set_key},
|
||||
{"enigma_LTX__mcrypt_encrypt", enigma_LTX__mcrypt_encrypt},
|
||||
{"enigma_LTX__mcrypt_decrypt", enigma_LTX__mcrypt_decrypt},
|
||||
{"enigma_LTX__mcrypt_get_size", enigma_LTX__mcrypt_get_size},
|
||||
{"enigma_LTX__mcrypt_get_block_size", enigma_LTX__mcrypt_get_block_size},
|
||||
{"enigma_LTX__is_block_algorithm", enigma_LTX__is_block_algorithm},
|
||||
{"enigma_LTX__mcrypt_get_key_size", enigma_LTX__mcrypt_get_key_size},
|
||||
{"enigma_LTX__mcrypt_get_algo_iv_size", enigma_LTX__mcrypt_get_algo_iv_size},
|
||||
{"enigma_LTX__mcrypt_get_supported_key_sizes", enigma_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"enigma_LTX__mcrypt_get_algorithms_name", enigma_LTX__mcrypt_get_algorithms_name},
|
||||
{"enigma_LTX__mcrypt_self_test", enigma_LTX__mcrypt_self_test},
|
||||
{"enigma_LTX__mcrypt_algorithm_version", enigma_LTX__mcrypt_algorithm_version},
|
||||
{"rc2", NULL},
|
||||
{"rc2_LTX__mcrypt_set_key", rc2_LTX__mcrypt_set_key},
|
||||
{"rc2_LTX__mcrypt_encrypt", rc2_LTX__mcrypt_encrypt},
|
||||
{"rc2_LTX__mcrypt_decrypt", rc2_LTX__mcrypt_decrypt},
|
||||
{"rc2_LTX__mcrypt_get_size", rc2_LTX__mcrypt_get_size},
|
||||
{"rc2_LTX__mcrypt_get_block_size", rc2_LTX__mcrypt_get_block_size},
|
||||
{"rc2_LTX__is_block_algorithm", rc2_LTX__is_block_algorithm},
|
||||
{"rc2_LTX__mcrypt_get_key_size", rc2_LTX__mcrypt_get_key_size},
|
||||
{"rc2_LTX__mcrypt_get_supported_key_sizes", rc2_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"rc2_LTX__mcrypt_get_algorithms_name", rc2_LTX__mcrypt_get_algorithms_name},
|
||||
{"rc2_LTX__mcrypt_self_test", rc2_LTX__mcrypt_self_test},
|
||||
{"rc2_LTX__mcrypt_algorithm_version", rc2_LTX__mcrypt_algorithm_version},
|
||||
{"tripledes", NULL},
|
||||
{"tripledes_LTX__mcrypt_set_key", tripledes_LTX__mcrypt_set_key},
|
||||
{"tripledes_LTX__mcrypt_encrypt", tripledes_LTX__mcrypt_encrypt},
|
||||
{"tripledes_LTX__mcrypt_decrypt", tripledes_LTX__mcrypt_decrypt},
|
||||
{"tripledes_LTX__mcrypt_get_size", tripledes_LTX__mcrypt_get_size},
|
||||
{"tripledes_LTX__mcrypt_get_block_size", tripledes_LTX__mcrypt_get_block_size},
|
||||
{"tripledes_LTX__is_block_algorithm", tripledes_LTX__is_block_algorithm},
|
||||
{"tripledes_LTX__mcrypt_get_key_size", tripledes_LTX__mcrypt_get_key_size},
|
||||
{"tripledes_LTX__mcrypt_get_supported_key_sizes", tripledes_LTX__mcrypt_get_supported_key_sizes},
|
||||
{"tripledes_LTX__mcrypt_get_algorithms_name", tripledes_LTX__mcrypt_get_algorithms_name},
|
||||
{"tripledes_LTX__mcrypt_self_test", tripledes_LTX__mcrypt_self_test},
|
||||
{"tripledes_LTX__mcrypt_algorithm_version", tripledes_LTX__mcrypt_algorithm_version},
|
||||
{NULL, NULL}
|
||||
};
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (C) 2001 Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Library General Public License as published
|
||||
* by the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef LIBDEFS_H
|
||||
#define LIBDEFS_H
|
||||
#include <libdefs.h>
|
||||
#endif
|
||||
|
||||
#ifdef DLMUTEX
|
||||
|
||||
static void _mcrypt_mutex_seterror (const char *ERROR) {
|
||||
return; /* do nothing */
|
||||
}
|
||||
static const char * _mcrypt_mutex_geterror (void) {
|
||||
/* return no error */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_mutex_register ( void (*mutex_lock)(void) ,
|
||||
void (*mutex_unlock)(void))
|
||||
{
|
||||
|
||||
return lt_dlmutex_register ( mutex_lock, mutex_unlock,
|
||||
_mcrypt_mutex_seterror, _mcrypt_mutex_geterror);
|
||||
|
||||
}
|
||||
#else
|
||||
WIN32DLL_DEFINE
|
||||
int mcrypt_mutex_register ( void (*mutex_lock)(void) ,
|
||||
void (*mutex_unlock)(void))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* NO_DLMUTEX */
|
||||
@@ -0,0 +1,30 @@
|
||||
/* (c) D.Souflis dsouflis@acm.org */
|
||||
|
||||
#include "libdefs.h"
|
||||
#include "win32_comp.h"
|
||||
|
||||
#ifdef WIN32
|
||||
WIN32DLL_DEFINE int main (void)
|
||||
{
|
||||
/* empty main function to avoid linker error (see cygwin FAQ) */
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef WIN32_DLOPEN
|
||||
|
||||
void *dlopen(const char *module, int unused)
|
||||
{
|
||||
return (void *) LoadLibrary(module);
|
||||
}
|
||||
|
||||
void *dlsym(void *mo, const char *proc)
|
||||
{
|
||||
return (void *) GetProcAddress((HMODULE) mo, proc);
|
||||
}
|
||||
|
||||
void dlclose(void *mo)
|
||||
{
|
||||
(void) FreeLibrary((HMODULE) mo);
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,41 @@
|
||||
/* (c) D.Souflis dsouflis@acm.org */
|
||||
|
||||
#ifndef _WINSTUBDL_H
|
||||
#define _WINSTUBDL_H
|
||||
|
||||
#ifdef WIN32
|
||||
# define WIN32DLL_DEFINE __declspec( dllexport)
|
||||
#else
|
||||
# define WIN32DLL_DEFINE
|
||||
#endif
|
||||
|
||||
#ifdef WIN32_DLOPEN
|
||||
#include <windows.h>
|
||||
#ifndef RTLD_LAZY
|
||||
# define RTLD_LAZY 1
|
||||
#endif
|
||||
void *dlopen(const char *module, int unused);
|
||||
void* dlsym(void* mo, const char *proc);
|
||||
void dlclose(void* mo);
|
||||
#endif
|
||||
|
||||
// windows 버전 컴파일을 위한 설정
|
||||
#ifdef WIN32
|
||||
#define STDC_HEADERS
|
||||
#define SIZEOF_UNSIGNED_INT 4
|
||||
#define SIZEOF_UNSIGNED_SHORT_INT 2
|
||||
#define SIZEOF_UNSIGNED_CHAR 1
|
||||
#define HAVE_MEMSET
|
||||
#define HAVE_MEMMOVE
|
||||
#define LIBDIR "lib"
|
||||
|
||||
//dll 아닌 lib 지원을 위한 셋팅
|
||||
#ifdef WIN32DLL_DEFINE
|
||||
#undef WIN32DLL_DEFINE
|
||||
#define WIN32DLL_DEFINE
|
||||
#endif
|
||||
|
||||
#define inline __inline
|
||||
#endif // WIN32
|
||||
// windows 버전 컴파일을 위한 설정
|
||||
#endif
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999 Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: xmemory.c,v 1.3 2001/05/17 18:58:20 nmav Exp $ */
|
||||
|
||||
#ifndef LIBDEFS_H
|
||||
# define LIBDEFS_H
|
||||
# include <libdefs.h>
|
||||
#endif
|
||||
#include <bzero.h>
|
||||
|
||||
#ifdef HAVE_MLOCK
|
||||
# ifdef HAVE_SYS_MMAN_H
|
||||
# include <sys/mman.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MLOCK
|
||||
void LOCKMEM(void *x, size_t size)
|
||||
{
|
||||
mlock(x, size);
|
||||
}
|
||||
|
||||
# define UNLOCKMEM(x,y) munlock(x,y)
|
||||
#else
|
||||
# define LOCKMEM(x,y)
|
||||
# define UNLOCKMEM(x,y)
|
||||
#endif
|
||||
|
||||
#include <bzero.h>
|
||||
|
||||
/* memory allocation */
|
||||
|
||||
void *mxmalloc(size_t size)
|
||||
{
|
||||
char *x;
|
||||
|
||||
x = malloc(size);
|
||||
|
||||
if (x != NULL) {
|
||||
LOCKMEM(x, size);
|
||||
return x;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void *mxcalloc(size_t nmemb, size_t size)
|
||||
{
|
||||
char *x;
|
||||
|
||||
x = calloc(nmemb, size);
|
||||
if (x != NULL) {
|
||||
LOCKMEM(x, size);
|
||||
return x;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void *mxrealloc(void *ptr, size_t size)
|
||||
{
|
||||
char *x;
|
||||
|
||||
x = realloc(ptr, size);
|
||||
if (x != NULL) {
|
||||
LOCKMEM(x, size);
|
||||
return x;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void mxfree(void *ptr, size_t size)
|
||||
{
|
||||
|
||||
Bzero(ptr, size);
|
||||
UNLOCKMEM(ptr, size);
|
||||
free(ptr);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
void *mxmalloc(size_t size);
|
||||
void *mxcalloc(size_t nmemb, size_t size);
|
||||
void *mxrealloc(void *ptr, size_t size);
|
||||
void mxfree( void *ptr, size_t size);
|
||||
Reference in New Issue
Block a user