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
F18873964: D16122.id.diff
Nov 5 2025, 12:25 PM
F18867882: D16122.diff
Nov 4 2025, 3:22 AM
F18813423: D16122.diff
Oct 20 2025, 4:22 PM
F18751691: D16122.id.diff
Oct 4 2025, 12:12 PM
F18745884: D16122.id38792.diff
Oct 3 2025, 10:08 AM
F18744709: D16122.diff
Oct 3 2025, 3:53 AM
F18733372: D16122.id.diff
Sep 30 2025, 10:33 PM
F18673382: D16122.id.diff
Sep 25 2025, 10:25 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