This commit is contained in:
who
2007-11-13 11:44:47 +01:00
parent b79efd1c98
commit 8bbbb07263
13 changed files with 134 additions and 85 deletions

View File

@ -1,4 +1,5 @@
import md5
from logger import Logger
class IllegalEventException(Exception):
def __init__(self, msg):
@ -7,9 +8,10 @@ class IllegalEventException(Exception):
class Event(object):
@classmethod
def setParams(cls, entries, msgTimeCorridor):
def setParams(cls, entries, msgTimeCorridor, dnsq):
cls.entries = entries
cls.msgTimeCorridor = msgTimeCorridor
cls.dnsq = dnsq
def __init__(self, address, data, receiveTime):
self.address = address
@ -48,18 +50,24 @@ class Event(object):
di = "%s %s %d" % (self.dynid, entry.sharedSecret, self.msgTime)
d = md5.new(di).hexdigest()
print "%s, received: %s, calculated: %s" % (di, self.checksum, d)
Logger.log("%s, received: %s, calculated: %s" % (di, self.checksum, d))
if d != self.checksum:
raise IllegalEventException("wrong checksum for event %s" % str(self))
entry.lastEventTime = self.msgTime
if entry.address == self.address:
print "Same address, nothing to do."
entry.lastEventTime = self.msgTime
Logger.log("Same address, nothing to do.")
else:
entry.lastEventTime = self.msgTime
entry.address = self.address
print "Set in DNS: %s -> %s" % (entry.name, entry.address)
Logger.log("Set in DNS: %s -> %s" % (entry.name, entry.address))
try:
Event.dnsq.put_nowait(entry)
except Queue.Full, e:
Logger.log("Dns Queue overrun, drop event for %s" % str(entry))
def __str__(self):
if not self.prepared: