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
F15473940: D16122.diff
Sun, Apr 6, 3:27 AM
F15460185: D16122.id38792.diff
Mon, Mar 31, 8:52 PM
F15453758: D16122.id.diff
Sat, Mar 29, 2:10 PM
F15453072: D16122.id38790.diff
Sat, Mar 29, 9:11 AM
F15448386: D16122.diff
Fri, Mar 28, 4:34 AM
F15375960: D16122.id38790.diff
Thu, Mar 13, 1:00 AM
Unknown Object (File)
Feb 27 2025, 8:01 AM
Unknown Object (File)
Feb 9 2025, 1:49 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
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