fix get Ip ans mac adress

master3.3
Спиридонов Денис 12 years ago
parent 50096d804a
commit 19386c3011

@ -42,7 +42,7 @@ def client_post_cert (client):
#delete_old_cert(client)
#sys.exit()
print _('Add certificate to server Database...')
ip, mac, client_type = get_ip_mac_type('eth0')
ip, mac, client_type = get_ip_mac_type()
print ip, mac, client_type
cert_id = client.service.cert_add(mac, client_type)
print _("Your certificate ID = %s") %cert_id
@ -126,7 +126,7 @@ def client_post_request (cert_path, by_host):
else:
new_key_req(key, cert_path, server_host_name)
ip, mac, client_type = get_ip_mac_type('eth0')
ip, mac, client_type = get_ip_mac_type()
data = open(csr_file).read()
res = client.service.post_client_request(request = data, ip = ip,\
mac = mac, client_type = client_type)

@ -20,12 +20,11 @@ import fcntl, socket, struct
from OpenSSL import crypto
import shlex
import suds
#t = time
from calculate.api.server.cert_cmd import getHwAddr, getIpLocal
# get list of certificate and session id
def get_sid (SID_FILE):
if not os.path.exists(SID_FILE) :
if not os.path.exists(SID_FILE):
fi = open(SID_FILE, 'w')
fi.write('0')
fi.close()
@ -34,7 +33,6 @@ def get_sid (SID_FILE):
fi = open(SID_FILE, 'r')
sid = fi.read()
fi.close()
return sid
def _(s):
@ -50,21 +48,6 @@ def clear ():
except:
print _("Clear Cache error! ")
return 1
def get_ip_local(ifname='eth0'):
'''
Source:
http://code.activestate.com/recipes/439094/
'''
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
ipaddr = socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915, # SIOCGIFADDR
struct.pack('256s', ifname[:15])
)[20:24])
return ipaddr
def get_ip_global():
import urllib2
@ -98,22 +81,15 @@ def myGetch():
termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
return c
def getHwAddr(ifname = 'eth0'):
""" get MAC adress selected interface """
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', ifname[:15]))
return ''.join(['%02x:' % ord(char) for char in info[18:24]])[:-1]
def get_ip_mac_type(ifname, client_type = None):
def get_ip_mac_type(client_type = None):
results = []
#try:
results.append ( get_ip_local() )
results.append ( getIpLocal() )
#except:
#results.append ('no_ip')
#try:
results.append ( getHwAddr(ifname) )
results.append ( getHwAddr())
#except:
#results.append ('no_mac')
if client_type:

@ -129,13 +129,8 @@ def sign_certificate(req_id, cert_path, data_path):
cert_cmd.sing_req_by_server(req_id, cert_path, data_path, auto = True)
def get_ip_mac_type():
for Interfaces in ip_mod.getInterfaces():
try:
ip, mac, client_type = get_ip_mac_type(Interfaces, 'gui')
return (ip, mac, client_type)
except:
pass
return ('no_ip','no_mac', 'live')
ip, mac, client_type = get_ip_mac_type('gui')
return (ip, mac, client_type)
def get_certificate(cert_path, data_path, certbase, client_cert_path):
if not os.path.exists(client_cert_path + 'req_id'):

@ -22,21 +22,26 @@ import os, glob, socket, time
import fcntl, struct, subprocess
import M2Crypto, OpenSSL, hashlib
from func import new_key_req, uniq
from calculate.lib.utils import ip as ip
def get_ip_local(ifname='eth0'):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
ipaddr = socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915, # SIOCGIFADDR
struct.pack('256s', ifname[:15])
)[20:24])
return ipaddr
def getIpLocal():
for interface in ip.getInterfaces():
try:
return ip.getIp(interface)
except:
continue
else:
return ""
def getHwAddr(ifname = 'eth0'):
""" get MAC adress selected interface """
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack('256s', ifname[:15]))
return ''.join(['%02x:' % ord(char) for char in info[18:24]])[:-1]
def getHwAddr():
""" get MAC adress for interface """
for interface in ip.getInterfaces():
try:
return ip.getMac(interface)
except:
continue
else:
return ""
# method for generating server certificates
def check_server_certificate(cert, key, cert_path, args, port, auto = False):
@ -166,7 +171,7 @@ def check_server_certificate(cert, key, cert_path, args, port, auto = False):
else:
new_key_req(key, cert_path, serv_host_name, port)
ip = get_ip_local()
ip = getIpLocal()
mac = getHwAddr()
data = open(cert_path + '/server.csr').read()
res = client.service.post_server_request(request = data, ip = ip,\

@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: calculate-api\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-24 09:48+0300\n"
"PO-Revision-Date: 2012-04-24 09:50+0300\n"
"POT-Creation-Date: 2012-04-24 15:47+0300\n"
"PO-Revision-Date: 2012-04-24 15:47+0300\n"
"Last-Translator: Denis <ds@mail.ru>\n"
"Language-Team: \n"
"Language: \n"
@ -1242,7 +1242,7 @@ msgstr "Ошибка чтения файла с идентификаторами
msgid "Unable import %s"
msgstr "Невозможно импортировать %s"
#: /var/calculate/mydir/git/calculate-api/api/server/api_types.py:209
#: /var/calculate/mydir/git/calculate-api/api/server/api_types.py:207
msgid "Previous"
msgstr "Назад"
@ -1394,7 +1394,7 @@ msgstr "Наложение шаблонов"
msgid "arguments: "
msgstr "аргументы: "
#: /var/calculate/mydir/git/calculate-api/api/server/cl_template.py:118
#: /var/calculate/mydir/git/calculate-api/api/server/cl_template.py:115
msgid "Please, enter cl-template arguments"
msgstr "Пожалуйста, введите аргументы для cl-template"

Loading…
Cancel
Save