Files
felhom.eu/documentation/audits/runtime-fixes-2026-10-28/calibre-web-brotli.txt
T

49 lines
3.5 KiB
Plaintext

# 2026-10-28 09:37Z — calibre-web (demo-hp 9201): does any process load Brotli? (R-1332)
== crocodilestick/calibre-web-automated:v4.0.8@sha256:5e00373854247750cc3e4479b492ae09293ff5e06ed10177f226634d97888679 running
--- python brotli in the image:
/lsiopy/bin/python3: 1.2.0 /lsiopy/lib/python3.13/site-packages/brotli.py
/lsiopy/bin/python3: 1.2.0 /lsiopy/lib/python3.13/site-packages/brotli.py
--- processes (pid comm args) and whether their maps name brotli:
1 s6-svscan brotli-maps=0 :: /package/admin/s6/command/s6-svscan -d4 -- /run/service
10315 sleep brotli-maps= :: sleep 600
10520 sleep brotli-maps= :: sleep 5
10527 sh brotli-maps=0 :: sh -s
1322 python3 brotli-maps= :: python3 /app/calibre-web-automated/cps.py
1420 bash brotli-maps= :: bash ./run cwa-ingest-service
1422 bash brotli-maps=0 :: bash ./run metadata-change-detector
1440 bash brotli-maps=0 :: bash ./run metadata-change-detector
1456 bash brotli-maps=0 :: bash ./run metadata-change-detector
1457 inotifywait brotli-maps= :: inotifywait -m -e close_write -e moved_to --exclude ^.*\.(swp)$ /app/calibre-web-automated/metadata_change_logs
1458 bash brotli-maps=0 :: bash ./run metadata-change-detector
1465 bash brotli-maps= :: bash ./run cwa-ingest-service
1467 bash brotli-maps= :: bash ./run cwa-ingest-service
1481 bash brotli-maps= :: bash ./run cwa-ingest-service
1482 bash brotli-maps= :: bash ./run cwa-ingest-service
1484 bash brotli-maps= :: bash ./run cwa-ingest-service
1485 bash brotli-maps= :: bash ./run cwa-ingest-service
1486 inotifywait brotli-maps= :: inotifywait -m -r --format=%e %w%f -e close_write -e moved_to /cwa-book-ingest
17 s6-supervise brotli-maps=0 :: s6-supervise s6-linux-init-shutdownd
19 s6-linux-init-s brotli-maps=0 :: /package/admin/s6-linux-init/command/s6-linux-init-shutdownd -d3 -c /run/s6/basedir -g 3000 -C -B
221 bash brotli-maps=0 :: bash ./run cwa-auto-zipper
283 sleep brotli-maps=0 :: sleep 69059
290 bash brotli-maps=0 :: bash ./run svc-cron
306 sleep brotli-maps=0 :: sleep infinity
34 s6-supervise brotli-maps=0 :: s6-supervise svc-cron
35 s6-supervise brotli-maps=0 :: s6-supervise cwa-auto-zipper
36 s6-supervise brotli-maps=0 :: s6-supervise s6rc-fdholder
37 s6-supervise brotli-maps=0 :: s6-supervise svc-calibre-web-automated
38 s6-supervise brotli-maps=0 :: s6-supervise s6rc-oneshot-runner
39 s6-supervise brotli-maps=0 :: s6-supervise cwa-ingest-service
40 s6-supervise brotli-maps=0 :: s6-supervise metadata-change-detector
48 s6-ipcserverd brotli-maps=0 :: /package/admin/s6/command/s6-ipcserverd -1 -- /package/admin/s6/command/s6-ipcserver-access -v0 -E -l0 -i data/rules --
== CORRECTION, 09:37Z: inside the container the app process's maps were NOT readable (brotli-maps= empty above, pid 1322 = cps.py), so the in-container check proves nothing for it. Read from the guest (pct exec 9201, /proc/<host pid>/maps):
433919 1000 python3 /app/calibre-web-automated/cps.py
pid 433919 maps lines: 871
/lsiopy/lib/python3.13/site-packages/_brotli.cpython-313-x86_64-linux-gnu.so
/lsiopy/lib/python3.13/site-packages/pillow.libs/libbrotlicommon-53534446.so.1.2.0
/lsiopy/lib/python3.13/site-packages/pillow.libs/libbrotlidec-7e5462ba.so.1.2.0
/usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1.1.0
/usr/lib/x86_64-linux-gnu/libbrotlidec.so.1.1.0
Verdict: cps.py LOADS Python Brotli 1.2.0 (_brotli), Pillow's libbrotlidec 1.2.0 and Debian's libbrotlidec 1.1.0. The 2026-10-28 morning TABLE line „Brotli is NOT loaded" was wrong (it came from the process list, not the maps).