diff --git a/bridge.py b/bridge.py index 2f22293..3852040 100755 --- a/bridge.py +++ b/bridge.py @@ -79,7 +79,7 @@ def download_config(L_CONFIG_FILE, cli_file): try: req = requests.post(user_man_url, data=json_object, headers={'Content-Type': 'application/json'}) resp = json.loads(req.text) - print(resp) +## print(resp) ## print(type(resp)) ## conf = config.build_config(resp['config']) @@ -88,14 +88,18 @@ def download_config(L_CONFIG_FILE, cli_file): ## f.write(str(resp['config'])) ## print(resp) iterate_config = resp['peers'].copy() +## iterate_masters = resp['masters'].copy() corrected_config = resp['config'].copy() corrected_config['SYSTEMS'] = {} corrected_config['LOGGER'] = {} + iterate_config.update(resp['masters'].copy()) corrected_config['SYSTEMS'].update(iterate_config) corrected_config['LOGGER'].update(L_CONFIG_FILE['LOGGER']) corrected_config['USER_MANAGER'].update(L_CONFIG_FILE['USER_MANAGER']) +## iterate_config.update(resp['masters'].copy()) print(iterate_config) +## print(iterate_config) ## corrected_config = CONFIG_FILE.copy() @@ -122,10 +126,10 @@ def download_config(L_CONFIG_FILE, cli_file): corrected_config['SYSTEMS'][i]['RADIO_ID'] = int(iterate_config[i]['RADIO_ID']).to_bytes(4, 'big') corrected_config['SYSTEMS'][i]['TG1_ACL'] = config.acl_build(iterate_config[i]['TG1_ACL'], 16776415) corrected_config['SYSTEMS'][i]['TG2_ACL'] = config.acl_build(iterate_config[i]['TG2_ACL'], 16776415) + corrected_config['SYSTEMS'][i]['MASTER_SOCKADDR'] = tuple(iterate_config[i]['MASTER_SOCKADDR']) + corrected_config['SYSTEMS'][i]['SOCK_ADDR'] = tuple(iterate_config[i]['SOCK_ADDR']) corrected_config['SYSTEMS'][i]['USE_ACL'] = iterate_config[i]['USE_ACL'] corrected_config['SYSTEMS'][i]['SUB_ACL'] = config.acl_build(iterate_config[i]['SUB_ACL'], 16776415) - corrected_config['SYSTEMS'][i]['MASTER_SOCKADDR'] = tuple(iterate_config[i]['MASTER_SOCKADDR']) - corrected_config['SYSTEMS'][i]['SOCK_ADDR'] = tuple(iterate_config[i]['SOCK_ADDR']) corrected_config['SYSTEMS'][i].update({'STATS':{ 'CONNECTION': 'NO', # NO, RTPL_SENT, AUTHENTICATED, CONFIG-SENT, YES 'CONNECTED': None, @@ -136,9 +140,12 @@ def download_config(L_CONFIG_FILE, cli_file): 'LAST_PING_TX_TIME': 0, 'LAST_PING_ACK_TIME': 0, }}) - print(corrected_config) + +## print(iterate_masters) +## for i in iterate_masters: +## iterate_masters['SYSTEMS'] ## config.process_acls(corrected_config) -## print(corrected_config) + print(corrected_config['SYSTEMS']) print('-------') return corrected_config # For exception, write blank dict diff --git a/config.py b/config.py index 4cfcac3..3d24025 100755 --- a/config.py +++ b/config.py @@ -158,6 +158,7 @@ def build_config(_config_file): CONFIG['USER_MANAGER'].update({ 'THIS_SERVER_NAME': config.get(section, 'THIS_SERVER_NAME'), 'URL': config.get(section, 'URL'), + 'REMOTE_CONFIG_ENABLED': config.getboolean(section, 'REMOTE_CONFIG_ENABLED'), 'APPEND_INT': config.getint(section, 'APPEND_INT'), 'SHARED_SECRET': config.get(section, 'SHARED_SECRET'), 'SHORTEN_PASSPHRASE': config.getboolean(section, 'SHORTEN_PASSPHRASE'), diff --git a/user_managment/app.py b/user_managment/app.py index ddccc3c..0d5c4c8 100644 --- a/user_managment/app.py +++ b/user_managment/app.py @@ -1540,10 +1540,10 @@ def create_app(): def get_peer_configs(_server_name): mmdvm_pl = mmdvmPeer.query.filter_by(server=_server_name).all() xlx_pl = xlxPeer.query.filter_by(server=_server_name).all() - print(mmdvm_pl) +## print(mmdvm_pl) peer_config_list = {} for i in mmdvm_pl: - print(i) +## print(i) ## print(i.master_ip) peer_config_list.update({i.name: { 'MODE': 'PEER', @@ -1756,9 +1756,84 @@ def create_app(): }) print(s_config['REPORTS']) return s_config + def masters_get(_name): +## print(_name) + #s = ServerList.query.filter_by(name=_name).first() + # print(s.name) + i = MasterList.query.filter_by(server=_name).all() + print('get masters') + master_config_list = {} +## master_config_list['SYSTEMS'] = {} + print(i) + for m in i: + print (m.name) + master_config_list.update({m.name: { + 'MODE': 'MASTER', + 'ENABLED': m.active, + 'STATIC_APRS_POSITION_ENABLED': m.static_positions, + 'REPEAT': m.repeat, + 'MAX_PEERS': m.max_peers, + 'IP': m.ip, + 'PORT': m.port, + 'PASSPHRASE': bytes(m.passphrase, 'utf-8'), + 'GROUP_HANGTIME': m.group_hang_time, + 'USE_ACL': m.use_acl, + 'REG_ACL': m.reg_acl, + 'SUB_ACL': m.sub_acl, + 'TG1_ACL': m.tg1_acl, + 'TG2_ACL': m.tg2_acl + }}) + master_config_list[m.name].update({'PEERS': {}}) + print(master_config_list) + return master_config_list +## print(i.name) +## s_config = {} +## s_config['GLOBAL'] = {} +## s_config['REPORTS'] = {} +## s_config['ALIASES'] = {} +## s_config['USER_MANAGER'] = {} +## +## s_config['GLOBAL'].update({ +## 'PATH': i.global_path, +## 'PING_TIME': i.global_ping_time, +## 'MAX_MISSED': i.global_max_missed, +## 'USE_ACL': i.global_use_acl, +## 'REG_ACL': i.global_reg_acl, +## 'SUB_ACL': i.global_sub_acl, +## 'TG1_ACL': i.global_tg1_acl, +## 'TG2_ACL': i.global_tg2_acl +## }) +## +## s_config['REPORTS'].update({ +## 'REPORT': i.report_enable, +## 'REPORT_INTERVAL': i.report_interval, +## 'REPORT_PORT': i.report_port, +## 'REPORT_CLIENTS': i.report_clients.split(',') +## }) +## s_config['ALIASES'].update({ +## 'TRY_DOWNLOAD':i.ai_try_download, +## 'PATH': i.ai_path, +## 'PEER_FILE': i.ai_peer_file, +## 'SUBSCRIBER_FILE': i.ai_subscriber_file, +## 'TGID_FILE': i.ai_tgid_file, +## 'PEER_URL': i.ai_peer_url, +## 'SUBSCRIBER_URL': i.ai_subs_url, +## 'STALE_TIME': i.ai_stale * 86400, +## }) +## s_config['USER_MANAGER'].update({ +## 'APPEND_INT': append_int, +## 'SHORTEN_PASSPHRASE': i.um_shorten_passphrase, +## 'BURN_FILE': i.um_burn_file, +## 'BURN_INT': burn_int, +## +## +## }) +## print(s_config['REPORTS']) +## return s_config def server_edit(_name, _secret, _ip, _public_list, _port, _global_path, _global_ping_time, _global_max_missed, _global_use_acl, _global_reg_acl, _global_sub_acl, _global_tg1_acl, _global_tg2_acl, _ai_subscriber_file, _ai_try_download, _ai_path, _ai_peer_file, _ai_tgid_file, _ai_peer_url, _ai_subs_url, _ai_stale, _um_shorten_passphrase, _um_burn_file, _report_enable, _report_interval, _report_port, _report_clients, _unit_time): s = ServerList.query.filter_by(name=_name).first() + print(_name) if _secret == '': s.secret = s.secret else: @@ -2013,7 +2088,7 @@ def create_app(): ## print(_name) ## s = mmdvmPeer.query.filter_by(server=_server).filter_by(name=_name).first() p = mmdvmPeer.query.filter_by(server=_server).filter_by(name=_name).first() -## print(p) + print(p) p.enabled = _enabled p.loose = _loose p.ip = _ip @@ -2048,7 +2123,7 @@ def create_app(): # Test server configs - @app.route('/edit_server', methods=['POST', 'GET']) + @app.route('/manage_servers', methods=['POST', 'GET']) @login_required @roles_required('Admin') def edit_server_db(): @@ -2082,8 +2157,8 @@ def create_app(): server_add(request.form.get('server_name'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time')) content = 'attempt save' if request.args.get('save_mode') == 'edit': - print(request.form.get('unit_time')) - server_edit(request.form.get('server_name'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time')) +## print(request.args.get('server')) + server_edit(request.args.get('server'), request.form.get('server_secret'), request.form.get('server_ip'), public_list, _port, request.form.get('global_path'), _global_ping_time, _global_max_missed, _global_use_acl, request.form.get('reg_acl'), request.form.get('sub_acl'), request.form.get('global_ts1_acl'), request.form.get('global_ts2_acl'), request.form.get('sub_file'), _ai_try_download, request.form.get('aliases_path'), request.form.get('peer_file'), request.form.get('tgid_file'), request.form.get('peer_url'), request.form.get('sub_url'), _ai_stale, _um_shorten_passphrase, request.form.get('um_burn_file'), _report_enabled, _report_interval, _report_port, request.form.get('report_clients'), request.form.get('unit_time')) content = 'attempt edit save' elif request.args.get('delete_server'): server_delete(request.args.get('delete_server')) @@ -2095,9 +2170,9 @@ def create_app(): content = '''
- + -