Page MenuHomePhabricator

Add support to Files for file storage formats, to support encryption-at-rest
ClosedPublic

Authored by epriestley on Jun 15 2016, 4:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 14, 12:37 PM
Unknown Object (File)
Fri, Dec 6, 12:17 PM
Unknown Object (File)
Tue, Dec 3, 12:11 AM
Unknown Object (File)
Wed, Nov 20, 7:04 AM
Unknown Object (File)
Nov 11 2024, 6:26 AM
Unknown Object (File)
Nov 4 2024, 4:14 PM
Unknown Object (File)
Oct 21 2024, 3:40 AM
Unknown Object (File)
Oct 18 2024, 7:02 AM
Subscribers
None

Details

Summary

Ref T11140. When reading and writing files, we optionally apply a "storage format" to them.

The default format is "raw", which means we just store the raw data.

This change modularizes formats and adds a "rot13" format, which proves formatting works and is testable. In the future, I'll add real encryption formats.

Test Plan
  • Added unit tests.
  • Viewed files in web UI.
  • Changed a file's format to rot13, saw the data get rotated on display.
  • Set default format to rot13:
    • Uploaded a small file, verified data was stored as rot13.
    • Uploaded a large file, verified metadata was stored as "raw" (just a type, no actual data) and blob data was stored as rot13.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Add support to Files for file storage formats, to support encryption-at-rest.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Jun 15 2016, 5:00 PM
This revision was automatically updated to reflect the committed changes.
helladopee added a task: Restricted Maniphest Task.Jun 25 2016, 3:27 AM
chad removed a task: Restricted Maniphest Task.Jun 25 2016, 4:03 AM