mirror of
https://github.com/zulip/zulip.git
synced 2026-06-06 21:12:33 +08:00
When the destination of an extracted file is a symlink to a directory (e.g. in the docker-zulip container, where /home/zulip/uploads -> /data/uploads), modern GNU tar replaces the symlink with a real directory before extracting through it, as a security precaution. As a result, uploads (and potentially configuration files) get restored improper (and, in the case of docker-zulip, non-persistent) paths. Pass `--keep-directory-symlink` to both tar invocations so the extractor follows symlinks-to-directories rather than replacing them. The non-docker case is unaffected (these paths are real directories in a standard install), and the security mitigation is not meaningfully weakened: destinations are pinned to /etc/zulip, /home/zulip/uploads, and zproject, and the archive is one the operator just produced. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| apt-repos | ||
| __init__.py | ||
| compare-settings-to-template | ||
| configure-rabbitmq | ||
| create-database | ||
| create-db.sql | ||
| create-pgroonga.sql | ||
| flush-memcached | ||
| generate_secrets.py | ||
| generate-rabbitmq-cookie | ||
| generate-self-signed-cert | ||
| initialize-database | ||
| install | ||
| pgroonga-config | ||
| reindex-textual-data | ||
| restore-backup | ||
| setup-certbot | ||
| sha256-file-to | ||
| sha256-tarball-to | ||
| terminate-psql-sessions | ||
| upgrade-postgresql | ||