1
2
3 __docformat__ = 'restructuredtext'
4 __version__ = '$Id$'
5
6 import __builtin__
7 from routerdefense.common import *
8
9 from xml import *
10
12 """Multicast configuration assessment."""
13
14 if ( (search_re_string(lines, '^ip pim rp-address .*$') is not None) and (search_re_string(lines, '^ip msdp peer .*$') is not None) ):
15
16 try:
17 multicast.msdp['safilterin'] = search_re_string(lines, '^ip msdp sa-filter in .*$')
18 except AttributeError:
19 pass
20 try:
21 multicast.msdp['safilterout'] = search_re_string(lines, '^ip msdp sa-filter out .*$')
22 except AttributeError:
23 pass
24 try:
25 multicast.msdp['redistributelist'] = search_re_string(lines, '^ip msdp redistribute list .*$')
26 except AttributeError:
27 pass
28
29 if ( (multicast.msdp['safilterin'] is None) or (multicast.msdp['safilterout'] is None) or (multicast.msdp['redistributelist'] is None) ):
30 multicast.msdp['must_report'] = True
31
32 if multicast.msdp['must_report'] == True:
33 items = search_xml('mcastmsdp')
34 cvssMetrics = str(cvss_score(items[5]))
35 multicast.msdp = {
36 "must_report": True,
37 "fixImpact": (items[0]),
38 "definition": (items[1]),
39 "threatInfo": (items[2]),
40 "howtofix": (items[3]),
41 "cvss": (cvssMetrics)}
42 toBeReturned = multicast.msdp['definition'] + '\n' + multicast.msdp['threatInfo'] + '\n\n' + multicast.msdp['howtofix'] + '\n'
43
44 else:
45 toBeReturned = 'Multicast MSDP is not configured.'
46 return toBeReturned
47