| 
					
				 | 
			
			
				@@ -263,7 +263,8 @@ tor_tls_context_new(crypto_pk_env_t *rsa, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   crypto_dh_free(dh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   SSL_CTX_set_verify(result->ctx, SSL_VERIFY_PEER,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      always_accept_verify_cb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /* let us realloc bufs that we're writing from */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  SSL_CTX_set_mode(result->ctx, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   global_tls_context = result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -358,8 +359,8 @@ tor_tls_write(tor_tls *tls, char *cp, int n) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (err == TOR_TLS_DONE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return r; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (err == TOR_TLS_WANTWRITE) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    log_fn(LOG_INFO,"wantwrite. remembering the number %d.",n); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (err == TOR_TLS_WANTWRITE || err == TOR_TLS_WANTREAD) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    log_fn(LOG_INFO,"wantwrite or wantread. remembering the number %d.",n); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tls->wantwrite_n = n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return err; 
			 |