Server IP : 184.154.167.98 / Your IP : 3.145.38.150 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /scripts/ |
Upload File : |
#!/opt/cloudlinux/venv/bin/python3 -bb # -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT """ Module provides cpanel hook for validation lve package extension """ import os import sys import simplejson as json from clcommon import memory_to_page, validate_cpu, validate_int SCRIPT_NAME = os.path.basename(__file__) def print_error_msg_and_exit(limit, value): limit_name = limit.split("_")[1].upper() if limit_name == "CPU": limit_name = "SPEED" elif limit_name == "MEM": limit_name = "VMEM" print(0, "Invalid value for " + str(limit_name) + " : " + str(value)) sys.exit(1) def need_validation(json_decode): """ Return true if we need validate input data """ if os.path.basename(json_decode["hook"]["hook"]) == SCRIPT_NAME and json_decode["context"]["stage"] == "pre": return True return False if "__main__" == __name__: lines = sys.stdin.read() json_decode = json.loads(lines) if need_validation(json_decode): hook_data = json_decode["data"] for key, value in hook_data.items(): if not key.startswith("lve_"): continue if value in ("DEFAULT", "", None): continue elif key in ("lve_ncpu", "lve_iops", "lve_nproc", "lve_io", "lve_ep"): if value is not None: if value != validate_int(value): print_error_msg_and_exit(key, value) elif key in ("lve_inodes_soft", "lve_inodes_hard", "lve_mysql_cpu", "lve_mysql_io"): if key == "lve_mysql_cpu": value = value.replace("%", "") if value is not None: if value != validate_int(value, min_val=-1): print_error_msg_and_exit(key, value) elif key in ("lve_pmem", "lve_mem"): temp = memory_to_page(value) if temp is None: print_error_msg_and_exit(key, value) elif key in ("lve_cpu",): temp = validate_cpu(value) if temp is None: print_error_msg_and_exit(key, value) else: # UNKNOWN LVE LIMIT print_error_msg_and_exit(key, value) print(1, "Ok")