|  | @@ -1437,7 +1437,6 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
 | 
	
		
			
				|  |  |      switch (rh.command) {
 | 
	
		
			
				|  |  |        case RELAY_COMMAND_BEGIN:
 | 
	
		
			
				|  |  |        case RELAY_COMMAND_CONNECTED:
 | 
	
		
			
				|  |  | -      case RELAY_COMMAND_DATA:
 | 
	
		
			
				|  |  |        case RELAY_COMMAND_END:
 | 
	
		
			
				|  |  |        case RELAY_COMMAND_RESOLVE:
 | 
	
		
			
				|  |  |        case RELAY_COMMAND_RESOLVED:
 | 
	
	
		
			
				|  | @@ -1462,6 +1461,9 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
 | 
	
		
			
				|  |  |         * EXIT_CONN_STATE_CONNECTING or EXIT_CONN_STATE_RESOLVING.
 | 
	
		
			
				|  |  |         * This speeds up HTTP, for example. */
 | 
	
		
			
				|  |  |        optimistic_data = 1;
 | 
	
		
			
				|  |  | +    } else if (rh.stream_id == 0 && rh.command == RELAY_COMMAND_DATA) {
 | 
	
		
			
				|  |  | +      log_warn(LD_BUG, "Somehow I had a connection that matched a "
 | 
	
		
			
				|  |  | +               "data cell with stream ID 0.");
 | 
	
		
			
				|  |  |      } else {
 | 
	
		
			
				|  |  |        return connection_edge_process_relay_cell_not_open(
 | 
	
		
			
				|  |  |                 &rh, cell, circ, conn, layer_hint);
 | 
	
	
		
			
				|  | @@ -1522,7 +1524,11 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        circuit_consider_sending_sendme(circ, layer_hint);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -      if (!conn) {
 | 
	
		
			
				|  |  | +      if (rh.stream_id == 0) {
 | 
	
		
			
				|  |  | +        log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, "Relay data cell with zero "
 | 
	
		
			
				|  |  | +               "stream_id. Dropping.");
 | 
	
		
			
				|  |  | +        return 0;
 | 
	
		
			
				|  |  | +      } else if (!conn) {
 | 
	
		
			
				|  |  |          log_info(domain,"data cell dropped, unknown stream (streamid %d).",
 | 
	
		
			
				|  |  |                   rh.stream_id);
 | 
	
		
			
				|  |  |          return 0;
 |