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

Loading…
Cancel
Save