summaryrefslogtreecommitdiffstats
path: root/crypto/dh
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>2004-06-19 13:15:35 +0000
committerBen Laurie <ben@openssl.org>2004-06-19 13:15:35 +0000
commitb5e4469150f5df037695d0d57ef9af6ff85b4fdd (patch)
treed833644a9c77fc56eab337bda4281ba3ce94f025 /crypto/dh
parent3e00d6c4bb739f3175f0f8997f9142d769918b11 (diff)
The version that was actually submitted for FIPS testing.
Diffstat (limited to 'crypto/dh')
-rw-r--r--crypto/dh/dh.h1
-rw-r--r--crypto/dh/dh_check.c4
-rw-r--r--crypto/dh/dh_err.c1
-rw-r--r--crypto/dh/dh_gen.c14
-rw-r--r--crypto/dh/dh_key.c4
5 files changed, 13 insertions, 11 deletions
diff --git a/crypto/dh/dh.h b/crypto/dh/dh.h
index 1f734dae24..05851f8429 100644
--- a/crypto/dh/dh.h
+++ b/crypto/dh/dh.h
@@ -199,7 +199,6 @@ void ERR_load_DH_strings(void);
/* Reason codes. */
#define DH_R_BAD_GENERATOR 101
-#define DH_R_NOT_PERMITTED_IN_FIPS_MODE 102
#define DH_R_NO_PRIVATE_VALUE 100
#ifdef __cplusplus
diff --git a/crypto/dh/dh_check.c b/crypto/dh/dh_check.c
index f0373f7d68..a7e9920efb 100644
--- a/crypto/dh/dh_check.c
+++ b/crypto/dh/dh_check.c
@@ -70,6 +70,8 @@
* should hold.
*/
+#ifndef OPENSSL_FIPS
+
int DH_check(const DH *dh, int *ret)
{
int ok=0;
@@ -118,3 +120,5 @@ err:
if (q != NULL) BN_free(q);
return(ok);
}
+
+#endif
diff --git a/crypto/dh/dh_err.c b/crypto/dh/dh_err.c
index 17cf42d952..c2715044c9 100644
--- a/crypto/dh/dh_err.c
+++ b/crypto/dh/dh_err.c
@@ -78,7 +78,6 @@ static ERR_STRING_DATA DH_str_functs[]=
static ERR_STRING_DATA DH_str_reasons[]=
{
{DH_R_BAD_GENERATOR ,"bad generator"},
-{DH_R_NOT_PERMITTED_IN_FIPS_MODE ,"not permitted in fips mode"},
{DH_R_NO_PRIVATE_VALUE ,"no private value"},
{0,NULL}
};
diff --git a/crypto/dh/dh_gen.c b/crypto/dh/dh_gen.c
index 38675f2688..a49b6f9adb 100644
--- a/crypto/dh/dh_gen.c
+++ b/crypto/dh/dh_gen.c
@@ -60,7 +60,6 @@
#include "cryptlib.h"
#include <openssl/bn.h>
#include <openssl/dh.h>
-#include <openssl/fips.h>
/* We generate DH parameters as follows
* find a prime q which is prime_len/2 bits long.
@@ -87,6 +86,9 @@
* It's just as OK (and in some sense better) to use a generator of the
* order-q subgroup.
*/
+
+#ifndef OPENSSL_FIPS
+
DH *DH_generate_parameters(int prime_len, int generator,
void (*callback)(int,int,void *), void *cb_arg)
{
@@ -95,14 +97,6 @@ DH *DH_generate_parameters(int prime_len, int generator,
int g,ok= -1;
BN_CTX *ctx=NULL;
-#ifdef OPENSSL_FIPS
- if(FIPS_mode)
- {
- DHerr(DH_F_DH_GENERATE_PARAMETERS, DH_R_NOT_PERMITTED_IN_FIPS_MODE);
- return NULL;
- }
-#endif
-
ret=DH_new();
if (ret == NULL) goto err;
ctx=BN_CTX_new();
@@ -176,3 +170,5 @@ err:
}
return(ret);
}
+
+#endif
diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c
index 77f2f50b51..ff125c2296 100644
--- a/crypto/dh/dh_key.c
+++ b/crypto/dh/dh_key.c
@@ -62,6 +62,8 @@
#include <openssl/rand.h>
#include <openssl/dh.h>
+#ifndef OPENSSL_FIPS
+
static int generate_key(DH *dh);
static int compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh);
static int dh_bn_mod_exp(const DH *dh, BIGNUM *r,
@@ -220,3 +222,5 @@ static int dh_finish(DH *dh)
BN_MONT_CTX_free((BN_MONT_CTX *)dh->method_mont_p);
return(1);
}
+
+#endif
/span># # KVM configuration # source "virt/kvm/Kconfig" menuconfig VIRTUALIZATION bool "Virtualization" depends on !CPU_LITTLE_ENDIAN ---help--- Say Y here to get to see options for using your Linux host to run other operating systems inside virtual machines (guests). This option alone does not add any kernel code. If you say N, all options in this submenu will be skipped and disabled. if VIRTUALIZATION config KVM bool select PREEMPT_NOTIFIERS select ANON_INODES select HAVE_KVM_EVENTFD config KVM_BOOK3S_HANDLER bool config KVM_BOOK3S_32_HANDLER bool select KVM_BOOK3S_HANDLER select KVM_MMIO config KVM_BOOK3S_64_HANDLER bool select KVM_BOOK3S_HANDLER config KVM_BOOK3S_PR_POSSIBLE bool select KVM_MMIO select MMU_NOTIFIER config KVM_BOOK3S_HV_POSSIBLE bool config KVM_BOOK3S_32 tristate "KVM support for PowerPC book3s_32 processors" depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT select KVM select KVM_BOOK3S_32_HANDLER select KVM_BOOK3S_PR_POSSIBLE ---help--- Support running unmodified book3s_32 guest kernels in virtual machines on book3s_32 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_BOOK3S_64 tristate "KVM support for PowerPC book3s_64 processors" depends on PPC_BOOK3S_64 select KVM_BOOK3S_64_HANDLER select KVM select KVM_BOOK3S_PR_POSSIBLE if !KVM_BOOK3S_HV_POSSIBLE ---help--- Support running unmodified book3s_64 and book3s_32 guest kernels in virtual machines on book3s_64 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_BOOK3S_64_HV tristate "KVM support for POWER7 and PPC970 using hypervisor mode in host" depends on KVM_BOOK3S_64 select KVM_BOOK3S_HV_POSSIBLE select MMU_NOTIFIER select CMA ---help--- Support running unmodified book3s_64 guest kernels in virtual machines on POWER7 and PPC970 processors that have hypervisor mode available to the host. If you say Y here, KVM will use the hardware virtualization facilities of POWER7 (and later) processors, meaning that guest operating systems will run at full hardware speed using supervisor and user modes. However, this also means that KVM is not usable under PowerVM (pHyp), is only usable on POWER7 (or later) processors and PPC970-family processors, and cannot emulate a different processor from the host processor. If unsure, say N. config KVM_BOOK3S_64_PR tristate "KVM support without using hypervisor mode in host" depends on KVM_BOOK3S_64 select KVM_BOOK3S_PR_POSSIBLE ---help--- Support running guest kernels in virtual machines on processors without using hypervisor mode in the host, by running the guest in user mode (problem state) and emulating all privileged instructions and registers. This is not as fast as using hypervisor mode, but works on machines where hypervisor mode is not available or not usable, and can emulate processors that are different from the host processor, including emulating 32-bit processors on a 64-bit host. config KVM_BOOKE_HV bool config KVM_440 bool "KVM support for PowerPC 440 processors" depends on 44x select KVM select KVM_MMIO ---help--- Support running unmodified 440 guest kernels in virtual machines on 440 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_EXIT_TIMING bool "Detailed exit timing" depends on KVM_440 || KVM_E500V2 || KVM_E500MC ---help--- Calculate elapsed time for every exit/enter cycle. A per-vcpu report is available in debugfs kvm/vm#_vcpu#_timing. The overhead is relatively small, however it is not recommended for production environments. If unsure, say N. config KVM_E500V2 bool "KVM support for PowerPC E500v2 processors" depends on E500 && !PPC_E500MC select KVM select KVM_MMIO select MMU_NOTIFIER ---help--- Support running unmodified E500 guest kernels in virtual machines on E500v2 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_E500MC bool "KVM support for PowerPC E500MC/E5500/E6500 processors" depends on PPC_E500MC select KVM select KVM_MMIO select KVM_BOOKE_HV select MMU_NOTIFIER ---help--- Support running unmodified E500MC/E5500/E6500 guest kernels in virtual machines on E500MC/E5500/E6500 host processors. This module provides access to the hardware capabilities through a character device node named /dev/kvm. If unsure, say N. config KVM_MPIC bool "KVM in-kernel MPIC emulation" depends on KVM && E500 select HAVE_KVM_IRQCHIP select HAVE_KVM_IRQ_ROUTING select HAVE_KVM_MSI help Enable support for emulating MPIC devices inside the host kernel, rather than relying on userspace to emulate. Currently, support is limited to certain versions of Freescale's MPIC implementation. config KVM_XICS bool "KVM in-kernel XICS emulation" depends on KVM_BOOK3S_64 && !KVM_MPIC ---help--- Include support for the XICS (eXternal Interrupt Controller Specification) interrupt controller architecture used on IBM POWER (pSeries) servers. source drivers/vhost/Kconfig endif # VIRTUALIZATION