Few fix on ikap implementation

parent cafdb270
...@@ -88,8 +88,8 @@ class DomIkaBaseProtocol(object): ...@@ -88,8 +88,8 @@ class DomIkaBaseProtocol(object):
self.initializated = False self.initializated = False
def retriveMemKey(self): def retriveMemKey(self):
if len(self.core.configGet('protocol', 'netpwd'))>4: if len(self.core.configGet('ikap', 'netpwd'))>4:
memkey=dmcrypt.DMHash256(self.core.configGet('protocol', 'netpwd')) memkey=dmcrypt.DMHash256(self.core.configGet('ikap', 'netpwd'))
log.info("Protocol password is configured") log.info("Protocol password is configured")
else: else:
log.info("Protocol password is DEFAULT") log.info("Protocol password is DEFAULT")
...@@ -99,8 +99,8 @@ class DomIkaBaseProtocol(object): ...@@ -99,8 +99,8 @@ class DomIkaBaseProtocol(object):
def checkTimeLimits(self, epoch): def checkTimeLimits(self, epoch):
# check if we are out of time limits # check if we are out of time limits
now=int(time.time()) now=int(time.time())
if isTrue(self.core.configGet('protocol','timecheck')): if isTrue(self.core.configGet('ikap','timecheck')):
tollerance=int(self.core.configGet('protocol','tollerance')) tollerance=int(self.core.configGet('ikap','tollerance'))
if(int(epoch)<now-tollerance or int(epoch)>now+tollerance): if(int(epoch)<now-tollerance or int(epoch)>now+tollerance):
return False return False
return True return True
...@@ -115,7 +115,7 @@ class DomIkaBaseProtocol(object): ...@@ -115,7 +115,7 @@ class DomIkaBaseProtocol(object):
self.aesdata=AES256(struct.unpack('<8L', self.memkey), struct.unpack('<4L', self.memiv)) self.aesdata=AES256(struct.unpack('<8L', self.memkey), struct.unpack('<4L', self.memiv))
self.debugmode=False self.debugmode=False
if self.core.configGet('protocol','loglevel').lower()=='debug': if self.core.configGet('ikap','loglevel').lower()=='debug':
self.debugmode=True self.debugmode=True
self.ikahdr=proto.IkaPacketHeader() self.ikahdr=proto.IkaPacketHeader()
...@@ -292,8 +292,8 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol): ...@@ -292,8 +292,8 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol):
def retrivePort(self, msgtype): def retrivePort(self, msgtype):
if msgtype in [C.IKAP_BROADCAST, C.IKAP_MSG_REQUEST, C.IKAP_MSG_REQUESTCONF, if msgtype in [C.IKAP_BROADCAST, C.IKAP_MSG_REQUEST, C.IKAP_MSG_REQUESTCONF,
C.IKAP_MSG_SETCONF, C.IKAP_MSG_ACK]: C.IKAP_MSG_SETCONF, C.IKAP_MSG_ACK]:
return int(self.core.configGet('ikapserver', 'port')) return int(self.core.configGet('ikap', 'port'))
return int(self.core.configGet('ikapserver', 'notifyport')) return int(self.core.configGet('ikap', 'notifyport'))
def startProtocol(self): def startProtocol(self):
...@@ -301,7 +301,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol): ...@@ -301,7 +301,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol):
self.transport.socket.setsockopt(SOL_SOCKET, SO_BROADCAST, True) self.transport.socket.setsockopt(SOL_SOCKET, SO_BROADCAST, True)
try: try:
self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE,
self.core.configGet('ikapserver', 'ethdev')) self.core.configGet('ikap', 'ethdev'))
except: except:
self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0") self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0")
...@@ -310,7 +310,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol): ...@@ -310,7 +310,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol):
self.transport.socket.setsockopt(SOL_SOCKET, SO_BROADCAST, True) self.transport.socket.setsockopt(SOL_SOCKET, SO_BROADCAST, True)
try: try:
self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE,
self.core.configGet('ikapserver', 'ethdev')) self.core.configGet('ikap', 'ethdev'))
except: except:
self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0") self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0")
self.initializated = True self.initializated = True
...@@ -323,7 +323,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol): ...@@ -323,7 +323,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol):
self.transport.socket.setsockopt(SOL_SOCKET, SO_BROADCAST, True) self.transport.socket.setsockopt(SOL_SOCKET, SO_BROADCAST, True)
try: try:
self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE,
self.core.configGet('ikapserver', 'ethdev')) self.core.configGet('ikap', 'ethdev'))
except: except:
self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0") self.transport.socket.setsockopt(SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0")
...@@ -334,7 +334,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol): ...@@ -334,7 +334,7 @@ class DomIkaUDP(DatagramProtocol, DomIkaBaseProtocol):
log.debug('SEND UDP PACKET: %r' % p.cleanpacket()) log.debug('SEND UDP PACKET: %r' % p.cleanpacket())
def datagramReceived(self, data, (host, port)): def datagramReceived(self, data, (host, port)):
return self.ikapPacketReceived(data, (host, int(self.core.configGet('ikapserver', 'port'))), 'UDP4') return self.ikapPacketReceived(data, (host, int(self.core.configGet('ikap', 'port'))), 'UDP4')
...@@ -420,6 +420,6 @@ class DomIkaServerFactory(ServerFactory): ...@@ -420,6 +420,6 @@ class DomIkaServerFactory(ServerFactory):
if __name__ == '__main__': if __name__ == '__main__':
from twisted.internet import reactor from twisted.internet import reactor
reactor.listenUDP(6654, DomIkaUDP(), self.core.configGet('ikapserver', 'interface')) reactor.listenUDP(6654, DomIkaUDP(), self.core.configGet('ikap', 'interface'))
reactor.run() reactor.run()
...@@ -84,7 +84,10 @@ class penguidomService(service.Service): ...@@ -84,7 +84,10 @@ class penguidomService(service.Service):
setting it using the abstraction of the ConvenienceCaller metaclass setting it using the abstraction of the ConvenienceCaller metaclass
""" """
try: try:
f=getattr(self, who+'_on_'+cmd) try:
f=getattr(self, who+'_on_'+cmd)
except:
f=getattr(self, 'on_'+cmd)
if f and callable(f): if f and callable(f):
return f return f
except: except:
...@@ -110,5 +113,6 @@ class penguidomService(service.Service): ...@@ -110,5 +113,6 @@ class penguidomService(service.Service):
self.tcp = ikap.DomIkaServerFactory(caller) self.tcp = ikap.DomIkaServerFactory(caller)
return self.tcp return self.tcp
def on_configGet(self, section, var):
return self.config.get(section, var)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment