When using a GENERATOR config, reset HBP options to default on client logout

This commit is contained in:
Simon 2021-03-21 17:22:50 +00:00
parent 7a314ba7df
commit 0261c04ede
2 changed files with 15 additions and 4 deletions

View File

@ -1962,7 +1962,9 @@ if __name__ == '__main__':
_systemname = system+'-'+str(count)
generator[_systemname] = copy.deepcopy(CONFIG['SYSTEMS'][system])
generator[_systemname]['PORT'] = generator[_systemname]['PORT'] + count
generator[_systemname]['_default_options'] = "TS1_STATIC={};TS2_STATIC={};SINGLE={};DEFAULT_UA_TIMER={};DEFAULT_REFLECTOR={};VOICE={}".format(generator[_systemname]['TS1_STATIC'],generator[_systemname]['TS2_STATIC'],int(generator[_systemname]['SINGLE_MODE']),generator[_systemname]['DEFAULT_UA_TIMER'],generator[_systemname]['DEFAULT_REFLECTOR'],int(generator[_systemname]['VOICE_IDENT']) )
logger.debug('(GLOBAL) Generator - generated system %s',_systemname)
generator[_systemname]['_default_options']
systemdelete.append(system)
for _system in generator:

View File

@ -250,8 +250,13 @@ class HBSYSTEM(DatagramProtocol):
# Remove any timed out peers from the configuration
del self._CONFIG['SYSTEMS'][self._system]['PEERS'][peer]
if 'PEERS' not in self._CONFIG['SYSTEMS'][self._system] and 'OPTIONS' in self._CONFIG['SYSTEMS'][self._system]:
logger.info('(%s) Deleting HBP Options',self._system)
del self._CONFIG['SYSTEMS'][self._system]['OPTIONS']
if '_default_options' in self._CONFIG['SYSTEMS'][self._system]:
logger.info('(%s) Setting default Options: %s',self._system, self._CONFIG['SYSTEMS'][self._system]['_default_options'])
self._CONFIG['SYSTEMS'][self._system]['OPTIONS'] = self._CONFIG['SYSTEMS'][self._system]['_default_options']
else:
del self._CONFIG['SYSTEMS'][self._system]['OPTIONS']
logger.info('(%s) Deleting HBP Options',self._system)
# Aliased in __init__ to maintenance_loop if system is a peer
def peer_maintenance_loop(self):
@ -485,8 +490,12 @@ class HBSYSTEM(DatagramProtocol):
self.transport.write(b''.join([MSTNAK, _peer_id]), _sockaddr)
del self._peers[_peer_id]
if 'OPTIONS' in self._CONFIG['SYSTEMS'][self._system]:
logger.info('(%s) Deleting HBP Options',self._system)
del self._CONFIG['SYSTEMS'][self._system]['OPTIONS']
if '_default_options' in self._CONFIG['SYSTEMS'][self._system]:
self._CONFIG['SYSTEMS'][self._system]['OPTIONS'] = self._CONFIG['SYSTEMS'][self._system]['_default_options']
logger.info('(%s) Setting default Options: %s',self._system, self._CONFIG['SYSTEMS'][self._system]['_default_options'])
else:
logger.info('(%s) Deleting HBP Options',self._system)
del self._CONFIG['SYSTEMS'][self._system]['OPTIONS']
else:
_peer_id = _data[4:8] # Configure Command