Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						6b65141718 
					 
					
						
						
							
							Implement ssl_read() timeout (DTLS only for now)  
						
						
						
						
					 
					
						2014-10-21 16:32:46 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						2707430a4d 
					 
					
						
						
							
							Fix types and comments about read_timeout  
						
						
						
						
					 
					
						2014-10-21 16:32:45 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						6c1fa3a184 
					 
					
						
						
							
							Fix misplaced initialisation of timeout  
						
						
						
						
					 
					
						2014-10-21 16:32:45 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						c8d8e97cbd 
					 
					
						
						
							
							Move to milliseconds in recv_timeout()  
						
						
						
						
					 
					
						2014-10-21 16:32:44 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						905dd2425c 
					 
					
						
						
							
							Add ssl_set_handshake_timeout()  
						
						
						
						
					 
					
						2014-10-21 16:32:43 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						0ac247fd88 
					 
					
						
						
							
							Implement timeout back-off (fixed range for now)  
						
						
						
						
					 
					
						2014-10-21 16:32:43 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						7de3c9eecb 
					 
					
						
						
							
							Count timeout per flight, not per message  
						
						
						
						
					 
					
						2014-10-21 16:32:41 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						db2858ce96 
					 
					
						
						
							
							Preparation for timers  
						
						... 
						
						
						
						Currently directly using timing.c, plan to use callbacks later to loosen
coupling, but first just get things working. 
						
						
					 
					
						2014-10-21 16:32:41 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						08a1d4bce1 
					 
					
						
						
							
							Fix bug with client auth with DTLS  
						
						
						
						
					 
					
						2014-10-21 16:32:39 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						23b7b703aa 
					 
					
						
						
							
							Fix issue with renego & resend  
						
						
						
						
					 
					
						2014-10-21 16:32:38 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						2739313cea 
					 
					
						
						
							
							Make anti-replay a runtime option  
						
						
						
						
					 
					
						2014-10-21 16:32:35 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						8464a46b6b 
					 
					
						
						
							
							Make DTLS_ANTI_REPLAY depends on PROTO_DTLS  
						
						
						
						
					 
					
						2014-10-21 16:32:35 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						246c13a05f 
					 
					
						
						
							
							Fix epoch checking  
						
						
						
						
					 
					
						2014-10-21 16:32:34 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						b47368a00a 
					 
					
						
						
							
							Add replay detection  
						
						
						
						
					 
					
						2014-10-21 16:32:34 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						4956fd7437 
					 
					
						
						
							
							Test and fix anti-replay functions  
						
						
						
						
					 
					
						2014-10-21 16:32:34 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						7a7e140d4e 
					 
					
						
						
							
							Add functions for replay protection  
						
						
						
						
					 
					
						2014-10-21 16:32:33 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						ea22ce577e 
					 
					
						
						
							
							Rm unneeded counter increment with DTLS  
						
						
						
						
					 
					
						2014-10-21 16:32:33 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						abf16240dd 
					 
					
						
						
							
							Add ability to resend last flight  
						
						
						
						
					 
					
						2014-10-21 16:32:31 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						767c69561b 
					 
					
						
						
							
							Drop out-of-sequence ChangeCipherSpec messages  
						
						
						
						
					 
					
						2014-10-21 16:32:29 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						93017de47e 
					 
					
						
						
							
							Minor optim: don't resend on duplicated HVR  
						
						
						
						
					 
					
						2014-10-21 16:32:29 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						c715aed744 
					 
					
						
						
							
							Fix epoch swapping  
						
						
						
						
					 
					
						2014-10-21 16:32:28 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						6a2bdfaf73 
					 
					
						
						
							
							Actually resend flights  
						
						
						
						
					 
					
						2014-10-21 16:32:28 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						5d8ba53ace 
					 
					
						
						
							
							Expand and fix resend infrastructure  
						
						
						
						
					 
					
						2014-10-21 16:32:28 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						ffa67be698 
					 
					
						
						
							
							Infrastructure for buffering & resending flights  
						
						
						
						
					 
					
						2014-10-21 16:32:27 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						8fa6dfd560 
					 
					
						
						
							
							Introduce f_recv_timeout callback  
						
						
						
						
					 
					
						2014-10-21 16:32:26 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						e6bdc4497c 
					 
					
						
						
							
							Merge I/O contexts into one  
						
						
						
						
					 
					
						2014-10-21 16:32:25 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						ca6440b246 
					 
					
						
						
							
							Small cleanups in parse_finished()  
						
						
						
						
					 
					
						2014-10-21 16:30:31 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						624bcb5260 
					 
					
						
						
							
							No memmove: done, rm temporary things  
						
						
						
						
					 
					
						2014-10-21 16:30:31 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						f49a7daa1a 
					 
					
						
						
							
							No memmove: ssl_parse_certificate()  
						
						
						
						
					 
					
						2014-10-21 16:30:29 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						4abc32734e 
					 
					
						
						
							
							No memmove: ssl_parse_finished()  
						
						
						
						
					 
					
						2014-10-21 16:30:29 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						f899583f94 
					 
					
						
						
							
							Prepare moving away from memmove() on incoming HS  
						
						
						
						
					 
					
						2014-10-21 16:30:29 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						4a1753657c 
					 
					
						
						
							
							Fix missing return in error check  
						
						
						
						
					 
					
						2014-10-21 16:30:28 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						63eca930d7 
					 
					
						
						
							
							Drop invalid records with DTLS  
						
						
						
						
					 
					
						2014-10-21 16:30:28 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						167a37632d 
					 
					
						
						
							
							Split two functions out of ssl_read_record()  
						
						
						
						
					 
					
						2014-10-21 16:30:27 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						990f9e428a 
					 
					
						
						
							
							Handle late handshake messages gracefully  
						
						
						
						
					 
					
						2014-10-21 16:30:26 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						60ca5afaec 
					 
					
						
						
							
							Drop records from wrong epoch  
						
						
						
						
					 
					
						2014-10-21 16:30:25 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						1aa586e41d 
					 
					
						
						
							
							Check handshake message_seq field  
						
						
						
						
					 
					
						2014-10-21 16:30:24 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						9d1d7196e4 
					 
					
						
						
							
							Check length before reading handshake header  
						
						
						
						
					 
					
						2014-10-21 16:30:24 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						d9ba0d96b6 
					 
					
						
						
							
							Prepare for checking incoming handshake seqnum  
						
						
						
						
					 
					
						2014-10-21 16:30:23 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						ac03052f22 
					 
					
						
						
							
							Fix segfault with some very short fragments  
						
						
						
						
					 
					
						2014-10-21 16:30:23 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						64dffc5d14 
					 
					
						
						
							
							Make handshake reassembly work with openssl  
						
						
						
						
					 
					
						2014-10-21 16:30:22 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						502bf30fb5 
					 
					
						
						
							
							Handle reassembly of handshake messages  
						
						... 
						
						
						
						Works only with GnuTLS for now, OpenSSL packs other records in the same
datagram after the last fragmented one, which we don't handle yet.
Also, ssl-opt.sh fails the tests with valgrind for now: we're so slow with
valgrind that gnutls-serv retransmits some messages, and we don't handle
duplicated messages yet. 
						
						
					 
					
						2014-10-21 16:30:22 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						ed79a4bb14 
					 
					
						
						
							
							Prepare for DTLS handshake reassembly  
						
						
						
						
					 
					
						2014-10-21 16:30:21 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						edcbe549fd 
					 
					
						
						
							
							Reorder checks in ssl_read_record  
						
						
						
						
					 
					
						2014-10-21 16:30:21 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						0557bd5fa4 
					 
					
						
						
							
							Fix message_seq with server-initiated renego  
						
						
						
						
					 
					
						2014-10-21 16:30:21 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						c392b240c4 
					 
					
						
						
							
							Fix server-initiated renegotiation with DTLS  
						
						
						
						
					 
					
						2014-10-21 16:30:21 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						30d16eb429 
					 
					
						
						
							
							Fix client-initiated renegotiation with DTLS  
						
						
						
						
					 
					
						2014-10-21 16:30:20 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						7d38d215b1 
					 
					
						
						
							
							Allow disabling HelloVerifyRequest  
						
						
						
						
					 
					
						2014-10-21 16:30:18 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						d485d194f9 
					 
					
						
						
							
							Move to a callback interface for DTLS cookies  
						
						
						
						
					 
					
						2014-10-21 16:30:17 +02:00 
						 
				 
			
				
					
						
							
							
								Manuel Pégourié-Gonnard 
							
						 
					 
					
						
						
							
						
						82202f0a9c 
					 
					
						
						
							
							Make DTLS_HELLO_VERIFY a compile option  
						
						
						
						
					 
					
						2014-10-21 16:30:16 +02:00