Seshat takes print files up to 10 GB and checks every file for safety
Seshat now takes print files of up to 10 GB, sent in parts that resume after a break, and checks every file a customer sends for viruses and for anything in it that could act on its own.
Print files get large: a catalogue full of photos, a banner of several metres, a book. Seshat now takes them, and checks every file it is given before it works on it.
Large files
- Up to 10 GB per file. The packages send a file over 20 MB in parts of 32 MB by themselves. Nothing changes in your code:
check,fillTemplateand the other calls take large files as they take small ones. - A break is not a restart. A part that fails is sent again; an upload that stopped halfway goes on from where it was with
resumeUpload. - Never whole in memory. Every part goes straight to storage, and Seshat reads the file from there. Files of up to 2 GB are checked and fixed in one piece.
Every file checked for safety
Before Seshat works on a file a customer sends, it checks it:
- Viruses, with signatures updated every day.
- What the file really is, by its contents, not its name: a program called
flyer.pdfis refused. - What could act on its own when the file is opened: scripts, actions that start a program, programs or other files inside the PDF, forms that send data, sound and video.
- Pictures built to exhaust memory rather than to be printed.
The answer carries a safety report: clean, remove (the clean_up fix takes it out before printing) or refuse. A refused file is never kept.
Update to rekhu/core 0.9 for Laravel or @rekhu/core 0.9 for Node.js. The details are on the Seshat docs.