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)
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
Unknown Object (File)
Mon, Apr 8, 6:53 PM
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
Branch
atrest1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 12666
Build 16096: Run Core Tests
Build 16095: arc lint + arc unit

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