mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
Preview in Browser wrote each preview into `VectorCraft Save for Web`, and before each preview it removed every file and folder there that was an hour old or older. Where the temporary folder is the shared /tmp, another user could make that folder first, writable by everyone, and the app wrote its previews inside it, in folders that user could read and replace. Where the system follows other users' links in /tmp, the folder could also be a link, and the app removed the old entries of the folder it named. A preview now uses that folder only when it is a folder and not a link, and on Linux, macOS and FreeBSD only when the current user owns it and no other user can write to it. On those systems the folder and each preview's folder are made with mode 0700. The cleanup removes only preview folders, on those systems only those the current user owns. When the shared folder can't be used, the preview goes to a new folder in the temporary folder. A later preview removes such folders once they are an hour old. Docs: docs/target-app-parity.md.