X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fdh%2Fdhtest.c;h=f0151253d788ed28375468240f01cffe20e195d3;hp=b3387158806f96ab0a559a06b16e1c87e0039707;hb=f971ccb2646828aee104c5be5deab9991f0a4d2b;hpb=eda1f21f1af8b6f77327e7b37573af9c1ba73726 diff --git a/crypto/dh/dhtest.c b/crypto/dh/dhtest.c index b338715880..f0151253d7 100644 --- a/crypto/dh/dhtest.c +++ b/crypto/dh/dhtest.c @@ -1,5 +1,5 @@ /* crypto/dh/dhtest.c */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written @@ -59,13 +59,22 @@ #include #include #include -#ifdef WIN16 -#define APPS_WIN16 +#ifdef WINDOWS +#include "../bio/bss_file.c" #endif -#include "crypto.h" -#include "bio.h" -#include "bn.h" -#include "dh.h" +#include +#include +#include +#include + +#ifdef NO_DH +int main(int argc, char *argv[]) +{ + printf("No DH support\n"); + return(0); +} +#else +#include #ifdef WIN16 #define MS_CALLBACK _far _loadds @@ -73,37 +82,34 @@ #define MS_CALLBACK #endif -#ifndef NOPROTO -static void MS_CALLBACK cb(int p, int n); -#else -static void MS_CALLBACK cb(); -#endif - -#ifdef WIN16 +static void MS_CALLBACK cb(int p, int n, void *arg); +#ifdef NO_STDIO #define APPS_WIN16 -#include "../bio/bss_file.c" +#include "bss_file.c" #endif -BIO *out=NULL; +static const char rnd_seed[] = "string to make the random number generator think it has entropy"; -int main(argc,argv) -int argc; -char *argv[]; +int main(int argc, char *argv[]) { - DH *a,*b; + DH *a; + DH *b=NULL; char buf[12]; unsigned char *abuf=NULL,*bbuf=NULL; int i,alen,blen,aout,bout,ret=1; + BIO *out; #ifdef WIN32 CRYPTO_malloc_init(); #endif + RAND_seed(rnd_seed, sizeof rnd_seed); + out=BIO_new(BIO_s_file()); if (out == NULL) exit(1); BIO_set_fp(out,stdout,BIO_NOCLOSE); - a=DH_generate_parameters(64,DH_GENERATOR_5,cb); + a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out); if (a == NULL) goto err; BIO_puts(out,"\np ="); @@ -134,7 +140,7 @@ char *argv[]; BIO_puts(out,"\n"); alen=DH_size(a); - abuf=(unsigned char *)Malloc(alen); + abuf=(unsigned char *)OPENSSL_malloc(alen); aout=DH_compute_key(abuf,b->pub_key,a); BIO_puts(out,"key1 ="); @@ -146,7 +152,7 @@ char *argv[]; BIO_puts(out,"\n"); blen=DH_size(b); - bbuf=(unsigned char *)Malloc(blen); + bbuf=(unsigned char *)OPENSSL_malloc(blen); bout=DH_compute_key(bbuf,a->pub_key,b); BIO_puts(out,"key2 ="); @@ -164,15 +170,16 @@ char *argv[]; else ret=0; err: - if (abuf != NULL) Free(abuf); - if (bbuf != NULL) Free(bbuf); + if (abuf != NULL) OPENSSL_free(abuf); + if (bbuf != NULL) OPENSSL_free(bbuf); + if(b != NULL) DH_free(b); + if(a != NULL) DH_free(a); + BIO_free(out); exit(ret); return(ret); } -static void MS_CALLBACK cb(p, n) -int p; -int n; +static void MS_CALLBACK cb(int p, int n, void *arg) { char c='*'; @@ -180,8 +187,10 @@ int n; if (p == 1) c='+'; if (p == 2) c='*'; if (p == 3) c='\n'; - BIO_write(out,&c,1); + BIO_write((BIO *)arg,&c,1); + (void)BIO_flush((BIO *)arg); #ifdef LINT p=n; #endif } +#endif