Changes between Version 12 and Version 13 of Capabilities


Ignore:
Timestamp:
2011-08-07T15:37:32Z (13 years ago)
Author:
davidsarah
Comment:

formatting

Legend:

Unmodified
Added
Removed
Modified
  • Capabilities

    v12 v13  
    2222
    232313: unknown/future capability strings                     <anything else>
     24}}}
    2425
    2526In Tahoe-LAFS, mutable directories are built out of mutable files (a mutable directory is really
     
    2829uploaded into immutable files by default.
    2930
    30 Some capabilities can be used to derive others. If you have #1, you can
    31 derive #2 (but not the other way around). The full table is:
    32 
     31Some capabilities can be used to derive others. If you have !#1, you can
     32derive !#2 (but not the other way around). The full table is:
     33{{{
    3334  write   read  verify
    3435  --------------------
     
    4041           #9          }  dircaps
    4142   #10 -> #11 -> #12   }
     43}}}
    4244
    4345Deriving a weaker capability from a strong one is called "diminishing" the stronger one.
    4446
    45 So we use "filecap" to talk about #1..6, but (since most files are immutable)
    46 we're usually talking about #1. We use "dircap" to talk about #7..12.
    47 We use "readcap" to talk about #{1,3,5,7,9,11}, but usually we refer to
    48 #{7,9,11} as a "directory readcap". We use "writecap" to talk about #4 and #10.
     47So we use "filecap" to talk about !#1..6, but (since most files are immutable)
     48we're usually talking about !#1. We use "dircap" to talk about !#7..12.
     49We use "readcap" to talk about !#{1,3,5,7,9,11}, but usually we refer to
     50!#{7,9,11} as a "directory readcap". We use "writecap" to talk about !#4 and !#10.
    4951
    50 A "literal cap" or "LIT cap" stores the contents of a small file (#3) or
    51 directory (#9) in the capability itself.
     52A "literal cap" or "LIT cap" stores the contents of a small file (!#3) or
     53directory (!#9) in the capability itself.
    5254
    5355A "verifycap" is the weakest capability that still allows every bit of every
    5456share to be validated (hashes checked, signatures verified, etc). That means
    55 #{2,6,8,12}.
     57!#{2,6,8,12}.
    5658
    5759When we talk about a "repaircap", we mean "the weakest capability that can
    5860still be used to repair the file". Given the current limitations of the
    59 repairer and our webapi, that means we're talking about #{1,4,7,10}.
    60 Eventually we'll fix this limitation, and any verifycap should be useable as
    61 a repaircap too. (There's much less work involved to let #2 repair a file or
    62 #8 repair a directory... it's just an incomplete API, rather than a fundamental
     61repairer and our web-API, that means we're talking about !#{1,4,7,10}.
     62Eventually we'll fix this limitation, and any verifycap should be usable as
     63a repaircap too. (There's much less work involved to let !#2 repair a file or
     64!#8 repair a directory... it's just an incomplete API, rather than a fundamental
    6365redesign of the server protocol.)
    6466
     
    6870filesystem. It might be remembered in the allmydata.com rootcap database
    6971(indexed by account name plus password), or it might be remembered in a
    70 ~/.tahoe/private/aliases file, or it might just be written down on a piece
     72{{{~/.tahoe/private/aliases}}} file, or it might just be written down on a piece
    7173of paper. The point is that you have to start from somewhere, and we refer
    7274to such a starting point as a "rootcap".
    73 
    74 }}}