Исправлено некорректное определение доступных сетей в случае нескольких сетевых интерфейсов - переменная профиля os_net_allow

git-svn-id: http://svn.calculate.ru/calculate2/calculate-lib/trunk@1133 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
asamoukin 15 years ago
parent 8b5d848e39
commit ddf5bfeb18

@ -78,39 +78,38 @@ class fillVars(object, cl_base.glob_attr):
# Разрешенные сети (в данном случае все сети)
def get_os_net_allow(self):
"""Разрешенные сети"""
"""Разрешенные сети разделитель запятая"""
net={'255.255.0.0':'/16',
'255.255.255.0':'/24',
'255.255.255.128':'/25',
'255.255.255.252':'/30',
'255.255.255.255':''}
networks=""
networks=[]
netInterfaces=cl_utils.getdirlist("/sys/class/net/")
for i in netInterfaces:
res=self._runos("/sbin/ifconfig %s"%i)
for j in res:
s_ip=re.search('addr:([0-9\.]+).+Bcast:.+Mask:([0-9\.]+)'\
,j)
s_ip=re.search('addr:([0-9\.]+).+Bcast:.+Mask:([0-9\.]+)' ,j)
if s_ip:
ip, netmask=s_ip.groups()
ip=ip.split('.');
ip=ip.split('.')
if ip[0]=='10' or\
(ip[0]=='172' and int(ip[1])>=16 and int(ip[1])<=31)or\
(ip[0]=='192' and ip[1]=='168'):
(ip[0]=='172' and int(ip[1])>=16 and int(ip[1])<=31)or\
(ip[0]=='192' and ip[1]=='168'):
if netmask=='255.255.255.255':
networks+=ip+" "
networks.append(ip)
elif netmask=='255.255.255.252':
networks+=ip[0]+"."+ip[1]+"."+ip[2]+"."+"252"+\
net[netmask]
networks.append(ip[0]+"."+ip[1]+"."+ip[2]+"."+\
"252"+net[netmask])
elif netmask=='255.255.255.128':
networks+=ip[0]+"."+ip[1]+"."+ip[2]+"."+"128"+\
net[netmask]
networks.append(ip[0]+"."+ip[1]+"."+ip[2]+"."+\
"128"+net[netmask])
elif netmask=='255.255.255.0':
networks+=ip[0]+"."+ip[1]+"."+ip[2]+"."+"0"+\
net[netmask]
networks.append(ip[0]+"."+ip[1]+"."+ip[2]+"."+"0"+\
net[netmask])
elif netmask=='255.255.0.0':
networks+=ip[0]+"."+ip[1]+".0.0"+net[netmask]
return networks
networks.append(ip[0]+"."+ip[1]+".0.0"+net[netmask])
return ",".join(networks)
def get_os_locale_locale(self):
"""локаль (прим: ru_RU.UTF-8)"""

Loading…
Cancel
Save