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
F13137397: D16122.diff
Thu, May 2, 6:44 PM
Unknown Object (File)
Mon, Apr 29, 2:09 PM
Unknown Object (File)
Wed, Apr 24, 10:13 PM
Unknown Object (File)
Fri, Apr 19, 10:29 AM
Unknown Object (File)
Thu, Apr 18, 7:24 AM
Unknown Object (File)
Tue, Apr 16, 7:55 PM
Unknown Object (File)
Fri, Apr 12, 6:16 AM
Unknown Object (File)
Fri, Apr 12, 2:44 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