@ -662,6 +662,7 @@ class HBSYSTEM(DatagramProtocol):
self . datagramReceived = self . master_datagramReceived
self . dereg = self . master_dereg
elif self . _config [ ' MODE ' ] == ' PEER ' :
self . _stats = self . _config [ ' STATS ' ]
self . _stats [ ' DNS_TIME ' ] = time ( )
@ -687,6 +688,7 @@ class HBSYSTEM(DatagramProtocol):
self . _system_maintenance_loop = self . _system_maintenance . start ( self . _CONFIG [ ' GLOBAL ' ] [ ' PING_TIME ' ] )
self . _system_maintenance_loop . addErrback ( self . loopingErrHandle )
# Aliased in __init__ to maintenance_loop if system is a master
def master_maintenance_loop ( self ) :
logger . debug ( ' ( %s ) Master maintenance loop started ' , self . _system )
@ -804,8 +806,8 @@ class HBSYSTEM(DatagramProtocol):
logger . info ( ' ( %s ) De-Registration sent to Master: %s : %s ' , self . _system , self . _config [ ' MASTER_SOCKADDR ' ] [ 0 ] , self . _config [ ' MASTER_SOCKADDR ' ] [ 1 ] )
def validate_id ( self , _peer_id ) :
# if self._config['ALLOW_UNREG_ID'] :
# return True
if self . _CONFIG [ ' SYSTEMS ' ] [ self . _system ] [ ' ALLOW_UNREG_ID ' ] :
return True
_int_peer_id = int_id ( _peer_id )
_int_peer_id = str ( _int_peer_id ) [ : 7 ]
@ -1018,7 +1020,7 @@ class HBSYSTEM(DatagramProtocol):
_this_peer [ ' SOFTWARE_ID ' ] = _data [ 222 : 262 ]
_this_peer [ ' PACKAGE_ID ' ] = _data [ 262 : 302 ]
if not self . _ config [ ' ALLOW_UNREG_ID ' ] and _this_peer [ ' CALLSIGN ' ] . decode ( ' utf8 ' ) . rstrip ( ) != self . validate_id ( _peer_id ) :
if not self . _ CONFIG[ ' SYSTEMS ' ] [ self . _system ] [ ' ALLOW_UNREG_ID ' ] and _this_peer [ ' CALLSIGN ' ] . decode ( ' utf8 ' ) . rstrip ( ) != self . validate_id ( _peer_id ) :
del self . _peers [ _peer_id ]
self . transport . write ( b ' ' . join ( [ MSTNAK , _peer_id ] ) , _sockaddr )
logger . info ( ' ( %s ) Callsign does not match subscriber database: ID: %s , Sent Call: %s , DB call %s ' , self . _system , int_id ( _peer_id ) , _this_peer [ ' CALLSIGN ' ] . decode ( ' utf8 ' ) . rstrip ( ) , self . validate_id ( _peer_id ) )