mirror of
				https://github.com/jtesta/ssh-audit.git
				synced 2025-10-30 21:15:27 +01:00 
			
		
		
		
	Correct IPv6 parsing in command-line. Fixes #26.
This commit is contained in:
		
							
								
								
									
										13
									
								
								ssh-audit.py
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ssh-audit.py
									
									
									
									
									
								
							| @@ -169,14 +169,17 @@ class AuditConf(object): | ||||
| 			usage_cb() | ||||
| 		if oport is not None: | ||||
| 			host = args[0] | ||||
| 			port = utils.parse_int(oport) | ||||
| 		else: | ||||
| 			mx = re.match(r'^\[([^\]]+)\](?::(.*))?$', args[0]) | ||||
| 			if bool(mx): | ||||
| 				host, oport = mx.group(1), mx.group(2) | ||||
| 			else: | ||||
| 				s = args[0].split(':') | ||||
| 			host = s[0].strip() | ||||
| 			if len(s) == 2: | ||||
| 				oport, port = s[1], utils.parse_int(s[1]) | ||||
| 				if len(s) > 2: | ||||
| 					host, oport = args[0], '22' | ||||
| 				else: | ||||
| 				oport, port = '22', 22 | ||||
| 					host, oport = s[0], s[1] if len(s) > 1 else '22' | ||||
| 		port = utils.parse_int(oport) | ||||
| 		if not host: | ||||
| 			usage_cb('host is empty') | ||||
| 		if port <= 0 or port > 65535: | ||||
|   | ||||
| @@ -148,6 +148,14 @@ class TestAuditConf(object): | ||||
| 		self._test_conf(conf, host='localhost', port=2222) | ||||
| 		conf = c('-p 2222 localhost') | ||||
| 		self._test_conf(conf, host='localhost', port=2222) | ||||
| 		conf = c('2001:4860:4860::8888') | ||||
| 		self._test_conf(conf, host='2001:4860:4860::8888') | ||||
| 		conf = c('[2001:4860:4860::8888]:22') | ||||
| 		self._test_conf(conf, host='2001:4860:4860::8888') | ||||
| 		conf = c('[2001:4860:4860::8888]:2222') | ||||
| 		self._test_conf(conf, host='2001:4860:4860::8888', port=2222) | ||||
| 		conf = c('-p 2222 2001:4860:4860::8888') | ||||
| 		self._test_conf(conf, host='2001:4860:4860::8888', port=2222) | ||||
| 		with pytest.raises(SystemExit): | ||||
| 			conf = c('localhost:') | ||||
| 		with pytest.raises(SystemExit): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Andris Raugulis
					Andris Raugulis