Fix various stuff: that VC++ 5.0 chokes on:
1. Add *lots* of missing prototypes for static ssl functions.
2. VC++ doesn't understand the 'LL' suffix for 64 bits constants: change bn.org
3. Add a few missing prototypes in pem.org
Fix mk1mf.pl so it outputs a Makefile that doesn't choke Win95.
Fix mkdef.pl so it doesn't truncate longer names.
diff --git a/ssl/s23_clnt.c b/ssl/s23_clnt.c
index 597cc87..b607f62 100644
--- a/ssl/s23_clnt.c
+++ b/ssl/s23_clnt.c
@@ -66,9 +66,11 @@
 #define BREAK break
 
 #ifndef NOPROTO
+static SSL_METHOD *ssl23_get_client_method(int ver);
 static int ssl23_client_hello(SSL *s);
 static int ssl23_get_server_hello(SSL *s);
 #else
+static SSL_METHOD *ssl23_get_client_method();
 static int ssl23_client_hello();
 static int ssl23_get_server_hello();
 #endif
diff --git a/ssl/s23_lib.c b/ssl/s23_lib.c
index 9222bf8..24b884f 100644
--- a/ssl/s23_lib.c
+++ b/ssl/s23_lib.c
@@ -88,7 +88,7 @@
 	ssl_undefined_function,
 	ssl_undefined_function,
 	ssl23_read,
-	(int (*)())ssl_undefined_function,
+        (int (*)(struct ssl_st *, char *, int))ssl_undefined_function,
 	ssl23_write,
 	ssl_undefined_function,
 	ssl_undefined_function,
diff --git a/ssl/s23_meth.c b/ssl/s23_meth.c
index 1eed7a5..bbda4ff 100644
--- a/ssl/s23_meth.c
+++ b/ssl/s23_meth.c
@@ -60,6 +60,12 @@
 #include "objects.h"
 #include "ssl_locl.h"
 
+#ifndef NOPROTO
+static SSL_METHOD *ssl23_get_method(int ver);
+#else
+static SSL_METHOD *ssl23_get_method();
+#endif
+
 static SSL_METHOD *ssl23_get_method(ver)
 int ver;
 	{
diff --git a/ssl/s23_srvr.c b/ssl/s23_srvr.c
index 888ffac..5dd9253 100644
--- a/ssl/s23_srvr.c
+++ b/ssl/s23_srvr.c
@@ -66,8 +66,10 @@
 #define BREAK break
 
 #ifndef NOPROTO
+static SSL_METHOD *ssl23_get_server_method(int ver);
 int ssl23_get_client_hello(SSL *s);
 #else
+static SSL_METHOD *ssl23_get_server_method();
 int ssl23_get_client_hello();
 #endif
 
diff --git a/ssl/s2_clnt.c b/ssl/s2_clnt.c
index 2170e29..91fea92 100644
--- a/ssl/s2_clnt.c
+++ b/ssl/s2_clnt.c
@@ -64,6 +64,7 @@
 #include "evp.h"
 
 #ifndef NOPROTO
+static SSL_METHOD *ssl2_get_client_method(int ver);
 static int get_server_finished(SSL *s);
 static int get_server_verify(SSL *s);
 static int get_server_hello(SSL *s);
@@ -74,6 +75,7 @@
 static int ssl_rsa_public_encrypt(CERT *c, int len, unsigned char *from,
 	unsigned char *to,int padding);
 #else
+static SSL_METHOD *ssl2_get_client_method();
 static int get_server_finished();
 static int get_server_verify();
 static int get_server_hello();
diff --git a/ssl/s2_meth.c b/ssl/s2_meth.c
index cfc8828..f28c916 100644
--- a/ssl/s2_meth.c
+++ b/ssl/s2_meth.c
@@ -60,6 +60,12 @@
 #include "objects.h"
 #include "ssl_locl.h"
 
+#ifndef NOPROTO
+static SSL_METHOD *ssl2_get_method(int ver);
+#else
+static SSL_METHOD *ssl2_get_method();
+#endif
+
 static SSL_METHOD *ssl2_get_method(ver)
 int ver;
 	{
diff --git a/ssl/s2_srvr.c b/ssl/s2_srvr.c
index 5ad8b12..3477d43 100644
--- a/ssl/s2_srvr.c
+++ b/ssl/s2_srvr.c
@@ -64,6 +64,7 @@
 #include "evp.h"
 
 #ifndef NOPROTO
+static SSL_METHOD *ssl2_get_server_method(int ver);
 static int get_client_master_key(SSL *s);
 static int get_client_hello(SSL *s);
 static int server_hello(SSL *s); 
@@ -74,6 +75,7 @@
 static int ssl_rsa_private_decrypt(CERT *c, int len, unsigned char *from,
 	unsigned char *to,int padding);
 #else
+static SSL_METHOD *ssl2_get_server_method();
 static int get_client_master_key();
 static int get_client_hello();
 static int server_hello(); 
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index d4ff1d9..88f33d5 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -74,6 +74,7 @@
  */
 
 #ifndef NOPROTO
+static SSL_METHOD *ssl3_get_client_method(int ver);
 static int ssl3_client_hello(SSL *s);
 static int ssl3_get_server_hello(SSL *s);
 static int ssl3_get_certificate_request(SSL *s);
@@ -86,6 +87,7 @@
 static int ssl3_get_server_certificate(SSL *s);
 static int ssl3_check_cert_and_algorithm(SSL *s);
 #else
+static SSL_METHOD *ssl3_get_client_method();
 static int ssl3_client_hello();
 static int ssl3_get_server_hello();
 static int ssl3_get_certificate_request();
diff --git a/ssl/s3_meth.c b/ssl/s3_meth.c
index 3d66b46..387b352 100644
--- a/ssl/s3_meth.c
+++ b/ssl/s3_meth.c
@@ -60,6 +60,12 @@
 #include "objects.h"
 #include "ssl_locl.h"
 
+#ifndef NOPROTO
+static SSL_METHOD *ssl3_get_method(int ver);
+#else
+static SSL_METHOD *ssl3_get_method();
+#endif
+
 static SSL_METHOD *ssl3_get_method(ver)
 int ver;
 	{
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index 09041b2..9bb4560 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -75,6 +75,7 @@
  */
 
 #ifndef NOPROTO
+static SSL_METHOD *ssl3_get_server_method(int ver);
 static int ssl3_get_client_hello(SSL *s);
 static int ssl3_send_server_hello(SSL *s);
 static int ssl3_send_server_key_exchange(SSL *s);
@@ -87,6 +88,7 @@
 
 #else
 
+static SSL_METHOD *ssl3_get_server_method();
 static int ssl3_get_client_hello();
 static int ssl3_send_server_hello();
 static int ssl3_send_server_key_exchange();
diff --git a/ssl/ssl.h b/ssl/ssl.h
index ed41d33..92b7695 100644
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -844,7 +844,7 @@
 
 int SSL_CTX_get_verify_mode(SSL_CTX *ctx);
 int (*SSL_CTX_get_verify_callback(SSL_CTX *ctx))();
-void SSL_CTX_set_verify(SSL_CTX *ctx,int mode,int (*callback)());
+void SSL_CTX_set_verify(SSL_CTX *ctx,int mode,int (*callback)(int, X509_STORE_CTX *));
 void SSL_CTX_set_cert_verify_cb(SSL_CTX *ctx, int (*cb)(),char *arg);
 int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);
 int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, unsigned char *d, long len);
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index 2bc0e3f..c9a2285 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -1043,7 +1043,11 @@
 void SSL_CTX_set_verify(ctx,mode,cb)
 SSL_CTX *ctx;
 int mode;
+#ifndef NOPROTO
+int (*cb)(int, X509_STORE_CTX *);
+#else
 int (*cb)();
+#endif
 	{
 	ctx->default_verify_mode=mode;
 	ctx->default_verify_callback=cb;
diff --git a/ssl/t1_clnt.c b/ssl/t1_clnt.c
index 986d243..1a17922 100644
--- a/ssl/t1_clnt.c
+++ b/ssl/t1_clnt.c
@@ -63,6 +63,12 @@
 #include "evp.h"
 #include "ssl_locl.h"
 
+#ifndef NOPROTO
+static SSL_METHOD *tls1_get_client_method(int ver);
+#else
+static SSL_METHOD *tls1_get_client_method();
+#endif
+
 static SSL_METHOD *tls1_get_client_method(ver)
 int ver;
 	{
diff --git a/ssl/t1_meth.c b/ssl/t1_meth.c
index 512c207..d64b5f4 100644
--- a/ssl/t1_meth.c
+++ b/ssl/t1_meth.c
@@ -60,6 +60,12 @@
 #include "objects.h"
 #include "ssl_locl.h"
 
+#ifndef NOPROTO
+static SSL_METHOD *tls1_get_method(int ver);
+#else
+static SSL_METHOD *tls1_get_method();
+#endif
+
 static SSL_METHOD *tls1_get_method(ver)
 int ver;
 	{
diff --git a/ssl/t1_srvr.c b/ssl/t1_srvr.c
index 8cf0add..8b18572 100644
--- a/ssl/t1_srvr.c
+++ b/ssl/t1_srvr.c
@@ -64,6 +64,12 @@
 #include "x509.h"
 #include "ssl_locl.h"
 
+#ifndef NOPROTO
+static SSL_METHOD *tls1_get_server_method(int ver);
+#else
+static SSL_METHOD *tls1_get_server_method();
+#endif
+
 static SSL_METHOD *tls1_get_server_method(ver)
 int ver;
 	{