Git commands in TPSH Helpers: Non-zero exit status 128
Mit dem Security Update des git Clients wurden die CVE-2022-24765 und CVE-2022-24767 gepatched.
Da der Webserver Nutzer und Ownership zum Repo unterschiedlich sind tritt nun der folgende Fehler auf:
[wsgi:error] [pid XXXXXXX:tid XXXXXXXXXX] [remote XXX.XXX.XXX.XXX:XXXXXX] Error - <class 'subprocess.CalledProcessError'>: Command '['git log -n 1 --format=%H']' returned non-zero exit status 128
Die entsprechende Funktion der helpers_tpsh.py
könnte daher robuster gestaltet werden:
def git_commit_hash():
current_dir = os.path.dirname(os.path.abspath(__file__))
try:
command = 'git log -n 1 --format=%H'
except:
return 'unknown'
return subprocess.check_output([command], shell=True, cwd=current_dir) // <--- sollte ans Ende des Try Blocks
Prinzipiell könnte man auch die Rechtestruktur anpassen und den Webserver unter einem anderen Nutzer ausführen, der auch der Owner ist oder dessen .gitconfig
entsprechende Repos als save deklariert:
git config --global --add safe.directory /path-to-my/ckanext-odsh
Da die Funktion im ODSH allerdings nicht mehr benötigt wird, soll der entsprechende Code einfach entfernt werden.