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
F15862674: D16122.id38790.diff
Sat, May 31, 8:10 AM
Unknown Object (File)
Fri, May 30, 3:57 AM
Unknown Object (File)
Thu, May 8, 4:38 PM
Unknown Object (File)
Apr 7 2025, 12:55 PM
Unknown Object (File)
Apr 7 2025, 9:52 AM
Unknown Object (File)
Apr 6 2025, 3:27 AM
Unknown Object (File)
Mar 31 2025, 8:52 PM
Unknown Object (File)
Mar 29 2025, 2:10 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