From 0054f25da7cf8c7480452f48e39308b5e392dc67 Mon Sep 17 00:00:00 2001 From: Aidaho Date: Wed, 22 Feb 2023 10:36:20 +0300 Subject: [PATCH] v6.3.6.0 Changelog: https://roxy-wi.org/changelog#6_3_6 --- app/modules/roxywi/logs.py | 2 + app/modules/server/ssh.py | 8 +++- .../ansible/roles/haproxy/tasks/logs.yml | 1 + app/templates/ajax/new_ssh.html | 2 +- app/templates/base.html | 6 ++- app/templates/hapservers.html | 2 +- app/templates/include/admin_add_user.html | 10 ++--- app/templates/include/admin_ssh.html | 2 +- app/templates/languages/en.html | 2 + app/templates/languages/ru.html | 2 + inc/overview.js | 44 ++++++++++++------- 11 files changed, 53 insertions(+), 28 deletions(-) diff --git a/app/modules/roxywi/logs.py b/app/modules/roxywi/logs.py index ccef16ca..c89c007c 100644 --- a/app/modules/roxywi/logs.py +++ b/app/modules/roxywi/logs.py @@ -78,6 +78,8 @@ def show_roxy_log( log_file = checkAjaxInput(log_file) if log_file is not None else log_file + if '..' in log_file: return 'error: nice try' + if service in ('nginx', 'haproxy', 'apache', 'keepalived'): syslog_server_enable = sql.get_setting('syslog_server_enable') if syslog_server_enable is None or syslog_server_enable == 0: diff --git a/app/modules/server/ssh.py b/app/modules/server/ssh.py index 5778c866..4df70bea 100644 --- a/app/modules/server/ssh.py +++ b/app/modules/server/ssh.py @@ -51,16 +51,16 @@ def ssh_connect(server_ip): def create_ssh_cred() -> None: from jinja2 import Environment, FileSystemLoader - user_group = roxywi_common.get_user_group() name = common.checkAjaxInput(form.getvalue('new_ssh')) - name = f'{name}_{user_group}' enable = common.checkAjaxInput(form.getvalue('ssh_enable')) group = common.checkAjaxInput(form.getvalue('new_group')) + group_name = sql.get_group_name_by_id(group) username = common.checkAjaxInput(form.getvalue('ssh_user')) password = common.checkAjaxInput(form.getvalue('ssh_pass')) page = common.checkAjaxInput(form.getvalue('page')) page = page.split("#")[0] lang = roxywi_common.get_user_lang() + name = f'{name}_{group_name}' if username is None or name is None: print(error_mess) @@ -91,6 +91,10 @@ def create_ssh_cread_api(name: str, enable: str, group: str, username: str, pass def upload_ssh_key(name: str, user_group: str, key: str) -> bool: + if '..' in name: + print('error: nice try') + return False + try: key = paramiko.pkey.load_private_key(key) except Exception as e: diff --git a/app/scripts/ansible/roles/haproxy/tasks/logs.yml b/app/scripts/ansible/roles/haproxy/tasks/logs.yml index 96291c27..635fdc1a 100644 --- a/app/scripts/ansible/roles/haproxy/tasks/logs.yml +++ b/app/scripts/ansible/roles/haproxy/tasks/logs.yml @@ -11,4 +11,5 @@ src: /var/www/haproxy-wi/app/scripts/ansible/roles/haproxy/templates/logrotate.conf.j2 dest: /etc/logrotate.d/haproxy.conf force: no + when: (ansible_facts['os_family'] == "RedHat" or ansible_facts['os_family'] == 'CentOS') ignore_errors: yes \ No newline at end of file diff --git a/app/templates/ajax/new_ssh.html b/app/templates/ajax/new_ssh.html index 86be6c63..d3a0bf51 100644 --- a/app/templates/ajax/new_ssh.html +++ b/app/templates/ajax/new_ssh.html @@ -15,7 +15,7 @@