mirror of
				https://github.com/jtesta/ssh-audit.git
				synced 2025-10-30 21:15:27 +01:00 
			
		
		
		
	Test for non-ASCII banner.
This commit is contained in:
		| @@ -11,6 +11,7 @@ class TestErrors(object): | |||||||
| 	 | 	 | ||||||
| 	def _conf(self): | 	def _conf(self): | ||||||
| 		conf = self.AuditConf('localhost', 22) | 		conf = self.AuditConf('localhost', 22) | ||||||
|  | 		conf.colors = False | ||||||
| 		conf.batch = True | 		conf.batch = True | ||||||
| 		return conf | 		return conf | ||||||
| 	 | 	 | ||||||
| @@ -81,6 +82,18 @@ class TestErrors(object): | |||||||
| 		assert 'error reading packet' in lines[-1] | 		assert 'error reading packet' in lines[-1] | ||||||
| 		assert 'xxx' in lines[-1] | 		assert 'xxx' in lines[-1] | ||||||
| 	 | 	 | ||||||
|  | 	def test_non_ascii_banner(self, output_spy, virtual_socket): | ||||||
|  | 		vsocket = virtual_socket | ||||||
|  | 		vsocket.rdata.append(b'SSH-2.0-ssh-audit-test\xc3\xbc\r\n') | ||||||
|  | 		output_spy.begin() | ||||||
|  | 		with pytest.raises(SystemExit): | ||||||
|  | 			self.audit(self._conf()) | ||||||
|  | 		lines = output_spy.flush() | ||||||
|  | 		assert len(lines) == 3 | ||||||
|  | 		assert 'error reading packet' in lines[-1] | ||||||
|  | 		assert 'ASCII' in lines[-2] | ||||||
|  | 		assert lines[-3].endswith('SSH-2.0-ssh-audit-test?') | ||||||
|  | 	 | ||||||
| 	def test_nonutf8_data_after_banner(self, output_spy, virtual_socket): | 	def test_nonutf8_data_after_banner(self, output_spy, virtual_socket): | ||||||
| 		vsocket = virtual_socket | 		vsocket = virtual_socket | ||||||
| 		vsocket.rdata.append(b'SSH-2.0-ssh-audit-test\r\n') | 		vsocket.rdata.append(b'SSH-2.0-ssh-audit-test\r\n') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Andris Raugulis
					Andris Raugulis