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()
...@@ -83,8 +83,11 @@ class penguidomService(service.Service): ...@@ -83,8 +83,11 @@ class penguidomService(service.Service):
to the instance of the higher level object initialization or by to the instance of the higher level object initialization or by
setting it using the abstraction of the ConvenienceCaller metaclass setting it using the abstraction of the ConvenienceCaller metaclass
""" """
try:
try: try:
f=getattr(self, who+'_on_'+cmd) 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