* updated big brother to allow multicast and LAN
This commit is contained in:
		
							parent
							
								
									2732b2feea
								
							
						
					
					
						commit
						92c4109572
					
				
					 2 changed files with 9 additions and 3 deletions
				
			
		| 
						 | 
					@ -33,14 +33,14 @@ def detect_socket_leaks(socket_event):
 | 
				
			||||||
    # validate is valid ip address (no hostname, etc)
 | 
					    # validate is valid ip address (no hostname, etc)
 | 
				
			||||||
    # raises NetworkLeak if not
 | 
					    # raises NetworkLeak if not
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        ipaddress.ip_address(ip_address)
 | 
					        ip_address = ipaddress.ip_address(ip_address)
 | 
				
			||||||
    except ValueError:
 | 
					    except ValueError:
 | 
				
			||||||
        logger.warn(f'Conn made to {ip_address} outside of Tor/similar')
 | 
					        logger.warn(f'Conn made to {ip_address} outside of Tor/similar')
 | 
				
			||||||
        raise \
 | 
					        raise \
 | 
				
			||||||
            NetworkLeak('Conn to host/non local IP, this is a privacy issue!')
 | 
					            NetworkLeak('Conn to host/non local IP, this is a privacy issue!')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Validate that the IP is localhost ipv4
 | 
					    # Validate that the IP is localhost ipv4
 | 
				
			||||||
 | 
					    if not ip_address.is_loopback and not ip_address.is_multicast \
 | 
				
			||||||
    if not ip_address.startswith('127'):
 | 
					            and not ip_address.is_private:
 | 
				
			||||||
        logger.warn(f'Conn made to {ip_address} outside of Tor/similar')
 | 
					        logger.warn(f'Conn made to {ip_address} outside of Tor/similar')
 | 
				
			||||||
        raise NetworkLeak('Conn to non local IP, this is a privacy concern!')
 | 
					        raise NetworkLeak('Conn to non local IP, this is a privacy concern!')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,12 @@ class TestBigBrother(unittest.TestCase):
 | 
				
			||||||
        bigbrother.enable_ministries()
 | 
					        bigbrother.enable_ministries()
 | 
				
			||||||
        with self.assertRaises(onionrexceptions.NetworkLeak):
 | 
					        with self.assertRaises(onionrexceptions.NetworkLeak):
 | 
				
			||||||
            requests.get('https://example.com')
 | 
					            requests.get('https://example.com')
 | 
				
			||||||
 | 
					        with self.assertRaises(onionrexceptions.NetworkLeak):
 | 
				
			||||||
 | 
					            requests.get('https://1.1.1.1/')
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            requests.get('http://192.168.1.1/')
 | 
				
			||||||
 | 
					        except requests.exceptions.ConnectionError:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unittest.main()
 | 
					unittest.main()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue