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
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