mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 06:50:12 +00:00
Add OpenAFS build machinery for libhcrypto
Add an OpenAFS build environment for the symmetric algorithms in libhcrypto. Change-Id: I0d971433fe0130854a7c50cd9107af02893b1d58 Reviewed-on: http://gerrit.openafs.org/2575 Reviewed-by: Derrick Brashear <shadow@dementia.org> Tested-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
parent
d8f2debce4
commit
f6d1f17f48
13
Makefile.in
13
Makefile.in
@ -109,7 +109,7 @@ packages: dest
|
||||
echo Not building packages for ${SYS_NAME} ;; \
|
||||
esac
|
||||
|
||||
${TOP_INCDIR}/afs ${TOP_INCDIR}/rx ${TOP_INCDIR}/des ${TOP_LIBDIR} ${TOP_JLIBDIR}:
|
||||
${TOP_INCDIR}/afs ${TOP_INCDIR}/rx ${TOP_INCDIR}/des ${TOP_INCDIR}/hcrypto ${TOP_LIBDIR} ${TOP_JLIBDIR}:
|
||||
mkdir -p $@
|
||||
|
||||
install_dirs: force
|
||||
@ -135,7 +135,7 @@ dest_dirs: force
|
||||
mkdir -p ${DEST}/root.server/etc
|
||||
mkdir -p ${DEST}/root.server/usr/afs/bin
|
||||
|
||||
prelude: ${TOP_INCDIR}/afs ${TOP_INCDIR}/rx ${TOP_INCDIR}/des ${TOP_LIBDIR}
|
||||
prelude: ${TOP_INCDIR}/afs ${TOP_INCDIR}/rx ${TOP_INCDIR}/des ${TOP_INCDIR}/hcrypto ${TOP_LIBDIR}
|
||||
|
||||
project: cmd comerr
|
||||
|
||||
@ -165,6 +165,9 @@ cmd: comerr
|
||||
${COMPILE_PART1} cmd ${COMPILE_PART2} ;; \
|
||||
esac
|
||||
|
||||
hcrypto:
|
||||
+${COMPILE_PART1} crypto/hcrypto ${COMPILE_PART2}
|
||||
|
||||
lwp: util lwp_depinstall
|
||||
+${COMPILE_PART1} lwp ${COMPILE_PART2}
|
||||
|
||||
@ -648,7 +651,7 @@ build_tools: config des comerr rxgen
|
||||
finale: project cmd comerr afsd butc tbutc tbudb @ENABLE_KERNEL_MODULE@ libuafs audit kauth log \
|
||||
ptserver tptserver scout bu_utils ubik uss bozo @VFSCK@ volser tvolser tsalvaged \
|
||||
dviced dvolser \
|
||||
venus update xstat afsmonitor rxdebug libafsrpc \
|
||||
venus update xstat afsmonitor rxdebug libafsrpc hcrypto \
|
||||
libafsauthent shlibafsrpc shlibafsauthent libadmin man-pages \
|
||||
platform kopenafs authtools
|
||||
+${COMPILE_PART1} finale ${COMPILE_PART2}
|
||||
@ -656,7 +659,7 @@ finale: project cmd comerr afsd butc tbutc tbudb @ENABLE_KERNEL_MODULE@ libuafs
|
||||
finale_nolibafs: project cmd comerr afsd butc tbutc tbudb libuafs audit kauth log \
|
||||
ptserver tptserver scout bu_utils ubik tubik uss bozo @VFSCK@ volser tvolser tsalvaged \
|
||||
dviced dvolser \
|
||||
venus update xstat afsmonitor rxdebug libafsrpc \
|
||||
venus update xstat afsmonitor rxdebug libafsrpc hcrypto \
|
||||
libafsauthent shlibafsrpc shlibafsauthent libadmin man-pages \
|
||||
platform kopenafs authtools
|
||||
+${COMPILE_PART1} finale ${COMPILE_PART2}
|
||||
@ -772,6 +775,7 @@ clean2:
|
||||
-${COMPILE_PART1} libafs ${COMPILE_CLEAN}
|
||||
-${COMPILE_PART1} libuafs ${COMPILE_CLEAN}
|
||||
-${COMPILE_PART1} tests ${COMPILE_CLEAN}
|
||||
-${COMPILE_PART1} crypto/hcrypto ${COMPILE_CLEAN}
|
||||
-(cd src/libafs; /bin/rm -rf afs afsint config rx)
|
||||
-(cd src/libuafs; /bin/rm -rf afs afsint config rx des)
|
||||
-/bin/rm -rf ${TOP_INCDIR} ${TOP_LIBDIR} ${TOP_JLIBDIR}
|
||||
@ -812,6 +816,7 @@ distclean: clean
|
||||
src/config/Makefile.version-NOCML \
|
||||
src/config/shlib-build \
|
||||
src/config/shlib-install \
|
||||
src/crypto/hcrypto/Makefile \
|
||||
src/des/Makefile \
|
||||
src/des/test/Makefile \
|
||||
src/dir/Makefile \
|
||||
|
@ -1201,7 +1201,7 @@ AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h grp.h)
|
||||
AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
|
||||
AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
|
||||
AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h sys/pag.h)
|
||||
AC_CHECK_HEADERS(windows.h direct.h sys/ipc.h sys/resource.h)
|
||||
AC_CHECK_HEADERS(windows.h direct.h sys/ipc.h sys/resource.h sys/un.h)
|
||||
AC_CHECK_HEADERS(security/pam_modules.h ucontext.h regex.h sys/statvfs.h sys/statfs.h sys/bitypes.h)
|
||||
AC_CHECK_HEADERS(linux/errqueue.h,,,[#include <linux/types.h>])
|
||||
AC_CHECK_HEADERS(et/com_err.h)
|
||||
@ -1248,6 +1248,7 @@ AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strc
|
||||
AC_CHECK_FUNCS(setvbuf vsyslog getcwd)
|
||||
AC_CHECK_FUNCS(regcomp regexec regerror)
|
||||
AC_CHECK_FUNCS(fseeko64 ftello64)
|
||||
AC_CHECK_FUNCS(setitimer issetugidi getuid geteuid getgid getegid)
|
||||
AC_MSG_CHECKING([for POSIX regex library])
|
||||
if test "$ac_cv_header_regex_h" = "yes" && \
|
||||
test "$ac_cv_func_regcomp" = "yes" && \
|
||||
@ -1260,6 +1261,7 @@ else
|
||||
fi
|
||||
|
||||
AC_TYPE_SIGNAL
|
||||
OPENAFS_RETSIGTYPE
|
||||
AC_CHECK_SIZEOF(void *)
|
||||
AC_CHECK_SIZEOF(unsigned long long)
|
||||
AC_CHECK_SIZEOF(unsigned long)
|
||||
@ -1386,7 +1388,6 @@ AC_SUBST(HELPER_SPLINTCFG)
|
||||
|
||||
mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
|
||||
|
||||
|
||||
dnl Check to see if crypt lives in a different library
|
||||
AC_CHECK_LIB(crypt, crypt, LIB_crypt="-lcrypt")
|
||||
AC_SUBST(LIB_crypt)
|
||||
@ -1408,4 +1409,7 @@ struct labeltest struct_labeltest = {
|
||||
[AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
dnl Eventually, this will look for the system one, or for OpenSSL
|
||||
LIB_hcrypto="-lafshcrypto"
|
||||
AC_SUBST(LIB_hcrypto)
|
||||
])
|
||||
|
@ -131,6 +131,7 @@ src/config/Makefile.version-CML \
|
||||
src/config/Makefile.version-NOCML \
|
||||
src/config/shlib-build \
|
||||
src/config/shlib-install \
|
||||
src/crypto/hcrypto/Makefile \
|
||||
src/des/Makefile \
|
||||
src/des/test/Makefile \
|
||||
src/dir/Makefile \
|
||||
|
18
src/cf/retsigtype.m4
Normal file
18
src/cf/retsigtype.m4
Normal file
@ -0,0 +1,18 @@
|
||||
dnl
|
||||
dnl $Id$
|
||||
dnl
|
||||
dnl Figure out return type of signal handlers, and define SIGRETURN macro
|
||||
dnl that can be used to return from one
|
||||
dnl
|
||||
AC_DEFUN([OPENAFS_RETSIGTYPE],[
|
||||
AC_TYPE_SIGNAL
|
||||
if test "$ac_cv_type_signal" = "void" ; then
|
||||
AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if signal handlers return void.])
|
||||
fi
|
||||
|
||||
AH_BOTTOM([#ifdef VOID_RETSIGTYPE
|
||||
#define SIGRETURN(x) return
|
||||
#else
|
||||
#define SIGRETURN(x) return (RETSIGTYPE)(x)
|
||||
#endif])
|
||||
])
|
@ -51,6 +51,7 @@ LD = @LD@
|
||||
LEX = @LEX@
|
||||
LIB_AFSDB = @LIB_AFSDB@
|
||||
LIB_crypt = @LIB_crypt@
|
||||
LIB_hcrypto = @LIB_hcrypto@
|
||||
LIBS = @LIBS@
|
||||
LIB_LIBINTL = @LIB_libintl@
|
||||
LINUX_KERNEL_PATH = @LINUX_KERNEL_PATH@
|
||||
|
2
src/crypto/hcrypto/.gitignore
vendored
Normal file
2
src/crypto/hcrypto/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/test_cipher
|
||||
/libafshcrypto.exp
|
265
src/crypto/hcrypto/Makefile.in
Normal file
265
src/crypto/hcrypto/Makefile.in
Normal file
@ -0,0 +1,265 @@
|
||||
# Copyright 2010, Your File System Inc
|
||||
# All rights reserved
|
||||
#
|
||||
# This software has been released under the terms of the BSD License
|
||||
# For details, see the LICENSE file in the top level source directory
|
||||
|
||||
# API version. Must be incremented whenever something changes.
|
||||
LIBMAJOR=1
|
||||
LIBMINOR=1
|
||||
|
||||
srcdir=@srcdir@
|
||||
include @TOP_OBJDIR@/src/config/Makefile.config
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
CC=${MT_CC}
|
||||
CFLAGS=${COMMON_CFLAGS} ${MT_CFLAGS} ${SHLIB_CFLAGS}
|
||||
|
||||
HEADERS= ${TOP_INCDIR}/hcrypto/aes.h \
|
||||
${TOP_INCDIR}/hcrypto/des.h \
|
||||
${TOP_INCDIR}/hcrypto/engine.h \
|
||||
${TOP_INCDIR}/hcrypto/evp.h \
|
||||
${TOP_INCDIR}/hcrypto/evp-hcrypto.h \
|
||||
${TOP_INCDIR}/hcrypto/evp-cc.h \
|
||||
${TOP_INCDIR}/hcrypto/hmac.h \
|
||||
${TOP_INCDIR}/hcrypto/md2.h \
|
||||
${TOP_INCDIR}/hcrypto/md4.h \
|
||||
${TOP_INCDIR}/hcrypto/md5.h \
|
||||
${TOP_INCDIR}/hcrypto/rand.h \
|
||||
${TOP_INCDIR}/hcrypto/rc2.h \
|
||||
${TOP_INCDIR}/hcrypto/rc4.h \
|
||||
${TOP_INCDIR}/hcrypto/sha.h \
|
||||
${TOP_INCDIR}/hcrypto/ui.h
|
||||
|
||||
SHLIBOBJ= libafshcrypto.${SHLIB_SUFFIX}.${LIBMAJOR}.${LIBMINOR}
|
||||
|
||||
all: ${HEADERS} ${TOP_LIBDIR}/${SHLIBOBJ} ${TOP_LIBDIR}/libafshcrypto.a
|
||||
|
||||
install: libafshcrypto.a ${SHLIBOBJ}
|
||||
${TOP_OBJDIR}/src/config/shlib-install -d ${DESTDIR}${libdir} \
|
||||
-l libafshcrypto -M ${LIBMAJOR} -m ${LIBMINOR}
|
||||
${INSTALL_DATA} libafshcrypto.a ${DESTDIR}${libdir}/libafshcrypto.a
|
||||
|
||||
dest: libafshcrypto.a ${SHLIBOBJ}
|
||||
${TOP_OBJDIR}/src/config/shlib-install -d ${DEST}/lib \
|
||||
-l libafshcrypto -M ${LIBMAJOR} -m ${LIBMINOR}
|
||||
${INSTALL_DATA} libafshcrypto.a ${DEST}/lib/libafshcrypto.a
|
||||
|
||||
clean:
|
||||
$(RM) -f ${OBJECTS} ${SHLIBOBJ} libafshcrypto.a libafshcrypto.exp \
|
||||
test_cipher test_cipher.o hex.o
|
||||
|
||||
# Ignore for now : rand-egd.o
|
||||
|
||||
OBJECTS= aes.o camellia.o camellia-ntt.o des.o engine.o evp.o \
|
||||
evp-hcrypto.o evp-cc.o hmac.o md2.o md4.o md5.o pkcs5.o \
|
||||
rand-egd.o rand-fortuna.o rand-timer.o rand-unix.o rand.o \
|
||||
rc2.o rc4.o rijndael-alg-fst.o rnd_keys.o sha.o sha256.o ui.o \
|
||||
cloexec.o ct.o issuid.o net_read.o net_write.o strlcpy.o
|
||||
|
||||
UPSTREAM= ${TOP_SRCDIR}/external/heimdal
|
||||
|
||||
CCRULE = ${CC} -I${TOP_INCDIR}/hcrypto ${CFLAGS} -I${UPSTREAM}/hcrypto -c $?
|
||||
|
||||
${TOP_LIBDIR}/${SHLIBOBJ}: ${SHLIBOBJ}
|
||||
${TOP_OBJDIR}/src/config/shlib-install -d ${TOP_LIBDIR} \
|
||||
-l libafshcrypto -M ${LIBMAJOR} -m ${LIBMINOR}
|
||||
|
||||
${SHLIBOBJ}: ${OBJECTS} libafshcrypto.map
|
||||
${TOP_OBJDIR}/src/config/shlib-build -d $(srcdir) -l libafshcrypto \
|
||||
-M ${LIBMAJOR} -m ${LIBMINOR} -- \
|
||||
${OBJECTS} ${MT_LIBS}
|
||||
|
||||
libafshcrypto.a: ${OBJECTS}
|
||||
$(RM) -f $@
|
||||
$(AR) crv $@ ${OBJECTS}
|
||||
$(RANLIB) $@
|
||||
|
||||
test_cipher: test_cipher.o hex.o libafshcrypto.a
|
||||
${CC} ${LDFLAGS} -o test_cipher test_cipher.o hex.o libafshcrypto.a
|
||||
|
||||
${TOP_INCDIR}/hcrypto/aes.h: ${UPSTREAM}/hcrypto/aes.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/bn.h: ${UPSTREAM}/hcrypto/bn.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/des.h: ${UPSTREAM}/hcrypto/des.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/dh.h: ${UPSTREAM}/hcrypto/dh.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/dsa.h: ${UPSTREAM}/hcrypto/dsa.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/engine.h: engine.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/evp.h: ${UPSTREAM}/hcrypto/evp.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/evp-hcrypto.h: ${UPSTREAM}/hcrypto/evp-hcrypto.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/evp-cc.h: ${UPSTREAM}/hcrypto/evp-cc.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/hmac.h: ${UPSTREAM}/hcrypto/hmac.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/md2.h: ${UPSTREAM}/hcrypto/md2.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/md4.h: ${UPSTREAM}/hcrypto/md4.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/md5.h: ${UPSTREAM}/hcrypto/md5.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/pkcs12.h: ${UPSTREAM}/hcrypto/pkcs12.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/rand.h: ${UPSTREAM}/hcrypto/rand.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/rc2.h: ${UPSTREAM}/hcrypto/rc2.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/rc4.h: ${UPSTREAM}/hcrypto/rc4.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/rsa.h: ${UPSTREAM}/hcrypto/rsa.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/sha.h: ${UPSTREAM}/hcrypto/sha.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_INCDIR}/hcrypto/ui.h: ${UPSTREAM}/hcrypto/ui.h
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
${TOP_LIBDIR}/libafshcrypto.a: libafshcrypto.a
|
||||
${INSTALL_DATA} $? $@
|
||||
|
||||
aes.o: ${UPSTREAM}/hcrypto/aes.c
|
||||
${CCRULE}
|
||||
|
||||
bn.o: ${UPSTREAM}/hcrypto/bn.c
|
||||
${CCRULE}
|
||||
|
||||
camellia.o: ${UPSTREAM}/hcrypto/camellia.c
|
||||
${CCRULE}
|
||||
|
||||
camellia-ntt.o: ${UPSTREAM}/hcrypto/camellia-ntt.c
|
||||
${CCRULE}
|
||||
|
||||
des.o: ${UPSTREAM}/hcrypto/des.c
|
||||
${CCRULE}
|
||||
|
||||
dh-imath.o: ${UPSTREAM}/hcrypto/dh-imath.c
|
||||
${CCRULE}
|
||||
|
||||
dsa.o: ${UPSTREAM}/hcrypto/dsa.c
|
||||
${CCRULE}
|
||||
|
||||
evp.o: ${UPSTREAM}/hcrypto/evp.c
|
||||
${CCRULE}
|
||||
|
||||
evp-hcrypto.o: ${UPSTREAM}/hcrypto/evp-hcrypto.c
|
||||
${CCRULE}
|
||||
|
||||
evp-cc.o: ${UPSTREAM}/hcrypto/evp-cc.c
|
||||
${CCRULE}
|
||||
|
||||
engine.o: engine.c
|
||||
${CCRULE}
|
||||
|
||||
hmac.o: ${UPSTREAM}/hcrypto/hmac.c
|
||||
${CCRULE}
|
||||
|
||||
md2.o: ${UPSTREAM}/hcrypto/md2.c
|
||||
${CCRULE}
|
||||
|
||||
md4.o: ${UPSTREAM}/hcrypto/md4.c
|
||||
${CCRULE}
|
||||
|
||||
md5.o: ${UPSTREAM}/hcrypto/md5.c
|
||||
${CCRULE}
|
||||
|
||||
pkcs5.o: ${UPSTREAM}/hcrypto/pkcs5.c
|
||||
${CCRULE}
|
||||
|
||||
pkcs12.o: ${UPSTREAM}/hcrypto/pkcs12.c
|
||||
${CCRULE}
|
||||
|
||||
rand-egd.o: ${UPSTREAM}/hcrypto/rand-egd.c
|
||||
${CCRULE}
|
||||
|
||||
rand-fortuna.o: ${UPSTREAM}/hcrypto/rand-fortuna.c
|
||||
${CCRULE}
|
||||
|
||||
rand-timer.o: ${UPSTREAM}/hcrypto/rand-timer.c
|
||||
${CCRULE}
|
||||
|
||||
# The upstream code has a const pointer warning, which we need to suppress */
|
||||
rand-unix.o: ${UPSTREAM}/hcrypto/rand-unix.c
|
||||
${CCRULE} @CFLAGS_NOERROR@
|
||||
|
||||
rand.o: ${UPSTREAM}/hcrypto/rand.c
|
||||
${CCRULE}
|
||||
|
||||
rc2.o: ${UPSTREAM}/hcrypto/rc2.c
|
||||
${CCRULE}
|
||||
|
||||
rc4.o: ${UPSTREAM}/hcrypto/rc4.c
|
||||
${CCRULE}
|
||||
|
||||
rijndael-alg-fst.o: ${UPSTREAM}/hcrypto/rijndael-alg-fst.c
|
||||
${CCRULE}
|
||||
|
||||
rnd_keys.o: ${UPSTREAM}/hcrypto/rnd_keys.c
|
||||
${CCRULE}
|
||||
|
||||
rsa.o: ${UPSTREAM}/hcrypto/rsa.c
|
||||
${CCRULE}
|
||||
|
||||
rsa-gmp.o: ${UPSTREAM}/hcrypto/rsa-gmp.c
|
||||
${CCRULE}
|
||||
|
||||
rsa-imath.o: ${UPSTREAM}/hcrypto/rsa-imath.c
|
||||
${CCRULE}
|
||||
|
||||
sha.o: ${UPSTREAM}/hcrypto/sha.c
|
||||
${CCRULE}
|
||||
|
||||
sha256.o: ${UPSTREAM}/hcrypto/sha256.c
|
||||
${CCRULE}
|
||||
|
||||
ui.o: ${UPSTREAM}/hcrypto/ui.c
|
||||
${CCRULE}
|
||||
|
||||
test_cipher.o: ${UPSTREAM}/hcrypto/test_cipher.c
|
||||
${CCRULE} -I${UPSTREAM}/roken/
|
||||
|
||||
cloexec.o: ${UPSTREAM}/roken/cloexec.c
|
||||
${CCRULE}
|
||||
|
||||
ct.o: ${UPSTREAM}/roken/ct.c
|
||||
${CCRULE}
|
||||
|
||||
hex.o: ${UPSTREAM}/roken/hex.c
|
||||
${CCRULE}
|
||||
|
||||
issuid.o: ${UPSTREAM}/roken/issuid.c
|
||||
${CCRULE}
|
||||
|
||||
net_read.o: ${UPSTREAM}/roken/net_read.c
|
||||
${CCRULE}
|
||||
|
||||
net_write.o: ${UPSTREAM}/roken/net_write.c
|
||||
${CCRULE}
|
||||
|
||||
strlcpy.o: ${UPSTREAM}/roken/strlcpy.c
|
||||
${CCRULE}
|
63
src/crypto/hcrypto/config.h
Normal file
63
src/crypto/hcrypto/config.h
Normal file
@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 2010 Your File System Inc. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <afsconfig.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
#include <fcntl.h>
|
||||
#include <signal.h>
|
||||
|
||||
#ifndef AFS_NT40_ENV
|
||||
#include <sys/param.h>
|
||||
#include <sys/socket.h>
|
||||
#include <inttypes.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
#include <termios.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DIRENT_H
|
||||
#include <dirent.h>
|
||||
#endif
|
||||
|
||||
#if defined(AFS_NT40_ENV)
|
||||
# define inline __inline
|
||||
#elif defined(AFS_HPUX_ENV) || defined(AFS_USR_HPUX_ENV)
|
||||
# define inline
|
||||
#elif defined(AFS_AIX_ENV) || defined(AFS_USR_AIX_ENV)
|
||||
# define inline
|
||||
#elif defined(AFS_SGI_ENV) || defined(AFS_USR_SGI_ENV)
|
||||
# define inline
|
||||
#elif defined(AFS_NBSD_ENV)
|
||||
# define inline __inline __attribute__((always_inline))
|
||||
#endif
|
||||
|
23
src/crypto/hcrypto/engine.c
Normal file
23
src/crypto/hcrypto/engine.c
Normal file
@ -0,0 +1,23 @@
|
||||
/* Unpicking the public key portions of hcrypto (which we're not building
|
||||
* in the OpenAFS version) from the ENGINE functionality would be complicated.
|
||||
* So, for now, just disable all of the ENGINE code - we don't currently
|
||||
* support it.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
#include <engine.h>
|
||||
|
||||
int
|
||||
ENGINE_finish(const ENGINE *dummy) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
ENGINE_up_ref(const ENGINE * dummy) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
const RAND_METHOD *
|
||||
ENGINE_get_RAND(const ENGINE * dummy) {
|
||||
return NULL;
|
||||
}
|
13
src/crypto/hcrypto/engine.h
Normal file
13
src/crypto/hcrypto/engine.h
Normal file
@ -0,0 +1,13 @@
|
||||
#ifndef OPENAFS_HCRYPTO_ENGINE_H
|
||||
#define OPENAFS_HCRYPTO_ENGINE_H
|
||||
|
||||
typedef struct hc_engine ENGINE;
|
||||
|
||||
#include <hcrypto/rand.h>
|
||||
|
||||
|
||||
int ENGINE_finish(const ENGINE *);
|
||||
int ENGINE_up_ref(const ENGINE *);
|
||||
const RAND_METHOD * ENGINE_get_RAND(const ENGINE *);
|
||||
|
||||
#endif
|
37
src/crypto/hcrypto/getarg.h
Normal file
37
src/crypto/hcrypto/getarg.h
Normal file
@ -0,0 +1,37 @@
|
||||
/* Just disable the getarg functionality for now */
|
||||
|
||||
struct getargs{
|
||||
const char *long_name;
|
||||
char short_name;
|
||||
enum { arg_integer,
|
||||
arg_string,
|
||||
arg_flag,
|
||||
arg_negative_flag,
|
||||
arg_strings,
|
||||
arg_double,
|
||||
arg_collect,
|
||||
arg_counter
|
||||
} type;
|
||||
void *value;
|
||||
const char *help;
|
||||
const char *arg_help;
|
||||
};
|
||||
|
||||
static inline int
|
||||
getarg(struct getargs *args, size_t num_args,
|
||||
int argc, char **argv, int *goptind) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void
|
||||
arg_printusage (struct getargs *args,
|
||||
size_t num_args,
|
||||
const char *progname,
|
||||
const char *extra_string) {
|
||||
return;
|
||||
}
|
||||
|
||||
static inline void
|
||||
print_version(const char *str) {
|
||||
return;
|
||||
}
|
8
src/crypto/hcrypto/heim_threads.h
Normal file
8
src/crypto/hcrypto/heim_threads.h
Normal file
@ -0,0 +1,8 @@
|
||||
#include <pthread.h>
|
||||
|
||||
#define HEIMDAL_MUTEX pthread_mutex_t
|
||||
#define HEIMDAL_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
||||
#define HEIMDAL_MUTEX_init(m) pthread_mutex_init(m, NULL)
|
||||
#define HEIMDAL_MUTEX_lock(m) pthread_mutex_lock(m)
|
||||
#define HEIMDAL_MUTEX_unlock(m) pthread_mutex_unlock(m)
|
||||
#define HEIMDAL_MUTEX_destroy(m) pthread_mutex_destroy(m)
|
1
src/crypto/hcrypto/krb5-types.h
Normal file
1
src/crypto/hcrypto/krb5-types.h
Normal file
@ -0,0 +1 @@
|
||||
/* This file intentionally left blank */
|
27
src/crypto/hcrypto/libafshcrypto.map
Normal file
27
src/crypto/hcrypto/libafshcrypto.map
Normal file
@ -0,0 +1,27 @@
|
||||
# Copyright 2010 Your File System Inc
|
||||
# All Rights Reserved
|
||||
#
|
||||
# This software has been released under the terms of the BSD License. For
|
||||
# details, see the LICENSE file in the top level source directory.
|
||||
|
||||
{
|
||||
global:
|
||||
hc_DES_cbc_encrypt;
|
||||
hc_DES_cbc_cksum;
|
||||
hc_DES_ecb_encrypt;
|
||||
hc_DES_init_random_number_generator;
|
||||
hc_DES_key_sched;
|
||||
hc_DES_new_random_key;
|
||||
hc_DES_pcbc_encrypt;
|
||||
hc_DES_set_odd_parity;
|
||||
hc_DES_string_to_key;
|
||||
hc_MD4_Final;
|
||||
hc_MD4_Init;
|
||||
hc_MD4_Update;
|
||||
hc_MD5_Final;
|
||||
hc_MD5_Init;
|
||||
hc_MD5_Update;
|
||||
hc_UI_UTIL_read_pw_string;
|
||||
local:
|
||||
*;
|
||||
};
|
41
src/crypto/hcrypto/roken.h
Normal file
41
src/crypto/hcrypto/roken.h
Normal file
@ -0,0 +1,41 @@
|
||||
#define rk_UNCONST(x) ((void *)(uintptr_t)(const void *)(x))
|
||||
|
||||
#ifndef min
|
||||
#define min(a,b) (((a)<(b))?(a):(b))
|
||||
#endif
|
||||
|
||||
#ifndef ROKEN_LIB_FUNCTION
|
||||
#ifdef _WIN32
|
||||
#define ROKEN_LIB_FUNCTION
|
||||
#define ROKEN_LIB_CALL __cdecl
|
||||
#else
|
||||
#define ROKEN_LIB_FUNCTION
|
||||
#define ROKEN_LIB_CALL
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef int rk_socket_t;
|
||||
|
||||
ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL
|
||||
ct_memcmp(const void *, const void *, size_t);
|
||||
|
||||
ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL rk_cloexec(int);
|
||||
|
||||
ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL rk_cloexec_file(FILE *);
|
||||
|
||||
ROKEN_LIB_FUNCTION ssize_t ROKEN_LIB_CALL
|
||||
net_write (rk_socket_t, const void *, size_t);
|
||||
|
||||
ROKEN_LIB_FUNCTION ssize_t ROKEN_LIB_CALL
|
||||
net_read (rk_socket_t, void *, size_t);
|
||||
|
||||
ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL issuid(void);
|
||||
|
||||
#ifndef HAVE_STRLCPY
|
||||
#define strlcpy rk_strlcpy
|
||||
ROKEN_LIB_FUNCTION size_t ROKEN_LIB_CALL
|
||||
strlcpy (char *, const char *, size_t);
|
||||
#endif
|
||||
|
||||
/* This is a bodge, but it's only used by the tests */
|
||||
#define emalloc(x) malloc(x)
|
Loading…
Reference in New Issue
Block a user