Commit 645a865d authored by Bodo Möller's avatar Bodo Möller
Browse files

Fixes so alerts are sent properly in s3_pkt.c

PR: 851

[backport from OpenSSL_0_9_7-stable branch / head]
parent 682e1f64
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -862,7 +862,7 @@ start:
		{
		{
		al=SSL_AD_UNEXPECTED_MESSAGE;
		al=SSL_AD_UNEXPECTED_MESSAGE;
		SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_DATA_BETWEEN_CCS_AND_FINISHED);
		SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_DATA_BETWEEN_CCS_AND_FINISHED);
		goto err;
		goto f_err;
		}
		}


	/* If the other end has shut down, throw anything we read away
	/* If the other end has shut down, throw anything we read away
@@ -969,7 +969,7 @@ start:
			{
			{
			al=SSL_AD_DECODE_ERROR;
			al=SSL_AD_DECODE_ERROR;
			SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_BAD_HELLO_REQUEST);
			SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_BAD_HELLO_REQUEST);
			goto err;
			goto f_err;
			}
			}


		if (SSL_is_init_finished(s) &&
		if (SSL_is_init_finished(s) &&
@@ -1074,17 +1074,17 @@ start:
		if (	(rr->length != 1) || (rr->off != 0) ||
		if (	(rr->length != 1) || (rr->off != 0) ||
			(rr->data[0] != SSL3_MT_CCS))
			(rr->data[0] != SSL3_MT_CCS))
			{
			{
			i=SSL_AD_ILLEGAL_PARAMETER;
			al=SSL_AD_ILLEGAL_PARAMETER;
			SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_BAD_CHANGE_CIPHER_SPEC);
			SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_BAD_CHANGE_CIPHER_SPEC);
			goto err;
			goto f_err;
			}
			}


		/* Check we have a cipher to change to */
		/* Check we have a cipher to change to */
		if (s->s3->tmp.new_cipher == NULL)
		if (s->s3->tmp.new_cipher == NULL)
			{
			{
			i=SSL_AD_UNEXPECTED_MESSAGE;
			al=SSL_AD_UNEXPECTED_MESSAGE;
			SSLerr(SSL_F_SSL3_GET_CERT_VERIFY,SSL_R_CCS_RECEIVED_EARLY);
			SSLerr(SSL_F_SSL3_GET_CERT_VERIFY,SSL_R_CCS_RECEIVED_EARLY);
			goto err;
			goto f_err;
			}
			}


		rr->length=0;
		rr->length=0;