Esempio n. 1
0
 def testTwoPrivatePrimaryPublic(self):
     data = [
         {
             'prio': '10',
             'host': 'test.com',
             'ip': '200.200.23.31',
             'connection_type': 'INET'
         },
         {
             'prio': '20',
             'host': 'test.com',
             'ip': '192.168.23.31',
             'connection_type': 'INET'
         },
         {
             'prio': '30',
             'host': 'test.com',
             'ip': '192.168.24.31',
             'connection_type': 'INET'
         },
     ]
     self.p.setInput('MXRecord', {'mx_record': data})
     r = runTestPlugin(self.p, self.domain)
     status = r.getFinalStatus()
     self.assertEqual(status, Plugin.STATUS_WARNING)
Esempio n. 2
0
    def test2Duplicate(self):
        data = [
            {
                'prio': '10',
                'host': 'test.com',
                'ip': '192.168.1.2',
                'connection_type': 'INET'
            },
            {
                'prio': '20',
                'host': 'test2.com',
                'ip': '192.168.1.3',
                'connection_type': 'INET'
            },
            {
                'prio': '10',
                'host': 'test3.com',
                'ip': '192.168.1.2',
                'connection_type': 'INET'
            },
        ]
        self.p.setInput('MXRecord', {'mx_record': data})
        r = runTestPlugin(self.p, self.domain)
        status = r.getFinalStatus()

        self.assertEqual(status, Plugin.STATUS_WARNING)
Esempio n. 3
0
    def testMixedIP(self):
        data = [
            {
                'prio': '10',
                'host': 'test.com',
                'ip': '2001:0db8:85a3:08d3:1319:8a2e:0370:7348',
                'connection_type': 'INET6'
            },
            {
                'prio': '20',
                'host': 'test.com',
                'ip': '200.200.23.31',
                'connection_type': 'INET'
            },
            {
                'prio': '30',
                'host': 'test.com',
                'ip': '10.10.23.31',
                'connection_type': 'INET'
            },
        ]
        self.p.setInput('MXRecord', {'mx_record': data})
        r = runTestPlugin(self.p, self.domain)
        status = r.getFinalStatus()

        self.assertEqual(status, Plugin.STATUS_WARNING)
Esempio n. 4
0
    def test(self):
        data = [{"prio": "10", "host": "njord.sunet.se", "ip": "192.36.125.194", "connection_type": "INET"}]
        self.p.setInput("MXRecord", {"mx_record": data})
        r = runTestPlugin(self.p, self.domain)
        status = r.getFinalStatus()

        self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 5
0
	def test(self):
		data = {'mx_record': [{'connection_type': 'INET', 'ip': '109.228.153.253', 'host': 'maple.lonn.org', 'prio': '10'}]}
		self.p.setInput('MXRecord', data)
		r = runTestPlugin(self.p, self.domain)

		status = r.getFinalStatus()
		self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 6
0
	def testCNAME(self):
		data = [
			{'prio': '10', 'host': 'njord.sunet.se', 'ip': '192.36.125.194', 'connection_type': 'INET'},
			]
		self.p.setInput('MXRecord', {'mx_record': data})
		r = runTestPlugin(self.p, self.domain)
		status = r.getFinalStatus()
		self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 7
0
 def testOpenRelay(self):
     data = [["10", "lonn.org", "213.136.43.225", "INET"]]
     self.p.setInput("MXRecord", data)
     self.p.setInput("email", "*****@*****.**")
     r = runTestPlugin(self.p, self.domain)
     status = r.getFinalStatus()[2]
     print r
     self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 8
0
	def testFailiure(self):
		data = {'mx_record': [{'connection_type': 'INET', 'ip': '109.228.153.253', 'host': 'maple.lonn.org', 'prio': '10'}]}
		self.p.setInput('MXRecord', data)
		self.email = '*****@*****.**'
		r = runTestPlugin(self.p, self.domain, self.email)
		status = r.getFinalStatus()

		self.assertEqual(status, Plugin.STATUS_WARNING)
Esempio n. 9
0
	def testDuplicate(self):
		data = [
			{'prio': '10', 'host': 'test.com', 'ip': '192.168.1.2', 'connection_type': 'INET'},
			{'prio': '20', 'host': 'test2.com', 'ip': '192.168.1.2', 'connection_type': 'INET'},
			]
		self.p.setInput('MXRecord', {'mx_record': data})
		r = runTestPlugin(self.p, self.domain)
		status = r.getFinalStatus()

		self.assertEqual(status, Plugin.STATUS_WARNING)
Esempio n. 10
0
	def testOpenRelay(self):
		data = [
			['10', 'lonn.org', '213.136.43.225', 'INET'],
			]
		self.p.setInput('MXRecord', data)
		self.p.setInput('email', '*****@*****.**')
		r = runTestPlugin(self.p, self.domain)
		status = r.getFinalStatus()[2]
		print r
		self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 11
0
def test():
	from engine.plugins.common import runTestPlugin
	#data = [['10', 'lonn.org', '213.136.43.225', 'INET']]	
	data = [{'prio': '10', 'host': 'lonn.org', 'ip': '192.168.3.2', 'connection_type': 'INET'}]
	email = '*****@*****.**'

	s = SPF()
	s.isChild = 0
	s.setInput('MXRecord', {'mx_record': data})

	s.setInput('email', email)
	r = runTestPlugin(s, 'gatorhole.com')
	print r
Esempio n. 12
0
 def testLowPortConnection(self):
     data = {
         'mx_record': [{
             'connection_type': 'INET',
             'ip': '109.228.153.253',
             'host': 'maple.lonn.org',
             'prio': '10'
         }]
     }
     self.p.setInput('MXRecord', data)
     r = runTestPlugin(self.p, self.domain)
     status = r.getFinalStatus()
     self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 13
0
 def testCNAME(self):
     data = [
         {
             'prio': '10',
             'host': 'njord.sunet.se',
             'ip': '192.36.125.194',
             'connection_type': 'INET'
         },
     ]
     self.p.setInput('MXRecord', {'mx_record': data})
     r = runTestPlugin(self.p, self.domain)
     status = r.getFinalStatus()
     self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 14
0
    def testPrivateIPV6(self):
        data = [
            {
                'prio': '10',
                'host': 'test.com',
                'ip': 'fc00:0db8:85a3:08d3:1319:8a2e:0370:7348',
                'connection_type': 'INET6'
            },
        ]
        self.p.setInput('MXRecord', {'mx_record': data})
        r = runTestPlugin(self.p, self.domain)
        status = r.getFinalStatus()

        self.assertEqual(status, Plugin.STATUS_ERROR)
Esempio n. 15
0
    def testOnePrivate(self):
        data = [
            {
                'prio': '10',
                'host': 'test.com',
                'ip': '192.168.23.31',
                'connection_type': 'INET'
            },
        ]
        self.p.setInput('MXRecord', {'mx_record': data})
        r = runTestPlugin(self.p, self.domain)
        status = r.getFinalStatus()

        self.assertEqual(status, Plugin.STATUS_ERROR)
Esempio n. 16
0
    def testFailiure(self):
        data = {
            'mx_record': [{
                'connection_type': 'INET',
                'ip': '109.228.153.253',
                'host': 'maple.lonn.org',
                'prio': '10'
            }]
        }
        self.p.setInput('MXRecord', data)
        self.email = '*****@*****.**'
        r = runTestPlugin(self.p, self.domain, self.email)
        status = r.getFinalStatus()

        self.assertEqual(status, Plugin.STATUS_WARNING)
Esempio n. 17
0
def test():
    from engine.plugins.common import runTestPlugin
    #data = [['10', 'lonn.org', '213.136.43.225', 'INET']]
    data = [{
        'prio': '10',
        'host': 'lonn.org',
        'ip': '192.168.3.2',
        'connection_type': 'INET'
    }]
    email = '*****@*****.**'

    s = SPF()
    s.isChild = 0
    s.setInput('MXRecord', {'mx_record': data})

    s.setInput('email', email)
    r = runTestPlugin(s, 'gatorhole.com')
    print r
Esempio n. 18
0
            message = 'Only IPv6 addresses found, this might cause delivery problems'
            code = Plugin.STATUS_WARNING
            self.result.warning(message)
        elif len(records) == 1 and self.isChild == 0:
            message = 'Only one record found, two or more is recommended'
            code = Plugin.STATUS_OK
            self.result.info(message)
        else:
            message = 'Multiple MX-records found'
            code = Plugin.STATUS_OK
            self.result.info(message)

        self.result.extra('more info mx record', type='adv')

        self.result.info('Finished MX record lookup against %s', (domain))

        # Output
        if len(records) == 0:
            self.result.setOutput(None)
        else:
            self.result.setOutput({'mx_record': records}, persist=True)

        self.result.setTestStatus(code)


if __name__ == '__main__':
    from engine.plugins.common import runTestPlugin

    plugin = MXRecord()
    db, result = runTestPlugin(plugin, 'gatorhole.com')
Esempio n. 19
0
 def test(self):
     r = runTestPlugin(self.p, self.domain)
     status = r.getFinalStatus()
     self.assertEqual(status, Plugin.STATUS_OK)
Esempio n. 20
0
			message = 'Only IPv6 addresses found, this might cause delivery problems'
			code = Plugin.STATUS_WARNING
			self.result.warning(message)
		elif len(records) == 1 and self.isChild == 0:
			message = 'Only one record found, two or more is recommended'
			code = Plugin.STATUS_OK
			self.result.info(message)
		else:
			message = 'Multiple MX-records found'
			code = Plugin.STATUS_OK
			self.result.info(message)

		self.result.extra('more info mx record', type='adv')

		self.result.info('Finished MX record lookup against %s', (domain))

		# Output
		if len(records) == 0:
			self.result.setOutput(None)
		else:
			self.result.setOutput({'mx_record': records}, persist=True)

		self.result.setTestStatus(code)


if __name__ == '__main__':
	from engine.plugins.common import runTestPlugin

	plugin = MXRecord()
	db, result = runTestPlugin(plugin, 'gatorhole.com')
Esempio n. 21
0
	def test(self):
		r = runTestPlugin(self.p, self.domain)
		status = r.getFinalStatus()
		self.assertEqual(status, Plugin.STATUS_OK)