diff --git a/app/create_db.py b/app/create_db.py index 2c63d9a8..f6cc01eb 100644 --- a/app/create_db.py +++ b/app/create_db.py @@ -114,11 +114,7 @@ def create_table(**kwargs): `description` VARCHAR ( 255 ), PRIMARY KEY(`id`) ); - INSERT INTO `groups` (name, description) VALUES ('All','All servers enter in this group'); - CREATE TABLE IF NOT EXISTS `uuid` ( - `user_id` INTEGER NOT NULL, - `uuid` varchar ( 64 ) - ); + INSERT INTO `groups` (name, description) VALUES ('All','All servers enter in this group'); CREATE TABLE IF NOT EXISTS `cred` ( `id` integer primary key autoincrement, `name` VARCHAR ( 64 ) UNIQUE, diff --git a/app/sql.py b/app/sql.py index 3eac3805..b4d63417 100644 --- a/app/sql.py +++ b/app/sql.py @@ -11,6 +11,13 @@ if mysql_enable == '1': import mysql.connector as sqltool else: import sqlite3 as sqltool + +def out_error(e): + if mysql_enable == '1': + error = e + else: + error = e.args[0] + print('An error occurred: ' + error + ' X') def add_user(user, email, password, role, group): con, cur = create_db.get_cur() @@ -19,7 +26,7 @@ def add_user(user, email, password, role, group): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() return False else: @@ -39,7 +46,7 @@ def update_user(user, email, password, role, group, id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() return False else: @@ -54,7 +61,7 @@ def delete_user(id): cur.execute(sql) con.commit() except sqltool.Error as e: - print("An error occurred:", e.args[0]) + out_error(e) con.rollback() else: return True @@ -67,7 +74,7 @@ def add_group(name, description): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() return False else: @@ -83,7 +90,7 @@ def delete_group(id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() else: return True @@ -102,7 +109,7 @@ def update_group(name, descript, id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() return False else: @@ -122,7 +129,7 @@ def add_server(hostname, ip, group, typeip, enable, master, cred, alert, metrics con.commit() return True except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() return False @@ -136,7 +143,7 @@ def delete_server(id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() else: return True @@ -161,7 +168,7 @@ def update_server(hostname, ip, group, typeip, enable, master, id, cred, alert, cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -179,7 +186,7 @@ def update_server_master(master, slave): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -192,7 +199,7 @@ def select_users(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: return cur.fetchall() cur.close() @@ -206,7 +213,7 @@ def select_groups(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) else: return cur.fetchall() cur.close() @@ -218,7 +225,7 @@ def select_user_name_group(id): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) else: for group in cur.fetchone(): return group @@ -244,46 +251,12 @@ def select_servers(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + out_error(e) else: return cur.fetchall() cur.close() con.close() -def get_type_ip_checkbox(id, **kwargs): - con, cur = create_db.get_cur() - sql = """select id, type_ip from servers where id='%s' """ % id - try: - cur.execute(sql) - except sqltool.Error as e: - print("An error occurred:", e.args[0]) - else: - for server in cur.fetchall(): - if server[1] == 1: - checked = 'checked' - else: - checked = "" - print('' % (server[0],server[0], checked)) - cur.close() - con.close() - -def get_enable_checkbox(id, **kwargs): - con, cur = create_db.get_cur() - sql = """select id, enable from servers where id='%s' """ % id - try: - cur.execute(sql) - except sqltool.Error as e: - print("An error occurred:", e.args[0]) - else: - for server in cur.fetchall(): - if server[1] == 1: - checked = 'checked' - else: - checked = "" - print('' % (server[0],server[0], checked)) - cur.close() - con.close() - def write_user_uuid(login, user_uuid): con, cur = create_db.get_cur() session_ttl = get_setting('session_ttl') @@ -292,17 +265,17 @@ def write_user_uuid(login, user_uuid): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) for id in cur.fetchall(): if mysql_enable == '1': - sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', now()+ INTERVAL %s day) """ % (id[0], user_uuid, session_ttl) + sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', now()+ INTERVAL '%s' day) """ % (id[0], user_uuid, session_ttl) else: sql = """ insert into uuid (user_id, uuid, exp) values('%s', '%s', datetime('now', '+%s days')) """ % (id[0], user_uuid, session_ttl) try: cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -324,19 +297,18 @@ def write_user_token(login, user_token): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() def get_token(uuid): con, cur = create_db.get_cur() - sql = """ select token.token from token left join uuid as uuid on uuid.user_id = token.user_id where uuid.uuid = '%s' """ % uuid try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) else: for token in cur.fetchall(): return token[0] @@ -368,7 +340,7 @@ def delete_old_uuid(): cur.execute(sql1) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -385,7 +357,7 @@ def update_last_act_user(uuid): cur.execute(sql) con.commit() except sqltool.Error as e: - print('
An error occurred: ' + e.args[0] + ' X
') + out_error(e) con.rollback() cur.close() con.close() @@ -396,7 +368,7 @@ def get_user_name_by_uuid(uuid): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: for user_id in cur.fetchall(): return user_id[0] @@ -409,7 +381,7 @@ def get_user_role_by_uuid(uuid): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: for user_id in cur.fetchall(): return user_id[0] @@ -422,7 +394,7 @@ def get_user_group_by_uuid(uuid): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: for user_id in cur.fetchall(): return user_id[0] @@ -435,7 +407,7 @@ def get_user_telegram_by_uuid(uuid): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: return cur.fetchall() cur.close() @@ -447,7 +419,7 @@ def get_telegram_by_ip(ip): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: return cur.fetchall() cur.close() @@ -471,8 +443,7 @@ def get_dick_permit(**kwargs): disable = 'or enable = 0' if kwargs.get('ip'): ip = "and ip = '%s'" % kwargs.get('ip') - - + try: cur.execute(sql) except sqltool.Error as e: @@ -486,7 +457,11 @@ def get_dick_permit(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + if mysql_enable == '1': + error = e + else: + error = e.args[0] + print('An error occurred: ' + error + ' X') else: return cur.fetchall() cur.close() @@ -500,7 +475,7 @@ def is_master(ip, **kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e) + out_error(e) else: return cur.fetchall() cur.close() @@ -518,7 +493,7 @@ def select_ssh(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) else: return cur.fetchall() cur.close() @@ -531,7 +506,7 @@ def insert_new_ssh(name, enable, group, username, password): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() else: return True @@ -545,7 +520,7 @@ def delete_ssh(id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() else: return True @@ -565,7 +540,7 @@ def update_ssh(id, name, enable, group, username, password): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -601,7 +576,7 @@ def delete_telegram(id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() else: return True @@ -618,7 +593,7 @@ def select_telegram(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + out_error(e) else: return cur.fetchall() cur.close() @@ -636,7 +611,7 @@ def update_telegram(token, chanel, group, id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -651,7 +626,7 @@ def insert_mentrics(serv, curr_con, cur_ssl_con, sess_rate, max_sess_rate): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -662,7 +637,7 @@ def select_waf_metrics_enable(id): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) else: return cur.fetchall() cur.close() @@ -674,7 +649,7 @@ def select_waf_metrics_enable_server(ip): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) else: for enable in cur.fetchall(): return enable[0] @@ -687,7 +662,7 @@ def select_waf_servers(): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) else: return cur.fetchall() cur.close() @@ -715,7 +690,11 @@ def select_waf_servers_metrics(uuid, **kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + if mysql_enable == '1': + error = e + else: + error = e.args[0] + print('An error occurred: ' + error + ' X') else: return cur.fetchall() cur.close() @@ -727,7 +706,7 @@ def select_waf_metrics(serv, **kwargs): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) else: return cur.fetchall() cur.close() @@ -740,7 +719,7 @@ def insert_waf_metrics_enable(serv, enable): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -752,7 +731,7 @@ def delete_waf_server(id): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -767,7 +746,7 @@ def insert_waf_mentrics(serv, conn): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -782,7 +761,7 @@ def delete_waf_mentrics(): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -794,7 +773,7 @@ def update_waf_metrics_enable(name, enable): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -809,7 +788,7 @@ def delete_mentrics(): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -820,7 +799,7 @@ def select_metrics(serv, **kwargs): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) else: return cur.fetchall() cur.close() @@ -832,7 +811,7 @@ def select_servers_metrics_for_master(): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + out_error(e) else: return cur.fetchall() cur.close() @@ -860,7 +839,11 @@ def select_servers_metrics(uuid, **kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + if mysql_enable == '1': + error = e + else: + error = e.args[0] + print('An error occurred: ' + error + ' X') else: return cur.fetchall() cur.close() @@ -979,7 +962,7 @@ def select_table_metrics(uuid): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) else: return cur.fetchall() @@ -994,7 +977,7 @@ def get_setting(param, **kwargs): try: cur.execute(sql) except sqltool.Error as e: - print('An error occurred: ' + e + ' X') + out_error(e) else: if kwargs.get('all'): return cur.fetchall() @@ -1011,7 +994,7 @@ def update_setting(param, val): cur.execute(sql) con.commit() except sqltool.Error as e: - print('An error occurred: ' + e.args[0] + ' X') + out_error(e) con.rollback() cur.close() con.close() @@ -1062,20 +1045,6 @@ def show_update_group(group): output_from_parsed_template = template.render(groups = select_groups(group=group)) print(output_from_parsed_template) - -def select_roles(**kwargs): - con, cur = create_db.get_cur() - sql = """select * from role ORDER BY id""" - if kwargs.get("role") is not None: - sql = """select * from role where name='%s' """ % kwargs.get("group") - try: - cur.execute(sql) - except sqltool.Error as e: - print("An error occurred:", e.args[0]) - else: - return cur.fetchall() - cur.close() - con.close() def select_roles(**kwargs): con, cur = create_db.get_cur() @@ -1085,7 +1054,7 @@ def select_roles(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + out_error(e) else: return cur.fetchall() cur.close() @@ -1097,7 +1066,7 @@ def select_alert(**kwargs): try: cur.execute(sql) except sqltool.Error as e: - print("An error occurred:", e.args[0]) + out_error(e) else: return cur.fetchall() cur.close() @@ -1150,7 +1119,7 @@ if form.getvalue('newserver') is not None: metrics = form.getvalue('metrics') page = form.getvalue('page') page = page.split("#")[0] - port = form.getvalue('port') + port = form.getvalue('newport') print('Content-type: text/html\n') if ip is None or group is None or cred is None or port is None: print(error_mess) diff --git a/app/templates/base.html b/app/templates/base.html index 58f79c32..02177d41 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -101,7 +101,7 @@