Move NativeCrypto dependencies on openssl internals to jsse.patch

Change-Id: I3cb6fb47f8294e5bc912e7ed073433925e9b120b
diff --git a/ssl/ssl.h b/ssl/ssl.h
index a620f6f..372dc57 100644
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -1493,6 +1493,7 @@
 int	SSL_CIPHER_get_bits(const SSL_CIPHER *c,int *alg_bits);
 char *	SSL_CIPHER_get_version(const SSL_CIPHER *c);
 const char *	SSL_CIPHER_get_name(const SSL_CIPHER *c);
+const char *	SSL_CIPHER_authentication_method(const SSL_CIPHER *c);
 
 int	SSL_get_fd(const SSL *s);
 int	SSL_get_rfd(const SSL *s);
@@ -1501,6 +1502,7 @@
 char *	SSL_get_shared_ciphers(const SSL *s, char *buf, int len);
 int	SSL_get_read_ahead(const SSL * s);
 int	SSL_pending(const SSL *s);
+const char *	SSL_authentication_method(const SSL *c);
 #ifndef OPENSSL_NO_SOCK
 int	SSL_set_fd(SSL *s, int fd);
 int	SSL_set_rfd(SSL *s, int fd);
@@ -1565,6 +1567,7 @@
 SSL_SESSION *SSL_SESSION_new(void);
 const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s,
 					unsigned int *len);
+const char *	SSL_SESSION_get_version(const SSL_SESSION *s);
 #ifndef OPENSSL_NO_FP_API
 int	SSL_SESSION_print_fp(FILE *fp,const SSL_SESSION *ses);
 #endif
diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
index bee3507..8730f74 100644
--- a/ssl/ssl_ciph.c
+++ b/ssl/ssl_ciph.c
@@ -1654,6 +1654,32 @@
 	return(ret);
 	}
 
+/* return string version of algorithm_auth */
+const char* SSL_CIPHER_authentication_method(const SSL_CIPHER* cipher)
+	{
+	switch (cipher->algorithm_auth)
+		{
+	case SSL_aRSA:
+		return SSL_TXT_RSA;
+	case SSL_aDSS:
+		return SSL_TXT_DSS;
+        case SSL_aDH:
+		return SSL_TXT_DH;
+        case SSL_aKRB5:
+		return SSL_TXT_KRB5;
+        case SSL_aECDH:
+		return SSL_TXT_ECDH;
+        case SSL_aNULL:
+		return SSL_TXT_NULL;
+        case SSL_aECDSA:
+		return SSL_TXT_ECDSA;
+        case SSL_aPSK:
+		return SSL_TXT_PSK;
+        default:
+		return "UNKNOWN";
+		}
+	}
+
 SSL_COMP *ssl3_comp_find(STACK_OF(SSL_COMP) *sk, int n)
 	{
 	SSL_COMP *ctmp;
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index e120dad..f86a96f 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -2459,18 +2459,43 @@
 	return(NULL);
 	}
 
-const char *SSL_get_version(const SSL *s)
+const char *ssl_get_version(int version)
 	{
-	if (s->version == TLS1_VERSION)
+	if (version == TLS1_VERSION)
 		return("TLSv1");
-	else if (s->version == SSL3_VERSION)
+	else if (version == SSL3_VERSION)
 		return("SSLv3");
-	else if (s->version == SSL2_VERSION)
+	else if (version == SSL2_VERSION)
 		return("SSLv2");
 	else
 		return("unknown");
 	}
 
+const char *SSL_get_version(const SSL *s)
+	{
+		return ssl_get_version(s->version);
+	}
+
+const char *SSL_SESSION_get_version(const SSL_SESSION *s)
+	{
+		return ssl_get_version(s->ssl_version);
+	}
+
+const char* SSL_authentication_method(const SSL* ssl)
+	{
+	switch (ssl->version)
+		{
+	case SSL2_VERSION:
+		return SSL_TXT_RSA;
+	case SSL3_VERSION:
+	case TLS1_VERSION:
+	case DTLS1_VERSION:
+		return SSL_CIPHER_authentication_method(ssl->s3->tmp.new_cipher);
+	default:
+		return "UNKNOWN";
+		}
+	}
+
 SSL *SSL_dup(SSL *s)
 	{
 	STACK_OF(X509_NAME) *sk;