* SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.
*/
-#define _XOPEN_SOURCE 600 /* Or gethostname won't be declared properly
+#define _BSD_SOURCE 1 /* Or gethostname won't be declared properly
on Linux and GNU platforms. */
-#define _XOPEN_SOURCE_EXTENDED 1 /* Or gethostname won't be declared properly
- on Compaq platforms (at least with DEC C).
- */
#include <assert.h>
#include <errno.h>
#include <string.h>
#include <time.h>
+#define USE_SOCKETS
#include "e_os.h"
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/x509.h>
#include <openssl/ssl.h>
+#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
+#endif
#include <openssl/err.h>
#include <openssl/rand.h>
+
+#define _XOPEN_SOURCE_EXTENDED 1 /* Or gethostname won't be declared properly
+ on Compaq platforms (at least with DEC C).
+ Do not try to put it earlier, or IPv6 includes
+ get screwed...
+ */
+
#ifdef OPENSSL_SYS_WINDOWS
#include <winsock.h>
-#include "../crypto/bio/bss_file.c"
#else
#include OPENSSL_UNISTD
#endif
"the test anyway (and\n-d to see what happens), "
"or add one of -ssl2, -ssl3, -tls1, -reuse\n"
"to avoid protocol mismatch.\n");
- exit(1);
+ EXIT(1);
}
if (print_time)
#ifndef OPENSSL_NO_RSA
free_tmp_rsa();
#endif
+#ifndef OPENSSL_NO_ENGINE
ENGINE_cleanup();
+#endif
CRYPTO_cleanup_all_ex_data();
ERR_free_strings();
ERR_remove_state(0);
{
if (rsa_tmp == NULL)
{
+ rsa_tmp = RSA_new();
+ if(!rsa_tmp)
+ {
+ BIO_printf(bio_err, "Memory error...");
+ goto end;
+ }
BIO_printf(bio_err,"Generating temp (%d bit) RSA key...",keylength);
(void)BIO_flush(bio_err);
- rsa_tmp=RSA_generate_key(keylength,RSA_F4,NULL,NULL);
+ if(!RSA_generate_key_ex(rsa_tmp,keylength,RSA_F4,NULL))
+ {
+ BIO_printf(bio_err, "Error generating key.", keylength);
+ RSA_free(rsa_tmp);
+ rsa_tmp = NULL;
+ }
+end:
BIO_printf(bio_err,"\n");
(void)BIO_flush(bio_err);
}