Remove some remnants of SSLv2.

Change-Id: Id294821162c4c9ea6f2fce2a0be65bafcb616068
Reviewed-on: https://boringssl-review.googlesource.com/2311
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index af3d55f..d3b8834 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -1185,9 +1185,7 @@
 
 struct ssl_st
 	{
-	/* protocol version
-	 * (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, DTLS1_VERSION)
-	 */
+	/* version is the protocol version. */
 	int version;
 	int type; /* SSL_ST_CONNECT or SSL_ST_ACCEPT */
 
diff --git a/ssl/s23_clnt.c b/ssl/s23_clnt.c
index ccb3e2c..efa3cd2 100644
--- a/ssl/s23_clnt.c
+++ b/ssl/s23_clnt.c
@@ -330,11 +330,6 @@
 			version_major = SSL3_VERSION_MAJOR;
 			version_minor = SSL3_VERSION_MINOR;
 			}
-		else if (version == SSL2_VERSION)
-			{
-			version_major = SSL2_VERSION_MAJOR;
-			version_minor = SSL2_VERSION_MINOR;
-			}
 		else
 			{
 			OPENSSL_PUT_ERROR(SSL, ssl23_client_hello, SSL_R_NO_PROTOCOLS_AVAILABLE);
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index 550080b..eb55a79 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -259,9 +259,7 @@
 
 	sk=ssl_create_cipher_list(
 		ctx->method, &ctx->cipher_list, &ctx->cipher_list_by_id,
-		meth->version == SSL2_VERSION ?
-			"SSLv2" :
-			SSL_DEFAULT_CIPHER_LIST,
+		SSL_DEFAULT_CIPHER_LIST,
 		ctx->cert);
 
 	if ((sk == NULL) || (sk_SSL_CIPHER_num(sk) <= 0))
@@ -481,17 +479,6 @@
 	r.ssl_version = ssl->version;
 	r.session_id_length = id_len;
 	memcpy(r.session_id, id, id_len);
-	/* NB: SSLv2 always uses a fixed 16-byte session ID, so even if a
-	 * callback is calling us to check the uniqueness of a shorter ID, it
-	 * must be compared as a padded-out ID because that is what it will be
-	 * converted to when the callback has finished choosing it. */
-	if((r.ssl_version == SSL2_VERSION) &&
-			(id_len < SSL2_SSL_SESSION_ID_LENGTH))
-		{
-		memset(r.session_id + id_len, 0,
-			SSL2_SSL_SESSION_ID_LENGTH - id_len);
-		r.session_id_length = SSL2_SSL_SESSION_ID_LENGTH;
-		}
 
 	CRYPTO_r_lock(CRYPTO_LOCK_SSL_CTX);
 	p = lh_SSL_SESSION_retrieve(ssl->ctx->sessions, &r);
@@ -1952,7 +1939,7 @@
 
 	ssl_create_cipher_list(ret->method,
 		&ret->cipher_list,&ret->cipher_list_by_id,
-		meth->version == SSL2_VERSION ? "SSLv2" : SSL_DEFAULT_CIPHER_LIST, ret->cert);
+		SSL_DEFAULT_CIPHER_LIST, ret->cert);
 	if (ret->cipher_list == NULL
 	    || sk_SSL_CIPHER_num(ret->cipher_list->ciphers) <= 0)
 		{
@@ -2432,17 +2419,9 @@
 
 	if (i == 0)
 		{
-		if (s->version == SSL2_VERSION)
-			{
-			/* assume it is the socket being closed */
+		if ((s->shutdown & SSL_RECEIVED_SHUTDOWN) &&
+			(s->s3->warn_alert == SSL_AD_CLOSE_NOTIFY))
 			return(SSL_ERROR_ZERO_RETURN);
-			}
-		else
-			{
-			if ((s->shutdown & SSL_RECEIVED_SHUTDOWN) &&
-				(s->s3->warn_alert == SSL_AD_CLOSE_NOTIFY))
-				return(SSL_ERROR_ZERO_RETURN);
-			}
 		}
 	return(SSL_ERROR_SYSCALL);
 	}
@@ -2526,8 +2505,6 @@
 		return("TLSv1");
 	else if (version == SSL3_VERSION)
 		return("SSLv3");
-	else if (version == SSL2_VERSION)
-		return("SSLv2");
 	else
 		return("unknown");
 	}
@@ -3176,8 +3153,6 @@
 		return TLS1_VERSION;
 	if (!(s->options & SSL_OP_NO_SSLv3))
 		return SSL3_VERSION;
-	if (!(s->options & SSL_OP_NO_SSLv2))
-		return SSL2_VERSION;
 	return 0;
 	}
 
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index 6b5f8c2..ee3daa9 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -283,40 +283,15 @@
 
 	if (session)
 		{
-		if (s->version == SSL2_VERSION)
+		if (s->version == SSL3_VERSION ||
+			s->version == TLS1_VERSION ||
+			s->version == TLS1_1_VERSION ||
+			s->version == TLS1_2_VERSION ||
+			s->version == DTLS1_VERSION ||
+			s->version == DTLS1_2_VERSION)
 			{
-			ss->ssl_version=SSL2_VERSION;
-			ss->session_id_length=SSL2_SSL_SESSION_ID_LENGTH;
-			}
-		else if (s->version == SSL3_VERSION)
-			{
-			ss->ssl_version=SSL3_VERSION;
-			ss->session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
-			}
-		else if (s->version == TLS1_VERSION)
-			{
-			ss->ssl_version=TLS1_VERSION;
-			ss->session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
-			}
-		else if (s->version == TLS1_1_VERSION)
-			{
-			ss->ssl_version=TLS1_1_VERSION;
-			ss->session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
-			}
-		else if (s->version == TLS1_2_VERSION)
-			{
-			ss->ssl_version=TLS1_2_VERSION;
-			ss->session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
-			}
-		else if (s->version == DTLS1_VERSION)
-			{
-			ss->ssl_version=DTLS1_VERSION;
-			ss->session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
-			}
-		else if (s->version == DTLS1_2_VERSION)
-			{
-			ss->ssl_version=DTLS1_2_VERSION;
-			ss->session_id_length=SSL3_SSL_SESSION_ID_LENGTH;
+			ss->ssl_version = s->version;
+			ss->session_id_length = SSL3_SSL_SESSION_ID_LENGTH;
 			}
 		else
 			{
@@ -355,11 +330,7 @@
 			SSL_SESSION_free(ss);
 			return(0);
 			}
-		/* If the session length was shrunk and we're SSLv2, pad it */
-		if((tmp < ss->session_id_length) && (s->version == SSL2_VERSION))
-			memset(ss->session_id + tmp, 0, ss->session_id_length - tmp);
-		else
-			ss->session_id_length = tmp;
+		ss->session_id_length = tmp;
 		/* Finally, check for a conflict */
 		if(SSL_has_matching_session_id(s, ss->session_id,
 						ss->session_id_length))
diff --git a/ssl/ssl_txt.c b/ssl/ssl_txt.c
index a341901..b91324e 100644
--- a/ssl/ssl_txt.c
+++ b/ssl/ssl_txt.c
@@ -112,9 +112,7 @@
 
 	if (x == NULL) goto err;
 	if (BIO_puts(bp,"SSL-Session:\n") <= 0) goto err;
-	if (x->ssl_version == SSL2_VERSION)
-		s="SSLv2";
-	else if (x->ssl_version == SSL3_VERSION)
+	if (x->ssl_version == SSL3_VERSION)
 		s="SSLv3";
 	else if (x->ssl_version == TLS1_2_VERSION)
 		s="TLSv1.2";