Various changes to make this stuff compile under Win32 and VC++ with and
without -debug option to mk1mf.pl. Change _export to is_export (_export is
a reserved word under VC++). Add yucky function prototype function pointer
casts. Sanitise the included files in crypto/x509v3.
Also changed ssleay.exe target to openssl.exe
diff --git a/crypto/rsa/rsa_oaep_test.c b/crypto/rsa/rsa_oaep_test.c
index 2e43845..681b5a7 100644
--- a/crypto/rsa/rsa_oaep_test.c
+++ b/crypto/rsa/rsa_oaep_test.c
@@ -1,7 +1,8 @@
/* test vectors from p1ovect1.txt */
#include <stdio.h>
-#include <rsa.h>
+#include "e_os.h"
+#include "rsa.h"
#define SetKey \
key->n = BN_bin2bn(n, sizeof(n)-1, key->n); \
diff --git a/crypto/x509v3/v3_akey.c b/crypto/x509v3/v3_akey.c
index bef9b77..ab488f9 100644
--- a/crypto/x509v3/v3_akey.c
+++ b/crypto/x509v3/v3_akey.c
@@ -57,12 +57,10 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "conf.h"
+#include "asn1.h"
+#include "asn1_mac.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_alt.c b/crypto/x509v3/v3_alt.c
index 76f1b63..7f02dfc 100644
--- a/crypto/x509v3/v3_alt.c
+++ b/crypto/x509v3/v3_alt.c
@@ -57,22 +57,18 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "conf.h"
#include "x509v3.h"
#ifndef NOPROTO
-STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval);
-STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval);
+static STACK *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval);
+static STACK *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval);
static int copy_email(X509V3_CTX *ctx, STACK *gens);
static int copy_issuer(X509V3_CTX *ctx, STACK *gens);
#else
-STACK *v2i_issuer_alt();
-STACK *v2i_subject_alt();
+static STACK *v2i_issuer_alt();
+static STACK *v2i_subject_alt();
static int copy_email();
static int copy_issuer();
#endif
@@ -170,7 +166,7 @@
return ret;
}
-STACK *v2i_issuer_alt(method, ctx, nval)
+static STACK *v2i_issuer_alt(method, ctx, nval)
X509V3_EXT_METHOD *method;
X509V3_CTX *ctx;
STACK *nval;
@@ -239,7 +235,7 @@
}
-STACK *v2i_subject_alt(method, ctx, nval)
+static STACK *v2i_subject_alt(method, ctx, nval)
X509V3_EXT_METHOD *method;
X509V3_CTX *ctx;
STACK *nval;
diff --git a/crypto/x509v3/v3_bcons.c b/crypto/x509v3/v3_bcons.c
index 87e5d00..1a33778 100644
--- a/crypto/x509v3/v3_bcons.c
+++ b/crypto/x509v3/v3_bcons.c
@@ -56,13 +56,12 @@
*
*/
+
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "asn1_mac.h"
+#include "conf.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_bitst.c b/crypto/x509v3/v3_bitst.c
index 2b2cc59..67d865f 100644
--- a/crypto/x509v3/v3_bitst.c
+++ b/crypto/x509v3/v3_bitst.c
@@ -57,12 +57,8 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "conf.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_conf.c b/crypto/x509v3/v3_conf.c
index 22ad348..78dd995 100644
--- a/crypto/x509v3/v3_conf.c
+++ b/crypto/x509v3/v3_conf.c
@@ -57,12 +57,13 @@
*/
/* extension creation utilities */
-#include <stdlib.h>
+
+
+#include <stdio.h>
#include <ctype.h>
-#include <string.h>
-#include <pem.h>
-#include <conf.h>
-#include <err.h>
+#include "cryptlib.h"
+#include "conf.h"
+#include "x509.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_enum.c b/crypto/x509v3/v3_enum.c
index 017f6f3..3ce97cd 100644
--- a/crypto/x509v3/v3_enum.c
+++ b/crypto/x509v3/v3_enum.c
@@ -57,9 +57,7 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <err.h>
+#include "cryptlib.h"
#include "x509v3.h"
static ASN1_ENUMERATED *asn1_enumerated_new();
diff --git a/crypto/x509v3/v3_extku.c b/crypto/x509v3/v3_extku.c
index 1c2d93f..7a6bbf6 100644
--- a/crypto/x509v3/v3_extku.c
+++ b/crypto/x509v3/v3_extku.c
@@ -56,13 +56,11 @@
*
*/
+
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "conf.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_genn.c b/crypto/x509v3/v3_genn.c
index bd35eac..e7918d6 100644
--- a/crypto/x509v3/v3_genn.c
+++ b/crypto/x509v3/v3_genn.c
@@ -56,13 +56,12 @@
*
*/
+
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "asn1_mac.h"
+#include "conf.h"
#include "x509v3.h"
/*
diff --git a/crypto/x509v3/v3_ia5.c b/crypto/x509v3/v3_ia5.c
index 13a1137..1030d8e 100644
--- a/crypto/x509v3/v3_ia5.c
+++ b/crypto/x509v3/v3_ia5.c
@@ -56,13 +56,11 @@
*
*/
+
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "conf.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_int.c b/crypto/x509v3/v3_int.c
index 6c966b3..199ba10 100644
--- a/crypto/x509v3/v3_int.c
+++ b/crypto/x509v3/v3_int.c
@@ -57,9 +57,7 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <err.h>
+#include "cryptlib.h"
#include "x509v3.h"
static ASN1_INTEGER *asn1_integer_new();
diff --git a/crypto/x509v3/v3_lib.c b/crypto/x509v3/v3_lib.c
index b40df76..0500ef5 100644
--- a/crypto/x509v3/v3_lib.c
+++ b/crypto/x509v3/v3_lib.c
@@ -57,10 +57,9 @@
*/
/* X509 v3 extension utilities */
-#include <stdlib.h>
-#include <pem.h>
-#include <conf.h>
-#include <err.h>
+#include <stdio.h>
+#include "cryptlib.h"
+#include "conf.h"
#include "x509v3.h"
static STACK *ext_list = NULL;
diff --git a/crypto/x509v3/v3_pku.c b/crypto/x509v3/v3_pku.c
index e0921ec..c3808cc 100644
--- a/crypto/x509v3/v3_pku.c
+++ b/crypto/x509v3/v3_pku.c
@@ -57,12 +57,9 @@
*/
#include <stdio.h>
-#include <stdlib.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "asn1_mac.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_prn.c b/crypto/x509v3/v3_prn.c
index 7da7056..f3cca7a 100644
--- a/crypto/x509v3/v3_prn.c
+++ b/crypto/x509v3/v3_prn.c
@@ -57,10 +57,9 @@
*/
/* X509 v3 extension utilities */
-#include <stdlib.h>
-#include <pem.h>
-#include <conf.h>
-#include <err.h>
+#include <stdio.h>
+#include "cryptlib.h"
+#include "conf.h"
#include "x509v3.h"
/* Extension printing routines */
diff --git a/crypto/x509v3/v3_skey.c b/crypto/x509v3/v3_skey.c
index 3994c79..c9402e6 100644
--- a/crypto/x509v3/v3_skey.c
+++ b/crypto/x509v3/v3_skey.c
@@ -56,14 +56,9 @@
*
*/
+
#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <pem.h>
-#include <asn1_mac.h>
-#include <err.h>
-#include <objects.h>
-#include <conf.h>
+#include "cryptlib.h"
#include "x509v3.h"
#ifndef NOPROTO
diff --git a/crypto/x509v3/v3_utl.c b/crypto/x509v3/v3_utl.c
index dc43fcb..0d2ae9d 100644
--- a/crypto/x509v3/v3_utl.c
+++ b/crypto/x509v3/v3_utl.c
@@ -57,12 +57,11 @@
*/
/* X509 v3 extension utilities */
-#include <stdlib.h>
-#include <string.h>
+
+#include <stdio.h>
#include <ctype.h>
-#include <pem.h>
-#include <conf.h>
-#include <err.h>
+#include "cryptlib.h"
+#include "conf.h"
#include "x509v3.h"
static char *strip_spaces(char *name);
diff --git a/crypto/x509v3/v3conf.c b/crypto/x509v3/v3conf.c
index e0b097b..64a5561 100644
--- a/crypto/x509v3/v3conf.c
+++ b/crypto/x509v3/v3conf.c
@@ -55,11 +55,14 @@
* Hudson (tjh@cryptsoft.com).
*
*/
+
+
#include <stdio.h>
-#include <pem.h>
-#include <objects.h>
-#include <conf.h>
-#include <err.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "asn1_mac.h"
+#include "conf.h"
+#include "x509.h"
#include "x509v3.h"
/* Test application to add extensions from a config file */
diff --git a/crypto/x509v3/v3prin.c b/crypto/x509v3/v3prin.c
index 75e0cfb..3a8ce93 100644
--- a/crypto/x509v3/v3prin.c
+++ b/crypto/x509v3/v3prin.c
@@ -55,10 +55,15 @@
* Hudson (tjh@cryptsoft.com).
*
*/
-#include <pem.h>
-#include <objects.h>
-#include <conf.h>
-#include <err.h>
+
+
+
+#include <stdio.h>
+#include "cryptlib.h"
+#include "asn1.h"
+#include "asn1_mac.h"
+#include "conf.h"
+#include "x509.h"
#include "x509v3.h"
int main(argc, argv)
diff --git a/crypto/x509v3/x509v3.h b/crypto/x509v3/x509v3.h
index b4aeaf6..f40bb02 100644
--- a/crypto/x509v3/x509v3.h
+++ b/crypto/x509v3/x509v3.h
@@ -334,7 +334,7 @@
X509V3_EXT_METHOD *X509V3_EXT_get_nid();
int X509V3_add_standard_extensions();
STACK *X509V3_parse_list();
-char *X509V3_EXT_get_d2i();
+char *X509V3_EXT_d2i();
char *hex_to_string();
unsigned char *string_to_hex();
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index b6f5d82..b7bcf86 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -623,7 +623,11 @@
}
/* break; */
case SSL_CTRL_SET_TMP_RSA_CB:
+#ifndef NOPROTO
+ cert->rsa_tmp_cb=(RSA *(*)(SSL *, int, int))parg;
+#else
cert->rsa_tmp_cb=(RSA *(*)())parg;
+#endif
break;
#endif
#ifndef NO_DH
@@ -650,7 +654,11 @@
}
/*break; */
case SSL_CTRL_SET_TMP_DH_CB:
+#ifndef NOPROTO
+ cert->dh_tmp_cb=(DH *(*)(SSL *, int, int))parg;
+#else
cert->dh_tmp_cb=(DH *(*)())parg;
+#endif
break;
#endif
/* A Thawte special :-) */
diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
index d558794..0e9d97a 100644
--- a/ssl/ssl_ciph.c
+++ b/ssl/ssl_ciph.c
@@ -616,7 +616,7 @@
char *buf;
int len;
{
- int _export,pkl,kl;
+ int is_export,pkl,kl;
char *ver,*exp;
char *kx,*au,*enc,*mac;
unsigned long alg,alg2;
@@ -625,10 +625,10 @@
alg=cipher->algorithms;
alg2=cipher->algorithm2;
- _export=SSL_IS_EXPORT(alg);
+ is_export=SSL_IS_EXPORT(alg);
pkl=SSL_EXPORT_PKEYLENGTH(alg);
kl=SSL_EXPORT_KEYLENGTH(alg);
- exp=_export?" export":"";
+ exp=is_export?" export":"";
if (alg & SSL_SSLV2)
ver="SSLv2";
@@ -640,7 +640,7 @@
switch (alg&SSL_MKEY_MASK)
{
case SSL_kRSA:
- kx=_export?(pkl == 512 ? "RSA(512)" : "RSA(1024)"):"RSA";
+ kx=is_export?(pkl == 512 ? "RSA(512)" : "RSA(1024)"):"RSA";
break;
case SSL_kDHr:
kx="DH/RSA";
@@ -652,7 +652,7 @@
kx="Fortezza";
break;
case SSL_kEDH:
- kx=_export?(pkl == 512 ? "DH(512)" : "DH(1024)"):"DH";
+ kx=is_export?(pkl == 512 ? "DH(512)" : "DH(1024)"):"DH";
break;
default:
kx="unknown";
@@ -681,17 +681,17 @@
switch (alg&SSL_ENC_MASK)
{
case SSL_DES:
- enc=(_export && kl == 5)?"DES(40)":"DES(56)";
+ enc=(is_export && kl == 5)?"DES(40)":"DES(56)";
break;
case SSL_3DES:
enc="3DES(168)";
break;
case SSL_RC4:
- enc=_export?(kl == 5 ? "RC4(40)" : "RC4(56)")
+ enc=is_export?(kl == 5 ? "RC4(40)" : "RC4(56)")
:((alg2&SSL2_CF_8_BYTE_ENC)?"RC4(64)":"RC4(128)");
break;
case SSL_RC2:
- enc=_export?(kl == 5 ? "RC2(40)" : "RC2(56)"):"RC2(128)";
+ enc=is_export?(kl == 5 ? "RC2(40)" : "RC2(56)"):"RC2(128)";
break;
case SSL_IDEA:
enc="IDEA(128)";
diff --git a/util/libeay.num b/util/libeay.num
index 5477876..e7da890 100755
--- a/util/libeay.num
+++ b/util/libeay.num
@@ -1209,7 +1209,7 @@
PKEY_USAGE_PERIOD_free 1235
v2i_GENERAL_NAMES 1236
i2s_ASN1_INTEGER 1237
-X509V3_EXT_get_d2i 1238
+X509V3_EXT_d2i 1238
name_cmp 1239
str_dup 1240
i2s_ASN1_ENUMERATED 1241
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index 11e9c16..8da22cc 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -249,8 +249,8 @@
$INSTALLTOP =~ s|/|$o|g;
$defs= <<"EOF";
-# This makefile has been automatically generated from the SSLeay distribution.
-# This single makefile will build the complete SSLeay distribution and
+# This makefile has been automatically generated from the OpenSSL distribution.
+# This single makefile will build the complete OpenSSL distribution and
# by default leave the 'intertesting' output files in .${o}out and the stuff
# that needs deleting in .${o}tmp.
# The file was generated by running 'make makefile.one', which
@@ -277,7 +277,7 @@
# be added
EX_LIBS=$ex_libs
-# The SSLeay directory
+# The OpenSSL directory
SRC_D=$src_dir
LINK=$link
@@ -321,7 +321,7 @@
# You should not need to touch anything below this point
######################################################
-E_EXE=ssleay
+E_EXE=openssl
SSL=$ssl
CRYPTO=$crypto
RSAGLUE=$RSAglue