summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/openssh/rsa.c6
-rw-r--r--crypto/openssl/crypto/rsa/rsa_intlstubs.c39
-rw-r--r--crypto/openssl/crypto/rsa/rsa_stubs.c115
-rw-r--r--crypto/openssl/rsaref/Makefile.save99
-rw-r--r--crypto/openssl/rsaref/Makefile.ssl99
-rw-r--r--crypto/openssl/rsaref/rsar_err.c120
-rw-r--r--crypto/openssl/rsaref/rsaref.c309
-rw-r--r--crypto/openssl/rsaref/rsaref.h181
-rw-r--r--crypto/openssl/rsaref/rsaref_stubs.c193
-rw-r--r--etc/defaults/make.conf1
-rw-r--r--secure/lib/Makefile9
-rw-r--r--secure/lib/libcrypto/Makefile4
-rw-r--r--secure/lib/librsaintl/Makefile32
-rw-r--r--secure/lib/librsausa/Makefile33
-rw-r--r--share/examples/etc/make.conf1
15 files changed, 3 insertions, 1238 deletions
diff --git a/crypto/openssh/rsa.c b/crypto/openssh/rsa.c
index 725da1b..9ebc26c 100644
--- a/crypto/openssh/rsa.c
+++ b/crypto/openssh/rsa.c
@@ -126,9 +126,6 @@ rsa_public_encrypt(BIGNUM *out, BIGNUM *in, RSA *key)
if ((len = RSA_public_encrypt(ilen, inbuf, outbuf, key,
RSA_PKCS1_PADDING)) <= 0)
- if (BN_num_bits(key->n) > 1024 && RSA_libversion() == RSALIB_RSAREF)
- fatal("rsa_private_encrypt() failed: RSAREF cannot handle keys larger than 1024 bits.");
- else
fatal("rsa_private_encrypt() failed.");
BN_bin2bn(outbuf, len, out);
@@ -154,9 +151,6 @@ rsa_private_decrypt(BIGNUM *out, BIGNUM *in, RSA *key)
if ((len = RSA_private_decrypt(ilen, inbuf, outbuf, key,
RSA_PKCS1_PADDING)) <= 0)
- if (BN_num_bits(key->n) > 1024 && RSA_libversion() == RSALIB_RSAREF)
- fatal("rsa_private_decrypt() failed: RSAREF cannot handle keys larger than 1024 bits.");
- else
fatal("rsa_private_decrypt() failed.");
BN_bin2bn(outbuf, len, out);
diff --git a/crypto/openssl/crypto/rsa/rsa_intlstubs.c b/crypto/openssl/crypto/rsa/rsa_intlstubs.c
deleted file mode 100644
index e9a0316..0000000
--- a/crypto/openssl/crypto/rsa/rsa_intlstubs.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * Copyright (c) 2000 Kris Kennaway <kris@FreeBSD.org>
- * 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 AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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. SO THERE.
- *
- * $FreeBSD$
- */
-
-#ifndef NO_RSA
-#ifdef PIC
-#include <openssl/rsa.h>
-
-int RSA_libversion()
-{
- return RSALIB_OPENSSL;
-}
-
-#endif /* PIC */
-#endif /* NO_RSA */
diff --git a/crypto/openssl/crypto/rsa/rsa_stubs.c b/crypto/openssl/crypto/rsa/rsa_stubs.c
deleted file mode 100644
index 406d00a..0000000
--- a/crypto/openssl/crypto/rsa/rsa_stubs.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*-
- * Copyright (c) 2000 Peter Wemm <peter@FreeBSD.org>
- * 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 AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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. SO THERE.
- *
- * $FreeBSD$
- */
-
-#ifndef NO_RSA
-
-#include <stdio.h>
-#include <syslog.h>
-#include <unistd.h>
-#include "cryptlib.h"
-#include <openssl/rsa.h>
-
-#define VERBOSE_STUBS /* undef if you don't want missing rsaref reported */
-
-#ifdef PIC
-#include <dlfcn.h>
-
-#define RSAUSA_SHLIB "librsaUSA.so"
-#define RSAINTL_SHLIB "librsaINTL.so"
-
-static void *
-getsym(const char *sym)
-{
- static void *rsalib;
- static int whined;
- void *ret = NULL;
-
- if (!rsalib)
- rsalib = dlopen(RSAINTL_SHLIB, RTLD_LAZY);
- if (!rsalib)
- rsalib = dlopen(RSAUSA_SHLIB, RTLD_LAZY);
- if (rsalib)
- ret = dlsym(rsalib, sym);
-#ifdef VERBOSE_STUBS
- if (!ret && !whined) {
- if (isatty(STDERR_FILENO)) {
- fprintf(stderr, "** %s: Unable to find an RSA implementation shared library.\n", sym);
- fprintf(stderr, "** Install either the USA (%s) or International (%s)\n", RSAUSA_SHLIB, RSAINTL_SHLIB);
- fprintf(stderr, "** RSA library on your system and run this program again.\n");
- fprintf(stderr, "** See the OpenSSL chapter in the FreeBSD Handbook, located at\n");
- fprintf(stderr, "** http://www.freebsd.org/handbook/openssl.html, for more information.\n");
- } else {
- syslog(LOG_ERR, "%s: Unable to find an RSA implementation shared \
-library. Install either the USA (%s) or International (%s) RSA library on \
-your system and run this program again. See the OpenSSL chapter in the \
-FreeBSD Handbook, located at http://www.freebsd.org/handbook/openssl.html, \
-for more information.", sym, RSAUSA_SHLIB, RSAINTL_SHLIB);
- }
- whined = 1;
- }
-#endif
- return ret;
-}
-
-RSA_METHOD *
-RSA_PKCS1_stub(void)
-{
- static RSA_METHOD * (*sym)(void);
-
- if (sym || (sym = getsym("RSA_PKCS1")))
- return sym();
- return NULL;
-}
-__weak_reference(RSA_PKCS1_stub, RSA_PKCS1);
-
-void
-ERR_load_RSA_strings_stub(void)
-{
- static void (*sym)(void);
-
- if (sym || (sym = getsym("ERR_load_RSA_strings")))
- sym();
-}
-__weak_reference(ERR_load_RSA_strings_stub, ERR_load_RSA_strings);
-
-int
-RSA_libversion_stub(void)
-{
- static void (*sym)(void);
-
- if (sym || (sym = getsym("RSA_libversion")))
- sym();
-}
-__weak_reference(RSA_libversion_stub, RSA_libversion);
-
-#else /* !PIC */
-
-/* Sigh, just get your own libs, ld(1) doesn't deal with weaks here */
-
-#endif /* !PIC */
-#endif /* NO_RSA */
diff --git a/crypto/openssl/rsaref/Makefile.save b/crypto/openssl/rsaref/Makefile.save
deleted file mode 100644
index f338427..0000000
--- a/crypto/openssl/rsaref/Makefile.save
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# SSLeay/rsaref/Makefile
-#
-
-DIR= rsaref
-TOP= ..
-CC= cc
-INCLUDES= -I../crypto -I../include
-CFLAG=-g
-INSTALL_PREFIX=
-OPENSSLDIR= /usr/local/ssl
-INSTALLTOP=/usr/local/ssl
-MAKE= make -f Makefile.ssl
-MAKEDEPEND= $(TOP)/util/domd $(TOP)
-MAKEFILE= Makefile.ssl
-AR= ar r
-
-CFLAGS= $(INCLUDES) $(CFLAG)
-
-GENERAL=Makefile rsaref-lib.com install.com
-TEST=
-APPS=
-
-LIB=$(TOP)/libRSAglue.a
-LIBSRC= rsaref.c rsar_err.c
-LIBOBJ= rsaref.o rsar_err.o
-
-SRC= $(LIBSRC)
-
-EXHEADER= rsaref.h
-HEADER= $(EXHEADER)
-
-ALL= $(GENERAL) $(SRC) $(HEADER)
-
-top:
- (cd ..; $(MAKE) DIRS=rsaref all)
-
-all: lib
-
-lib: $(LIBOBJ)
- $(AR) $(LIB) $(LIBOBJ)
- $(RANLIB) $(LIB)
- @touch lib
-
-files:
- $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
-
-links:
- @$(TOP)/util/point.sh Makefile.ssl Makefile
- @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
- @$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
- @$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
-
-install:
- -@if [ "x`echo x $(EX_LIBS) | grep RSAglue`" != x ]; then \
- echo "installing libRSAglue.a"; \
- cp $(LIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/libRSAglue.a; \
- $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/libRSAglue.a; \
- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/libRSAglue.a; \
- fi
-
-# @for i in $(EXHEADER) ; \
-# do \
-# (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
-# chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
-# done;
-
-tags:
- ctags $(SRC)
-
-tests:
-
-lint:
- lint -DLINT $(INCLUDES) $(SRC)>fluff
-
-depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
-
-dclean:
- $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
- mv -f Makefile.new $(MAKEFILE)
-
-clean:
- rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-rsar_err.o: ../include/openssl/bn.h ../include/openssl/crypto.h
-rsar_err.o: ../include/openssl/err.h ../include/openssl/opensslconf.h
-rsar_err.o: ../include/openssl/opensslv.h ../include/openssl/rsa.h
-rsar_err.o: ../include/openssl/rsaref.h ../include/openssl/safestack.h
-rsar_err.o: ../include/openssl/stack.h
-rsaref.o: ../crypto/cryptlib.h ../include/openssl/bio.h ../include/openssl/bn.h
-rsaref.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
-rsaref.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
-rsaref.o: ../include/openssl/err.h ../include/openssl/opensslconf.h
-rsaref.o: ../include/openssl/opensslv.h ../include/openssl/rand.h
-rsaref.o: ../include/openssl/rsa.h ../include/openssl/rsaref.h
-rsaref.o: ../include/openssl/safestack.h ../include/openssl/stack.h
diff --git a/crypto/openssl/rsaref/Makefile.ssl b/crypto/openssl/rsaref/Makefile.ssl
deleted file mode 100644
index f338427..0000000
--- a/crypto/openssl/rsaref/Makefile.ssl
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# SSLeay/rsaref/Makefile
-#
-
-DIR= rsaref
-TOP= ..
-CC= cc
-INCLUDES= -I../crypto -I../include
-CFLAG=-g
-INSTALL_PREFIX=
-OPENSSLDIR= /usr/local/ssl
-INSTALLTOP=/usr/local/ssl
-MAKE= make -f Makefile.ssl
-MAKEDEPEND= $(TOP)/util/domd $(TOP)
-MAKEFILE= Makefile.ssl
-AR= ar r
-
-CFLAGS= $(INCLUDES) $(CFLAG)
-
-GENERAL=Makefile rsaref-lib.com install.com
-TEST=
-APPS=
-
-LIB=$(TOP)/libRSAglue.a
-LIBSRC= rsaref.c rsar_err.c
-LIBOBJ= rsaref.o rsar_err.o
-
-SRC= $(LIBSRC)
-
-EXHEADER= rsaref.h
-HEADER= $(EXHEADER)
-
-ALL= $(GENERAL) $(SRC) $(HEADER)
-
-top:
- (cd ..; $(MAKE) DIRS=rsaref all)
-
-all: lib
-
-lib: $(LIBOBJ)
- $(AR) $(LIB) $(LIBOBJ)
- $(RANLIB) $(LIB)
- @touch lib
-
-files:
- $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
-
-links:
- @$(TOP)/util/point.sh Makefile.ssl Makefile
- @$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
- @$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
- @$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
-
-install:
- -@if [ "x`echo x $(EX_LIBS) | grep RSAglue`" != x ]; then \
- echo "installing libRSAglue.a"; \
- cp $(LIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/libRSAglue.a; \
- $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/libRSAglue.a; \
- chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/libRSAglue.a; \
- fi
-
-# @for i in $(EXHEADER) ; \
-# do \
-# (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
-# chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
-# done;
-
-tags:
- ctags $(SRC)
-
-tests:
-
-lint:
- lint -DLINT $(INCLUDES) $(SRC)>fluff
-
-depend:
- $(MAKEDEPEND) $(INCLUDES) $(PROGS) $(LIBSRC)
-
-dclean:
- $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
- mv -f Makefile.new $(MAKEFILE)
-
-clean:
- rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
-
-rsar_err.o: ../include/openssl/bn.h ../include/openssl/crypto.h
-rsar_err.o: ../include/openssl/err.h ../include/openssl/opensslconf.h
-rsar_err.o: ../include/openssl/opensslv.h ../include/openssl/rsa.h
-rsar_err.o: ../include/openssl/rsaref.h ../include/openssl/safestack.h
-rsar_err.o: ../include/openssl/stack.h
-rsaref.o: ../crypto/cryptlib.h ../include/openssl/bio.h ../include/openssl/bn.h
-rsaref.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
-rsaref.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
-rsaref.o: ../include/openssl/err.h ../include/openssl/opensslconf.h
-rsaref.o: ../include/openssl/opensslv.h ../include/openssl/rand.h
-rsaref.o: ../include/openssl/rsa.h ../include/openssl/rsaref.h
-rsaref.o: ../include/openssl/safestack.h ../include/openssl/stack.h
diff --git a/crypto/openssl/rsaref/rsar_err.c b/crypto/openssl/rsaref/rsar_err.c
deleted file mode 100644
index ba7b605..0000000
--- a/crypto/openssl/rsaref/rsar_err.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* rsaref/rsar_err.c */
-/* $FreeBSD$ */
-/* ====================================================================
- * Copyright (c) 1999 The OpenSSL Project. 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.
- *
- * 3. All advertising materials mentioning features or use of this
- * software must display the following acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
- *
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
- * endorse or promote products derived from this software without
- * prior written permission. For written permission, please contact
- * openssl-core@OpenSSL.org.
- *
- * 5. Products derived from this software may not be called "OpenSSL"
- * nor may "OpenSSL" appear in their names without prior written
- * permission of the OpenSSL Project.
- *
- * 6. Redistributions of any form whatsoever must retain the following
- * acknowledgment:
- * "This product includes software developed by the OpenSSL Project
- * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
- *
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
- * EXPRESSED 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 OpenSSL PROJECT OR
- * ITS CONTRIBUTORS 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.
- * ====================================================================
- *
- * This product includes cryptographic software written by Eric Young
- * (eay@cryptsoft.com). This product includes software written by Tim
- * Hudson (tjh@cryptsoft.com).
- *
- */
-
-/* NOTE: this file was auto generated by the mkerr.pl script: any changes
- * made to it will be overwritten when the script next updates this file,
- * only reason strings will be preserved.
- */
-
-#include <stdio.h>
-#include <openssl/err.h>
-#include <openssl/rsaref.h>
-
-/* BEGIN ERROR CODES */
-#ifndef NO_ERR
-static ERR_STRING_DATA RSAREF_str_functs[]=
- {
-{ERR_PACK(0,RSAREF_F_BN_REF_MOD_EXP,0), "BN_REF_MOD_EXP"},
-{ERR_PACK(0,RSAREF_F_RSAREF_BN2BIN,0), "RSAREF_BN2BIN"},
-{ERR_PACK(0,RSAREF_F_RSA_BN2BIN,0), "RSA_BN2BIN"},
-{ERR_PACK(0,RSAREF_F_RSA_PRIVATE_DECRYPT,0), "RSA_private_decrypt"},
-{ERR_PACK(0,RSAREF_F_RSA_PRIVATE_ENCRYPT,0), "RSA_private_encrypt"},
-{ERR_PACK(0,RSAREF_F_RSA_PUBLIC_DECRYPT,0), "RSA_public_decrypt"},
-{ERR_PACK(0,RSAREF_F_RSA_PUBLIC_ENCRYPT,0), "RSA_public_encrypt"},
-{ERR_PACK(0,RSAREF_F_RSA_REF_BN2BIN,0), "RSA_REF_BN2BIN"},
-{ERR_PACK(0,RSAREF_F_RSA_REF_MOD_EXP,0), "RSA_REF_MOD_EXP"},
-{ERR_PACK(0,RSAREF_F_RSA_REF_PRIVATE_DECRYPT,0), "RSA_REF_PRIVATE_DECRYPT"},
-{ERR_PACK(0,RSAREF_F_RSA_REF_PRIVATE_ENCRYPT,0), "RSA_REF_PRIVATE_ENCRYPT"},
-{ERR_PACK(0,RSAREF_F_RSA_REF_PUBLIC_DECRYPT,0), "RSA_REF_PUBLIC_DECRYPT"},
-{ERR_PACK(0,RSAREF_F_RSA_REF_PUBLIC_ENCRYPT,0), "RSA_REF_PUBLIC_ENCRYPT"},
-{0,NULL}
- };
-
-static ERR_STRING_DATA RSAREF_str_reasons[]=
- {
-{RSAREF_R_CONTENT_ENCODING ,"content encoding"},
-{RSAREF_R_DATA ,"data"},
-{RSAREF_R_DIGEST_ALGORITHM ,"digest algorithm"},
-{RSAREF_R_ENCODING ,"encoding"},
-{RSAREF_R_ENCRYPTION_ALGORITHM ,"encryption algorithm"},
-{RSAREF_R_KEY ,"key"},
-{RSAREF_R_KEY_ENCODING ,"key encoding"},
-{RSAREF_R_LEN ,"len"},
-{RSAREF_R_MODULUS_LEN ,"modulus len"},
-{RSAREF_R_NEED_RANDOM ,"need random"},
-{RSAREF_R_PRIVATE_KEY ,"private key"},
-{RSAREF_R_PUBLIC_KEY ,"public key"},
-{RSAREF_R_SIGNATURE ,"signature"},
-{RSAREF_R_SIGNATURE_ENCODING ,"signature encoding"},
-{0,NULL}
- };
-
-#endif
-
-void ERR_load_RSA_strings(void)
- {
- static int init=1;
-
- if (init)
- {
- init=0;
-#ifndef NO_ERR
- ERR_load_strings(ERR_LIB_RSAREF,RSAREF_str_functs);
- ERR_load_strings(ERR_LIB_RSAREF,RSAREF_str_reasons);
-#endif
-
- }
- }
diff --git a/crypto/openssl/rsaref/rsaref.c b/crypto/openssl/rsaref/rsaref.c
deleted file mode 100644
index 6748890..0000000
--- a/crypto/openssl/rsaref/rsaref.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/* rsaref/rsaref.c */
-/* $FreeBSD$ */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * 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 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.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 OR CONTRIBUTORS 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.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#ifndef NO_RSA
-#include <stdio.h>
-#include "cryptlib.h"
-#include <openssl/bn.h>
-#include <openssl/rsa.h>
-#include <openssl/rsaref.h>
-#include <openssl/rand.h>
-
-static int RSAref_bn2bin(BIGNUM * from, unsigned char* to, int max);
-#ifdef undef
-static BIGNUM* RSAref_bin2bn(unsigned char* from, BIGNUM * to, int max);
-#endif
-static int RSAref_Public_eay2ref(RSA * from, RSArefPublicKey * to);
-static int RSAref_Private_eay2ref(RSA * from, RSArefPrivateKey * to);
-int RSA_ref_private_decrypt(int len, unsigned char *from,
- unsigned char *to, RSA *rsa, int padding);
-int RSA_ref_private_encrypt(int len, unsigned char *from,
- unsigned char *to, RSA *rsa, int padding);
-int RSA_ref_public_encrypt(int len, unsigned char *from,
- unsigned char *to, RSA *rsa, int padding);
-int RSA_ref_public_decrypt(int len, unsigned char *from,
- unsigned char *to, RSA *rsa, int padding);
-static int BN_ref_mod_exp(BIGNUM *r,BIGNUM *a,const BIGNUM *p,const BIGNUM *m,
- BN_CTX *ctx, BN_MONT_CTX *m_ctx);
-static int RSA_ref_mod_exp(BIGNUM *r0, BIGNUM *I, RSA *rsa);
-static RSA_METHOD rsa_pkcs1_ref_meth={
- "RSAref PKCS#1 RSA",
- RSA_ref_public_encrypt,
- RSA_ref_public_decrypt,
- RSA_ref_private_encrypt,
- RSA_ref_private_decrypt,
- RSA_ref_mod_exp,
- BN_ref_mod_exp,
- NULL,
- NULL,
- 0,
- NULL,
- };
-
-RSA_METHOD *RSA_PKCS1(void)
- {
- return(&rsa_pkcs1_ref_meth);
- }
-
-static int RSA_ref_mod_exp(BIGNUM *r0, BIGNUM *I, RSA *rsa)
- {
- RSAREFerr(RSAREF_F_RSA_REF_MOD_EXP,ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
- return(0);
- }
-
-static int BN_ref_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
- const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)
- {
- RSAREFerr(RSAREF_F_BN_REF_MOD_EXP,ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
- return(0);
- }
-
-/* unsigned char *to: [max] */
-static int RSAref_bn2bin(BIGNUM *from, unsigned char *to, int max)
- {
- int i;
-
- i=BN_num_bytes(from);
- if (i > max)
- {
- RSAREFerr(RSAREF_F_RSAREF_BN2BIN,RSAREF_R_LEN);
- return(0);
- }
-
- memset(to,0,(unsigned int)max);
- if (!BN_bn2bin(from,&(to[max-i])))
- return(0);
- return(1);
- }
-
-#ifdef undef
-/* unsigned char *from: [max] */
-static BIGNUM *RSAref_bin2bn(unsigned char *from, BIGNUM *to, int max)
- {
- int i;
- BIGNUM *ret;
-
- for (i=0; i<max; i++)
- if (from[i]) break;
-
- ret=BN_bin2bn(&(from[i]),max-i,to);
- return(ret);
- }
-
-static int RSAref_Public_ref2eay(RSArefPublicKey *from, RSA *to)
- {
- to->n=RSAref_bin2bn(from->m,NULL,RSAref_MAX_LEN);
- to->e=RSAref_bin2bn(from->e,NULL,RSAref_MAX_LEN);
- if ((to->n == NULL) || (to->e == NULL)) return(0);
- return(1);
- }
-#endif
-
-static int RSAref_Public_eay2ref(RSA *from, RSArefPublicKey *to)
- {
- to->bits=BN_num_bits(from->n);
- if (!RSAref_bn2bin(from->n,to->m,RSAref_MAX_LEN)) return(0);
- if (!RSAref_bn2bin(from->e,to->e,RSAref_MAX_LEN)) return(0);
- return(1);
- }
-
-#ifdef undef
-static int RSAref_Private_ref2eay(RSArefPrivateKey *from, RSA *to)
- {
- if ((to->n=RSAref_bin2bn(from->m,NULL,RSAref_MAX_LEN)) == NULL)
- return(0);
- if ((to->e=RSAref_bin2bn(from->e,NULL,RSAref_MAX_LEN)) == NULL)
- return(0);
- if ((to->d=RSAref_bin2bn(from->d,NULL,RSAref_MAX_LEN)) == NULL)
- return(0);
- if ((to->p=RSAref_bin2bn(from->prime[0],NULL,RSAref_MAX_PLEN)) == NULL)
- return(0);
- if ((to->q=RSAref_bin2bn(from->prime[1],NULL,RSAref_MAX_PLEN)) == NULL)
- return(0);
- if ((to->dmp1=RSAref_bin2bn(from->pexp[0],NULL,RSAref_MAX_PLEN))
- == NULL)
- return(0);
- if ((to->dmq1=RSAref_bin2bn(from->pexp[1],NULL,RSAref_MAX_PLEN))
- == NULL)
- return(0);
- if ((to->iqmp=RSAref_bin2bn(from->coef,NULL,RSAref_MAX_PLEN)) == NULL)
- return(0);
- return(1);
- }
-#endif
-
-static int RSAref_Private_eay2ref(RSA *from, RSArefPrivateKey *to)
- {
- to->bits=BN_num_bits(from->n);
- if (!RSAref_bn2bin(from->n,to->m,RSAref_MAX_LEN)) return(0);
- if (!RSAref_bn2bin(from->e,to->e,RSAref_MAX_LEN)) return(0);
- if (!RSAref_bn2bin(from->d,to->d,RSAref_MAX_LEN)) return(0);
- if (!RSAref_bn2bin(from->p,to->prime[0],RSAref_MAX_PLEN)) return(0);
- if (!RSAref_bn2bin(from->q,to->prime[1],RSAref_MAX_PLEN)) return(0);
- if (!RSAref_bn2bin(from->dmp1,to->pexp[0],RSAref_MAX_PLEN)) return(0);
- if (!RSAref_bn2bin(from->dmq1,to->pexp[1],RSAref_MAX_PLEN)) return(0);
- if (!RSAref_bn2bin(from->iqmp,to->coef,RSAref_MAX_PLEN)) return(0);
- return(1);
- }
-
-int RSA_ref_private_decrypt(int len, unsigned char *from, unsigned char *to,
- RSA *rsa, int padding)
- {
- int i,outlen= -1;
- RSArefPrivateKey RSAkey;
-
- if (!RSAref_Private_eay2ref(rsa,&RSAkey))
- goto err;
- if ((i=RSAPrivateDecrypt(to,&outlen,from,len,&RSAkey)) != 0)
- {
- RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_DECRYPT,i);
- outlen= -1;
- }
-err:
- memset(&RSAkey,0,sizeof(RSAkey));
- return(outlen);
- }
-
-int RSA_ref_private_encrypt(int len, unsigned char *from, unsigned char *to,
- RSA *rsa, int padding)
- {
- int i,outlen= -1;
- RSArefPrivateKey RSAkey;
-
- if (padding != RSA_PKCS1_PADDING)
- {
- RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_ENCRYPT, RSA_R_UNKNOWN_PADDING_TYPE);
- goto err;
- }
- if (!RSAref_Private_eay2ref(rsa,&RSAkey))
- goto err;
- if ((i=RSAPrivateEncrypt(to,&outlen,from,len,&RSAkey)) != 0)
- {
- RSAREFerr(RSAREF_F_RSA_REF_PRIVATE_ENCRYPT,i);
- outlen= -1;
- }
-err:
- memset(&RSAkey,0,sizeof(RSAkey));
- return(outlen);
- }
-
-int RSA_ref_public_decrypt(int len, unsigned char *from, unsigned char *to,
- RSA *rsa, int padding)
- {
- int i,outlen= -1;
- RSArefPublicKey RSAkey;
-
- if (!RSAref_Public_eay2ref(rsa,&RSAkey))
- goto err;
- if ((i=RSAPublicDecrypt(to,&outlen,from,len,&RSAkey)) != 0)
- {
- RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_DECRYPT,i);
- outlen= -1;
- }
-err:
- memset(&RSAkey,0,sizeof(RSAkey));
- return(outlen);
- }
-
-int RSA_ref_public_encrypt(int len, unsigned char *from, unsigned char *to,
- RSA *rsa, int padding)
- {
- int outlen= -1;
- int i;
- RSArefPublicKey RSAkey;
- RSARandomState rnd;
- unsigned char buf[16];
-
- if (padding != RSA_PKCS1_PADDING && padding != RSA_SSLV23_PADDING)
- {
- RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_ENCRYPT, RSA_R_UNKNOWN_PADDING_TYPE);
- goto err;
- }
-
- R_RandomInit(&rnd);
- R_GetRandomBytesNeeded((unsigned int *)&i,&rnd);
- while (i > 0)
- {
- if (RAND_bytes(buf,16) <= 0)
- goto err;
- R_RandomUpdate(&rnd,buf,(unsigned int)((i>16)?16:i));
- i-=16;
- }
-
- if (!RSAref_Public_eay2ref(rsa,&RSAkey))
- goto err;
- if ((i=RSAPublicEncrypt(to,&outlen,from,len,&RSAkey,&rnd)) != 0)
- {
- RSAREFerr(RSAREF_F_RSA_REF_PUBLIC_ENCRYPT,i);
- outlen= -1;
- goto err;
- }
-err:
- memset(&RSAkey,0,sizeof(RSAkey));
- R_RandomFinal(&rnd);
- memset(&rnd,0,sizeof(rnd));
- return(outlen);
- }
-#else /* !NO_RSA */
-
-# if PEDANTIC
-static void *dummy=&dummy;
-# endif
-
-#endif
diff --git a/crypto/openssl/rsaref/rsaref.h b/crypto/openssl/rsaref/rsaref.h
deleted file mode 100644
index b9b3e61..0000000
--- a/crypto/openssl/rsaref/rsaref.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/* rsaref/rsaref.h */
-/* $FreeBSD$ */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- *
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to. The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code. The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- *
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- *
- * 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 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.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * "This product includes cryptographic software written by
- * Eric Young (eay@cryptsoft.com)"
- * The word 'cryptographic' can be left out if the rouines from the library
- * being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from
- * the apps directory (application code) you must include an acknowledgement:
- * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- *
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 OR CONTRIBUTORS 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.
- *
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed. i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#ifndef HEADER_RSAREF_H
-#define HEADER_RSAREF_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef NO_RSA
-#include <openssl/rsa.h>
-
-/* RSAeuro */
-/*#define RSAref_MAX_BITS 2048*/
-
-/* RSAref */
-#define RSAref_MAX_BITS 1024
-
-#define RSAref_MIN_BITS 508
-#define RSAref_MAX_LEN ((RSAref_MAX_BITS+7)/8)
-#define RSAref_MAX_PBITS (RSAref_MAX_BITS+1)/2
-#define RSAref_MAX_PLEN ((RSAref_MAX_PBITS+7)/8)
-
-typedef struct RSArefPublicKey_st
- {
- unsigned int bits;
- unsigned char m[RSAref_MAX_LEN];
- unsigned char e[RSAref_MAX_LEN];
- } RSArefPublicKey;
-
-typedef struct RSArefPrivateKey_st
- {
- unsigned int bits;
- unsigned char m[RSAref_MAX_LEN];
- unsigned char e[RSAref_MAX_LEN];
- unsigned char d[RSAref_MAX_LEN];
- unsigned char prime[2][RSAref_MAX_PLEN];/* p & q */
- unsigned char pexp[2][RSAref_MAX_PLEN]; /* dmp1 & dmq1 */
- unsigned char coef[RSAref_MAX_PLEN]; /* iqmp */
- } RSArefPrivateKey;
-
-typedef struct RSARandomState_st
- {
- unsigned int needed;
- unsigned char state[16];
- unsigned int outputnum;
- unsigned char output[16];
- } RSARandomState;
-
-#define RE_CONTENT_ENCODING 0x0400
-#define RE_DATA 0x0401
-#define RE_DIGEST_ALGORITHM 0x0402
-#define RE_ENCODING 0x0403
-#define RE_KEY 0x0404
-#define RE_KEY_ENCODING 0x0405
-#define RE_LEN 0x0406
-#define RE_MODULUS_LEN 0x0407
-#define RE_NEED_RANDOM 0x0408
-#define RE_PRIVATE_KEY 0x0409
-#define RE_PUBLIC_KEY 0x040a
-#define RE_SIGNATURE 0x040b
-#define RE_SIGNATURE_ENCODING 0x040c
-#define RE_ENCRYPTION_ALGORITHM 0x040d
-
-int RSAPrivateDecrypt(unsigned char *to, int *outlen, unsigned char *from,
- int len, RSArefPrivateKey *RSAkey);
-int RSAPrivateEncrypt(unsigned char *to, int *outlen, unsigned char *from,
- int len, RSArefPrivateKey *RSAkey);
-int RSAPublicDecrypt(unsigned char *to, int *outlen, unsigned char *from,
- int len, RSArefPublicKey *RSAkey);
-int RSAPublicEncrypt(unsigned char *to, int *outlen, unsigned char *from,
- int len, RSArefPublicKey *RSAkey,RSARandomState *rnd);
-int R_RandomInit(RSARandomState *rnd);
-int R_GetRandomBytesNeeded(unsigned int *,RSARandomState *rnd);
-int R_RandomUpdate(RSARandomState *rnd, unsigned char *data, unsigned int n);
-int R_RandomFinal(RSARandomState *rnd);
-
-void ERR_load_RSA_strings(void );
-RSA_METHOD *RSA_PKCS1(void );
-#endif
-
-/* BEGIN ERROR CODES */
-/* The following lines are auto generated by the script mkerr.pl. Any changes
- * made after this point may be overwritten when the script is next run.
- */
-
-/* Error codes for the RSAREF functions. */
-
-/* Function codes. */
-#define RSAREF_F_BN_REF_MOD_EXP 100
-#define RSAREF_F_RSAREF_BN2BIN 101
-#define RSAREF_F_RSA_BN2BIN 102
-#define RSAREF_F_RSA_PRIVATE_DECRYPT 103
-#define RSAREF_F_RSA_PRIVATE_ENCRYPT 104
-#define RSAREF_F_RSA_PUBLIC_DECRYPT 105
-#define RSAREF_F_RSA_PUBLIC_ENCRYPT 106
-#define RSAREF_F_RSA_REF_BN2BIN 107
-#define RSAREF_F_RSA_REF_MOD_EXP 108
-#define RSAREF_F_RSA_REF_PRIVATE_DECRYPT 109
-#define RSAREF_F_RSA_REF_PRIVATE_ENCRYPT 110
-#define RSAREF_F_RSA_REF_PUBLIC_DECRYPT 111
-#define RSAREF_F_RSA_REF_PUBLIC_ENCRYPT 112
-
-/* Reason codes. */
-#define RSAREF_R_CONTENT_ENCODING 0x0400
-#define RSAREF_R_DATA 0x0401
-#define RSAREF_R_DIGEST_ALGORITHM 0x0402
-#define RSAREF_R_ENCODING 0x0403
-#define RSAREF_R_ENCRYPTION_ALGORITHM 0x040d
-#define RSAREF_R_KEY 0x0404
-#define RSAREF_R_KEY_ENCODING 0x0405
-#define RSAREF_R_LEN 0x0406
-#define RSAREF_R_MODULUS_LEN 0x0407
-#define RSAREF_R_NEED_RANDOM 0x0408
-#define RSAREF_R_PRIVATE_KEY 0x0409
-#define RSAREF_R_PUBLIC_KEY 0x040a
-#define RSAREF_R_SIGNATURE 0x040b
-#define RSAREF_R_SIGNATURE_ENCODING 0x040c
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/crypto/openssl/rsaref/rsaref_stubs.c b/crypto/openssl/rsaref/rsaref_stubs.c
deleted file mode 100644
index d2a032c..0000000
--- a/crypto/openssl/rsaref/rsaref_stubs.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * $FreeBSD$
- *
- * Copyright (c) 2000
- * Jordan Hubbard. All rights reserved.
- *
- * Stub functions for RSA code. If you link with this code, you will
- * get a full set of weak symbol references to the rsaref library
- * functions which are required by openssl. These can then be occluded
- * by the real rsaref library by explicitly linking with it or, failing
- * that, these stub functions will also attempt to find an appropriate
- * rsaref library in the search path and do the link-up at runtime.
- *
- * 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,
- * verbatim and that no modifications are made prior to this
- * point in the file.
- * 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 JORDAN HUBBARD ``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 JORDAN HUBBARD OR HIS PETS 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, LIFE 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. SO THERE.
- *
- */
-
-#ifndef NO_RSA
-
-#include <stdio.h>
-#include <syslog.h>
-#include <unistd.h>
-#include <openssl/rsa.h>
-
-#define VERBOSE_STUBS /* undef if you don't want missing rsaref reported */
-
-#ifdef PIC
-#include <dlfcn.h>
-
-#define RSA_SHLIB "librsaref.so" /* be more exact if you need to */
-
-static void *
-getsym(const char *sym)
-{
- static void *rsalib;
- static int whined;
- void *ret = NULL;
-
- if (!rsalib)
- rsalib = dlopen(RSA_SHLIB, RTLD_LAZY);
- if (rsalib)
- ret = dlsym(rsalib, sym);
-#ifdef VERBOSE_STUBS
- if (!ret && !whined) {
- if (isatty(STDERR_FILENO)) {
- fprintf(stderr, "** %s: Unable to find an RSAREF shared library (%s).\n", sym, RSA_SHLIB);
- fprintf(stderr, "** Install the /usr/ports/security/rsaref port or package and run this\n");
- fprintf(stderr, "** program again. See the OpenSSL chapter in the FreeBSD Handbook, located at\n");
- fprintf(stderr, "** http://www.freebsd.org/handbook/openssl.html, for more information.\n");
- } else {
- syslog(LOG_ERR, "** %s: Unable to find an RSAREF shared library \
-(%s). Install the /usr/ports/security/rsaref port or package and run this \
-program again. See the OpenSSL chapter in the FreeBSD Handbook, located at \
-http://www.freebsd.org/handbook/openssl.html, for more information.", \
-sym, RSA_SHLIB);
- }
- whined = 1;
- }
-#endif
- return ret;
-}
-
-int
-RSAPrivateDecrypt_stub(unsigned char *output, unsigned int *outlen,
- unsigned char *input, int inputlen, void *RSAkey)
-{
- static int (*sym)(unsigned char *, unsigned int *, unsigned char *, int, void *);
-
- if (sym || (sym = getsym("RSAPrivateDecrypt")))
- return sym(output, outlen, input, inputlen, RSAkey);
- return 0;
-}
-__weak_reference(RSAPrivateDecrypt_stub, RSAPrivateDecrypt);
-
-
-int
-RSAPrivateEncrypt_stub(unsigned char *output, unsigned int *outlen,
- unsigned char *input, int inputlen, void *RSAkey)
-{
- static int (*sym)(unsigned char *, unsigned int *, unsigned char *, int, void *);
-
- if (sym || (sym = getsym("RSAPrivateEncrypt")))
- return sym(output, outlen, input, inputlen, RSAkey);
- return 0;
-}
-__weak_reference(RSAPrivateEncrypt_stub, RSAPrivateEncrypt);
-
-int
-RSAPublicDecrypt_stub(unsigned char *output, unsigned int *outlen,
- unsigned char *input, int inputlen, void *RSAkey)
-{
- static int (*sym)(unsigned char *, unsigned int *, unsigned char *, int, void *);
-
- if (sym || (sym = getsym("RSAPublicDecrypt")))
- return sym(output, outlen, input, inputlen, RSAkey);
- return 0;
-}
-__weak_reference(RSAPublicDecrypt_stub, RSAPublicDecrypt);
-
-int
-RSAPublicEncrypt_stub(unsigned char *output, unsigned int *outlen,
- unsigned char *input, int inputlen, void *RSAkey, void *randomStruct)
-{
- static int (*sym)(unsigned char *, unsigned int *, unsigned char *, int,
- void *, void *);
-
- if (sym || (sym = getsym("RSAPublicEncrypt")))
- return sym(output, outlen, input, inputlen, RSAkey, randomStruct);
- return 0;
-}
-__weak_reference(RSAPublicEncrypt_stub, RSAPublicEncrypt);
-
-int
-R_GetRandomBytesNeeded_stub(unsigned int *bytesNeeded, void *randomStruct)
-{
- static int (*sym)(unsigned int *, void *);
-
- if (sym || (sym = getsym("R_GetRandomBytesNeeded")))
- return sym(bytesNeeded, randomStruct);
- return 0;
-}
-__weak_reference(R_GetRandomBytesNeeded_stub, R_GetRandomBytesNeeded);
-
-void
-R_RandomFinal_stub(void *randomStruct)
-{
- static void (*sym)(void *);
-
- if (sym || (sym = getsym("R_RandomFinal")))
- sym(randomStruct);
-}
-__weak_reference(R_RandomFinal_stub, R_RandomFinal);
-
-int
-R_RandomInit_stub(void *randomStruct)
-{
- static int (*sym)(void *);
-
- if (sym || (sym = getsym("R_RandomInit")))
- sym(randomStruct);
- return 0;
-}
-__weak_reference(R_RandomInit_stub, R_RandomInit);
-
-int
-R_RandomUpdate_stub(void *randomStruct,
- unsigned char *block, unsigned int blockLen)
-{
- static int (*sym)(void *, unsigned char *, unsigned int);
-
- if (sym || (sym = getsym("R_RandomUpdate")))
- sym(randomStruct, block, blockLen);
- return 0;
-}
-__weak_reference(R_RandomUpdate_stub, R_RandomUpdate);
-
-int
-RSA_libversion()
-{
- return RSALIB_RSAREF;
-}
-
-#else /* !PIC */
-
-/* Failsafe glue for static linking. Link but complain like hell. */
-
-/* actually, this creates all sorts of ld(1) problems, forget it for now */
-
-#endif /* !PIC */
-
-#endif /* !NO_RSA */
diff --git a/etc/defaults/make.conf b/etc/defaults/make.conf
index 207e3d6..607f444 100644
--- a/etc/defaults/make.conf
+++ b/etc/defaults/make.conf
@@ -62,7 +62,6 @@ BDECFLAGS= -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
#NO_OBJC= true # do not build Objective C support
#NO_OPENSSH= true # do not build OpenSSH
#NO_OPENSSL= true # do not build OpenSSL (implies NO_OPENSSH)
-#NO_RSAINTL= YES # do not build OpenSSL native RSA libraries
#NO_SENDMAIL= true # do not build sendmail and related programs
#NO_SHAREDOCS= true # do not build the 4.4BSD legacy docs
#NO_TCSH= true # do not build and install /bin/csh (which is tcsh)
diff --git a/secure/lib/Makefile b/secure/lib/Makefile
index d061f66..a3aa74c 100644
--- a/secure/lib/Makefile
+++ b/secure/lib/Makefile
@@ -5,14 +5,7 @@ SUBDIR= libcipher
SUBDIR+=libtelnet
.endif
.if !defined(NO_OPENSSL)
-SUBDIR+=libcrypto librsaglue libssl
-.if exists(${.CURDIR}/../../crypto/openssl/rsaref)
-SUBDIR+=librsausa
-.endif
-.if exists(${.CURDIR}/../../crypto/openssl/crypto/rsa/rsa_eay.c) && \
- !defined(NO_RSAINTL)
-SUBDIR+=librsaintl
-.endif
+SUBDIR+=libcrypto libssl
.endif
.if !defined(NO_OPENSSH)
SUBDIR+=libssh
diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile
index 226a504..a0cbd78 100644
--- a/secure/lib/libcrypto/Makefile
+++ b/secure/lib/libcrypto/Makefile
@@ -150,8 +150,8 @@ SRCS+= rmd_dgst.c rmd_one.c
# rsa
.if defined(WITH_RSA) && ${WITH_RSA} == YES
-SRCS+= rsa_chk.c rsa_err.c rsa_gen.c rsa_lib.c rsa_none.c rsa_null.c \
- rsa_oaep.c rsa_pk1.c rsa_saos.c rsa_sign.c rsa_ssl.c rsa_stubs.c
+SRCS+= rsa_chk.c rsa_eay.c rsa_err.c rsa_gen.c rsa_lib.c rsa_none.c \
+ rsa_null.c rsa_oaep.c rsa_pk1.c rsa_saos.c rsa_sign.c rsa_ssl.c
.endif
# sha
diff --git a/secure/lib/librsaintl/Makefile b/secure/lib/librsaintl/Makefile
deleted file mode 100644
index d5b2a37..0000000
--- a/secure/lib/librsaintl/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# $FreeBSD$
-
-.include "../libcrypto/Makefile.inc"
-
-.PATH: ${LCRYPTO_SRC}/rsa
-
-MAINTAINER= kris
-
-LIB= rsaINTL
-SHLIB_MAJOR= 1
-
-CFLAGS+= -I${.OBJDIR}
-LDADD+= -L${.OBJDIR}/../libcrypto -lcrypto
-
-# rsaref
-SRCS+= rsa_err.c rsa_eay.c rsa_intlstubs.c
-
-HDRS= asn1/asn1.h asn1/asn1_mac.h bio/bio.h bf/blowfish.h bn/bn.h \
- buffer/buffer.h cast/cast.h comp/comp.h conf/conf.h crypto.h \
- des/des.h dh/dh.h dsa/dsa.h ../e_os.h ../e_os2.h ebcdic.h \
- err/err.h evp/evp.h hmac/hmac.h lhash/lhash.h md2/md2.h \
- md5/md5.h mdc2/mdc2.h objects/objects.h opensslv.h pem/pem.h \
- pem/pem2.h pkcs12/pkcs12.h pkcs7/pkcs7.h rand/rand.h rc2/rc2.h \
- rc4/rc4.h rc5/rc5.h ripemd/ripemd.h rsa/rsa.h ../rsaref/rsaref.h \
- stack/safestack.h sha/sha.h stack/stack.h tmdiff.h txt_db/txt_db.h \
- x509/x509.h x509/x509_vfy.h x509v3/x509v3.h
-
-.for h in ${HDRS}
-CRYPTO_HDRS+= ${LCRYPTO_SRC}/${h}
-.endfor
-
-.include <bsd.lib.mk>
diff --git a/secure/lib/librsausa/Makefile b/secure/lib/librsausa/Makefile
deleted file mode 100644
index 70dbcb7..0000000
--- a/secure/lib/librsausa/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# $FreeBSD$
-
-.include "../libcrypto/Makefile.inc"
-
-.PATH: ${LCRYPTO_SRC}/../rsaref
-
-MAINTAINER= kris
-
-LIB= rsaUSA
-SHLIB_MAJOR= 1
-
-CFLAGS+= -I${.OBJDIR}
-
-LDADD+= -L${.OBJDIR}/../libcrypto -lcrypto
-
-# rsaref
-SRCS+= rsar_err.c rsaref.c rsaref_stubs.c
-
-HDRS= asn1/asn1.h asn1/asn1_mac.h bio/bio.h bf/blowfish.h bn/bn.h \
- buffer/buffer.h cast/cast.h comp/comp.h conf/conf.h crypto.h \
- des/des.h dh/dh.h dsa/dsa.h ../e_os.h ../e_os2.h ebcdic.h \
- err/err.h evp/evp.h hmac/hmac.h lhash/lhash.h md2/md2.h \
- md5/md5.h mdc2/mdc2.h objects/objects.h opensslv.h pem/pem.h \
- pem/pem2.h pkcs12/pkcs12.h pkcs7/pkcs7.h rand/rand.h rc2/rc2.h \
- rc4/rc4.h rc5/rc5.h ripemd/ripemd.h rsa/rsa.h ../rsaref/rsaref.h \
- stack/safestack.h sha/sha.h stack/stack.h tmdiff.h txt_db/txt_db.h \
- x509/x509.h x509/x509_vfy.h x509v3/x509v3.h
-
-.for h in ${HDRS}
-CRYPTO_HDRS+= ${LCRYPTO_SRC}/${h}
-.endfor
-
-.include <bsd.lib.mk>
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index 207e3d6..607f444 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -62,7 +62,6 @@ BDECFLAGS= -W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
#NO_OBJC= true # do not build Objective C support
#NO_OPENSSH= true # do not build OpenSSH
#NO_OPENSSL= true # do not build OpenSSL (implies NO_OPENSSH)
-#NO_RSAINTL= YES # do not build OpenSSL native RSA libraries
#NO_SENDMAIL= true # do not build sendmail and related programs
#NO_SHAREDOCS= true # do not build the 4.4BSD legacy docs
#NO_TCSH= true # do not build and install /bin/csh (which is tcsh)
OpenPOWER on IntegriCloud