#568 new defect

frontend: immutable check/verify/repair doesn't need the decryption key — at Version 3

Reported by: zooko Owned by:
Priority: major Milestone: soon
Component: code-frontend-web Version: 1.2.0
Keywords: confidentiality verify repair usability tahoe-check wui anti-censorship excess-authority Cc: leif@…
Launchpad Bug:

Description (last modified by warner)

For immutable files, Check/Verify/Repair? could do its work with only a verify cap, but currently the WAPI and the CLI seem to require a read cap. To fix this, relax the requirements of those front-ends so that they can make do with only a verify cap.

Change History (3)

comment:1 Changed at 2009-01-06T19:23:36Z by warner

I think that immutable check/verify/repair can work with only a verifycap, and that the internal classes (immutable.checker.Checker, immutable.repairer.Repairer) use verifycaps. The limitation is that the immutable FileNode class is the only way to get at the check() method, and it must be constructed with a readcap.

My thought is to create a new VerifierNode class, constructed with a verifycap. This class will provide the ICheckable interface, which is the one that contains the check() method.

The mutable checker/verifier should be able to work from a verifycap, so I'm thinking we can use the same technique (MutableVerifierNode.check). Mutable repair, however, requires a writecap, to generate the correct write-enabler on the new shares (so that writers can modify the new shares in the future). So MutableVerifierNode.check(repair=True) must be disallowed. One of the goals for DSA-based mutable files is to fix this limitation.

comment:2 Changed at 2009-01-22T23:49:24Z by zooko

Let's release allmydata-tahoe-1.3.0 before fixing this ticket.

comment:3 Changed at 2009-01-22T23:50:34Z by warner

  • Description modified (diff)
  • Summary changed from frontend: check/verify/repair doesn't need the decryption key to frontend: immutable check/verify/repair doesn't need the decryption key
Note: See TracTickets for help on using tickets.