| 
					
				 | 
			
			
				@@ -1046,6 +1046,23 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return - END_CIRC_REASON_TORPROTOCOL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (rh.stream_id == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    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: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      case RELAY_COMMAND_BEGIN_DIR: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, "Relay command %d with zero " 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               "stream_id. Dropping.", (int)rh.command); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /* either conn is NULL, in which case we've got a control cell, or else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * conn points to the recognized stream. */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |