|
Server IP : 147.135.20.30 / Your IP : 216.73.216.239 Web Server : Apache System : Linux myserver.oneclickpackage.com 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64 User : bghrsuper ( 1005) PHP Version : 7.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0555) : /../../tmp/../etc/python/../python/../python/../python/../python/../security/../../bin/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
#!/bin/bash
set -euo pipefail
export PYTHONPATH="/usr/libexec/kcare/python:${PYTHONPATH:-}"
# Force UTF-8 for stdin/stdout/stderr independent of the system locale. Under a
# C/POSIX locale Python picks an ASCII codec, so non-ASCII patch-info output
# (e.g. an em-dash in a cvedata skip reason) would raise UnicodeEncodeError and
# abort the command. ``:replace`` keeps a malformed byte from crashing on input.
# Set before sourcing kcarectl.env so operators can still override it.
export PYTHONIOENCODING="${PYTHONIOENCODING:-utf-8:replace}"
python=
# try different python versions, python3 is preferred
for try_python in python3 /usr/libexec/platform-python python2; do
python="$(command -v "$try_python" || true)"
if [ -z "$python" ]; then
# this version was not found
continue
fi
py_version_output=$("$python" --version 2>&1)
# remove "Python " prefix and split into array like (3 10 12)
IFS='.'
read -ra py_version_array <<<"${py_version_output/* /}"
py_version_major=${py_version_array[0]}
py_version_minor=${py_version_array[1]}
if [[ "$py_version_major" -eq 3 ]] && [[ "$py_version_minor" -le 5 ]]; then
# python 3.5 and older is not supported
# in this case we try to use python2
python=
continue
fi
# take first python which works for us
break
done
if [ -z "$python" ]; then
>&2 echo error: supported versions of python3 or python2 executables were not found
exit 1
fi
cmd=("$python" "-m" "kcarectl.__main__")
env_path="/etc/sysconfig/kcare/kcarectl.env"
if [ -f "$env_path" ]; then
set -a
# shellcheck disable=SC1090
. "$env_path"
set +a
fi
exec "${cmd[@]}" "$@"