Fix the Win32 compile environment and add various changes so it will now compile
under Win32 (9X and NT) again. Note: some signed/unsigned changes recently
checked in were killing the Win32 compile.
diff --git a/util/libeay.num b/util/libeay.num
index e7da890..808ba3e 100755
--- a/util/libeay.num
+++ b/util/libeay.num
@@ -1214,3 +1214,7 @@
 str_dup                                 1240
 i2s_ASN1_ENUMERATED                     1241
 i2s_ASN1_ENUMERATED_TABLE               1242
+BIO_s_log                               1243
+BIO_f_reliable                          1244
+PKCS7_dataFinal                         1245
+PKCS7_dataDecode                        1246
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index 8da22cc..18e9b04 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -7,12 +7,13 @@
 
 $INSTALLTOP="/usr/local/ssl";
 
-$ssl_version="0.8.2";
+$ssl_version="0.9.2";
 
 $infile="MINFO";
 
 %ops=(
-	"VC-WIN32",   "Microsoft Visual C++ 4.[01] - Windows NT [34].x",
+	"VC-WIN32",   "Microsoft Visual C++ [4-6] - Windows NT or 9X",
+	"VC-NT",   "Microsoft Visual C++ [4-6] - Windows NT ONLY",
 	"VC-W31-16",  "Microsoft Visual C++ 1.52 - Windows 3.1 - 286",
 	"VC-WIN16",   "Alias for VC-W31-32",
 	"VC-W31-32",  "Microsoft Visual C++ 1.52 - Windows 3.1 - 386+",
@@ -126,6 +127,8 @@
 
 # $bin_dir.=$o causes a core dump on my sparc :-(
 
+$NT=0;
+
 push(@INC,"util/pl","pl");
 if ($platform eq "VC-MSDOS")
 	{
@@ -147,6 +150,7 @@
 	}
 elsif (($platform eq "VC-WIN32") || ($platform eq "VC-NT"))
 	{
+	$NT = 1 if $platform eq "VC-NT";
 	require 'VC-32.pl';
 	}
 elsif ($platform eq "BC-NT")
diff --git a/util/mkdef.pl b/util/mkdef.pl
index e1f2ca9..eec80df 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -9,11 +9,16 @@
 $crypto_num="util/libeay.num";
 $ssl_num=   "util/ssleay.num";
 
-$NT=1;
+$W32=1;
+$NT=0;
 foreach (@ARGV)
 	{
-	$NT=1 if $_ eq "32";
-	$NT=0 if $_ eq "16";
+	$W32=1 if $_ eq "32";
+	$W32=0 if $_ eq "16";
+	if($_ eq "NT") {
+		$W32 = 1;
+		$NT = 1;
+	}
 	$do_ssl=1 if $_ eq "ssleay";
 	$do_ssl=1 if $_ eq "ssl";
 	$do_crypto=1 if $_ eq "libeay";
@@ -167,7 +172,7 @@
 				$tag{$t}= -$tag{$t};
 				next;
 				}
-#printf STDERR "$_\n%2d %2d %2d %2d %2d $NT\n",
+#printf STDERR "$_\n%2d %2d %2d %2d %2d $W32\n",
 #$tag{'NOPROTO'},$tag{'FreeBSD'},$tag{'WIN16'},$tag{'PERL5'},$tag{'NO_FP_API'};
 
 			$t=undef;
@@ -175,14 +180,14 @@
 				{ $t=&do_extern($name,$_); }
 			elsif (	($tag{'NOPROTO'} == 1) &&
 				($tag{'FreeBSD'} != 1) &&
-				(($NT && ($tag{'WIN16'} != 1)) ||
-				 (!$NT && ($tag{'WIN16'} != -1))) &&
+				(($W32 && ($tag{'WIN16'} != 1)) ||
+				 (!$W32 && ($tag{'WIN16'} != -1))) &&
 				($tag{'PERL5'} != 1) &&
 #				($tag{'_WINDLL'} != -1) &&
-				((!$NT && $tag{'_WINDLL'} != -1) ||
-				 ($NT && $tag{'_WINDLL'} != 1)) &&
-				((($tag{'NO_FP_API'} != 1) && $NT) ||
-				 (($tag{'NO_FP_API'} != -1) && !$NT)))
+				((!$W32 && $tag{'_WINDLL'} != -1) ||
+				 ($W32 && $tag{'_WINDLL'} != 1)) &&
+				((($tag{'NO_FP_API'} != 1) && $W32) ||
+				 (($tag{'NO_FP_API'} != -1) && !$W32)))
 				{ $t=&do_line($name,$_); }
 			else
 				{ $t=undef; }
@@ -216,24 +221,31 @@
 		{ return($1); }
 	elsif (/(SSL_get_info_callback)/)
 		{ return($1); }
-	elsif ((!$NT) && /(ERR_load_CRYPTO_strings)/)
+	elsif ((!$W32) && /(ERR_load_CRYPTO_strings)/)
 		{ return("ERR_load_CRYPTOlib_strings"); }
-	elsif (!$NT && /BIO_s_file/)
+	elsif (!$W32 && /BIO_s_file/)
 		{ return(undef); }
-	elsif (!$NT && /BIO_new_file/)
+	elsif (!$W32 && /BIO_new_file/)
 		{ return(undef); }
-	elsif (!$NT && /BIO_new_fp/)
+	elsif (!$W32 && /BIO_new_fp/)
 		{ return(undef); }
-	elsif ($NT && /BIO_s_file_internal/)
+	elsif ($W32 && /BIO_s_file_internal/)
 		{ return(undef); }
-	elsif ($NT && /BIO_new_file_internal/)
+	elsif ($W32 && /BIO_new_file_internal/)
 		{ return(undef); }
-	elsif ($NT && /BIO_new_fp_internal/)
+	elsif ($W32 && /BIO_new_fp_internal/)
+		{ return(undef); }
+        elsif (/SSL_add_cert_dir_to_stack/)
+		{ return(undef); }
+	elsif (!$NT && /BIO_s_log/)
 		{ return(undef); }
 	else
 		{
 		/\s\**(\S+)\s*\(/;
-		return($1);
+		$_ = $1;
+		tr/()*//d;
+#print STDERR "$1 : $_\n";
+		return($_);
 		}
 	}
 
@@ -251,7 +263,7 @@
 	local(*OUT,$name,*nums,@functions)=@_;
 	local($n)=1;
 
-	if ($NT)
+	if ($W32)
 		{ $name.="32"; }
 	else
 		{ $name.="16"; }
@@ -267,7 +279,7 @@
 
 EOF
 
-	if (!$NT)
+	if (!$W32)
 		{
 		print <<"EOF";
 CODE            PRELOAD MOVEABLE
@@ -298,7 +310,7 @@
 		else
 			{
 			$n=$nums{$func};
-			printf OUT "    %s%-40s@%d\n",($NT)?"":"_",$func,$n;
+			printf OUT "    %s%-40s@%d\n",($W32)?"":"_",$func,$n;
 			}
 		}
 	printf OUT "\n";
diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl
index c0d5793..9dca36b 100644
--- a/util/pl/VC-32.pl
+++ b/util/pl/VC-32.pl
@@ -26,6 +26,7 @@
 	$lflags.=" /debug";
 	$mlflags.=' /debug';
 	}
+$cflags .= " -DWINNT" if $NT == 1;
 
 $obj='.obj';
 $ofile="/Fo";
diff --git a/util/ssleay.num b/util/ssleay.num
index c158b95..2396e07 100755
--- a/util/ssleay.num
+++ b/util/ssleay.num
@@ -164,3 +164,6 @@
 SSL_want                                182
 SSL_library_init                        183
 SSL_COMP_add_compression_method         184
+SSL_add_cert_file_to_stack              185
+SSL_set_tmp_rsa_callback                186
+SSL_set_tmp_dh_callback                 187