mirror of https://github.com/openssl/openssl.git
				
				
				
			bugfix: handle HelloRequest received during handshake correctly
This commit is contained in:
		
							parent
							
								
									b49124f6d9
								
							
						
					
					
						commit
						3b0b5abae3
					
				
							
								
								
									
										4
									
								
								CHANGES
								
								
								
								
							
							
						
						
									
										4
									
								
								CHANGES
								
								
								
								
							|  | @ -12,6 +12,10 @@ | ||||||
|          *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 |          *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 | ||||||
|          +) applies to 0.9.7 only |          +) applies to 0.9.7 only | ||||||
| 
 | 
 | ||||||
|  |   *) Avoid infinite loop in ssl3_get_message (ssl/s3_both.c) if a | ||||||
|  |      client receives HelloRequest while in a handshake. | ||||||
|  |      [Bodo Moeller; bug noticed by Andy Schneider <andy.schneider@bjss.co.uk>] | ||||||
|  | 
 | ||||||
|   +) New function SSL_renegotiate_pending().  This returns true once |   +) New function SSL_renegotiate_pending().  This returns true once | ||||||
|      renegotiation has been requested (either SSL_renegotiate() call |      renegotiation has been requested (either SSL_renegotiate() call | ||||||
|      or HelloRequest/ClientHello receveived from the peer) and becomes |      or HelloRequest/ClientHello receveived from the peer) and becomes | ||||||
|  |  | ||||||
|  | @ -387,7 +387,11 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) | ||||||
| 					 * if their format is correct. Does not count for | 					 * if their format is correct. Does not count for | ||||||
| 					 * 'Finished' MAC. */ | 					 * 'Finished' MAC. */ | ||||||
| 					if (p[1] == 0 && p[2] == 0 &&p[3] == 0) | 					if (p[1] == 0 && p[2] == 0 &&p[3] == 0) | ||||||
|  | 						{ | ||||||
|  | 						s->init_num = 0; | ||||||
| 						skip_message = 1; | 						skip_message = 1; | ||||||
|  | 						} | ||||||
|  | 			 | ||||||
| 			} | 			} | ||||||
| 		while (skip_message); | 		while (skip_message); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue