diff options
author | Jakob Unterwurzacher | 2016-04-24 12:42:04 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2016-04-24 12:42:04 +0200 |
commit | de46599a970e2f0d3372a2ea96a3933102b9364d (patch) | |
tree | 141f7e89ab1c07e47c174a8123c2dc93fb230b97 /docs | |
parent | 3dd290f7c0e199572ac0a08a0c48ee1c3162b606 (diff) |
Describe long file name handling
Diffstat (limited to 'docs')
-rw-r--r-- | docs/img/file-name-encryption.svg | 686 | ||||
-rw-r--r-- | docs/img/longnames.svg | 364 | ||||
-rw-r--r-- | docs/security.md | 23 |
3 files changed, 760 insertions, 313 deletions
diff --git a/docs/img/file-name-encryption.svg b/docs/img/file-name-encryption.svg index 45222e2..49eed5c 100644 --- a/docs/img/file-name-encryption.svg +++ b/docs/img/file-name-encryption.svg @@ -1,6 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" @@ -9,175 +7,170 @@ xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="182.44499mm" - height="29.394854mm" - viewBox="0 0 646.45862 104.15498" - id="svg2" version="1.1" + id="svg2" + viewBox="0 0 677.77079 155.50895" + height="43.888088mm" + width="191.28198mm" inkscape:version="0.91 r13725" sodipodi:docname="file-name-encryption.svg"> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1016" + id="namedview71" + showgrid="false" + inkscape:zoom="1.4689425" + inkscape:cx="357.14327" + inkscape:cy="70.698893" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:current-layer="svg2" /> <defs id="defs4"> <marker - inkscape:stockid="Arrow1Mend" + inkscape:isstock="true" + style="overflow:visible" + id="marker4710" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="Arrow1Mstart"> + <path + transform="scale(0.4) translate(10,0)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1" + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " + id="path4712" /> + </marker> + <marker + style="overflow:visible" + id="marker14911" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path14913" /> + </marker> + <marker orient="auto" refY="0" refX="0" - id="marker14911" - style="overflow:visible" - inkscape:isstock="true"> + id="marker9315" + style="overflow:visible"> <path - id="path14913" + id="path9317" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" - transform="matrix(-0.4,0,0,-0.4,-4,0)" - inkscape:connector-curvature="0" /> + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> </marker> <marker - inkscape:isstock="true" - style="overflow:visible" - id="marker9315" - refX="0" - refY="0" orient="auto" - inkscape:stockid="Arrow1Mend"> + refY="0" + refX="0" + id="marker8949" + style="overflow:visible"> <path - inkscape:connector-curvature="0" - transform="matrix(-0.4,0,0,-0.4,-4,0)" + id="path8951" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + <marker + orient="auto" + refY="0" + refX="0" + id="marker8559" + style="overflow:visible"> + <path + id="path8561" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" - id="path9317" /> + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> </marker> <marker - inkscape:isstock="true" style="overflow:visible" - id="marker8949" + id="Arrow1Mend" refX="0" refY="0" - orient="auto" - inkscape:stockid="Arrow1Mend" - inkscape:collect="always"> + orient="auto"> <path - inkscape:connector-curvature="0" transform="matrix(-0.4,0,0,-0.4,-4,0)" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" - id="path8951" /> + id="path4311" /> </marker> <marker - inkscape:isstock="true" style="overflow:visible" - id="marker8559" + id="Arrow1Mend-9" refX="0" refY="0" - orient="auto" - inkscape:stockid="Arrow1Mend" - inkscape:collect="always"> + orient="auto"> <path - inkscape:connector-curvature="0" transform="matrix(-0.4,0,0,-0.4,-4,0)" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" - id="path8561" /> + id="path4311-4" /> </marker> <marker - inkscape:stockid="Arrow1Mend" - orient="auto" - refY="0" - refX="0" - id="Arrow1Mend" style="overflow:visible" - inkscape:isstock="true"> + id="Arrow1Mend-6" + refX="0" + refY="0" + orient="auto"> <path - id="path4311" - d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" transform="matrix(-0.4,0,0,-0.4,-4,0)" - inkscape:connector-curvature="0" /> + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path4311-6" /> </marker> <marker - inkscape:stockid="Arrow1Mend" orient="auto" refY="0" refX="0" - id="Arrow1Mend-9" - style="overflow:visible" - inkscape:isstock="true"> + id="marker8949-8" + style="overflow:visible"> <path - inkscape:connector-curvature="0" - id="path4311-4" + id="path8951-2" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" transform="matrix(-0.4,0,0,-0.4,-4,0)" /> </marker> <marker - inkscape:stockid="Arrow1Mend" - orient="auto" - refY="0" - refX="0" - id="Arrow1Mend-6" style="overflow:visible" - inkscape:isstock="true"> + id="marker14911-3" + refX="0" + refY="0" + orient="auto"> <path - inkscape:connector-curvature="0" - id="path4311-6" - d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + transform="matrix(-0.4,0,0,-0.4,-4,0)" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" - transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path14913-9" /> </marker> <marker - inkscape:isstock="true" style="overflow:visible" - id="marker8949-8" + id="marker14911-4" refX="0" refY="0" - orient="auto" - inkscape:stockid="Arrow1Mend" - inkscape:collect="always"> + orient="auto"> <path - inkscape:connector-curvature="0" transform="matrix(-0.4,0,0,-0.4,-4,0)" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" - id="path8951-2" /> + id="path14913-3" /> </marker> </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.8" - inkscape:cx="290.22759" - inkscape:cy="52.741737" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="true" - showguides="false" - inkscape:window-width="1920" - inkscape:window-height="1016" - inkscape:window-x="0" - inkscape:window-y="27" - inkscape:window-maximized="1" - fit-margin-top="2" - fit-margin-left="2" - fit-margin-right="2" - fit-margin-bottom="2" - inkscape:snap-bbox="true" - inkscape:bbox-nodes="false" - inkscape:snap-bbox-midpoints="false"> - <inkscape:grid - type="xygrid" - id="grid4153" - dotted="true" - units="mm" - spacingx="3.543307" - spacingy="3.5433069" - originx="-116.36615" - originy="-722.62329" /> - </sodipodi:namedview> <metadata id="metadata7"> <rdf:RDF> @@ -186,215 +179,282 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> + <dc:title></dc:title> </cc:Work> </rdf:RDF> </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-116.36614,-225.58383)"> - <rect - style="opacity:1;fill:#b0b0b0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect4273-2" - width="202.06071" - height="70.915802" - x="553.67743" - y="251.7364" /> - <rect - style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect4267-1" - width="180.79115" - height="21.25984" - x="565.06256" - y="260.98331" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="615.98376" - y="244.4257" - id="text4155-7" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977176)"><tspan - sodipodi:role="line" - id="tspan4157-2" - x="615.98376" - y="244.4257" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">Directory X</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="603.37323" - y="275.30154" - id="text4155-88-3" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977176)"><tspan - sodipodi:role="line" - id="tspan4157-9-7" - x="603.37323" - y="275.30154" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">gocryptfs.diriv</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="262.2395" - y="244.6987" - id="text8326" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977178)"><tspan - sodipodi:role="line" - id="tspan8328" - x="262.2395" - y="244.6987" /></text> - <rect - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect3336-9-4-2-0-1" - width="127.61733" - height="21.259842" - x="303.21915" - y="293.23734" - ry="10.629921" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="316.79153" - y="309.39807" - id="text4155-6-5-7-9-1" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977177)"><tspan - sodipodi:role="line" - id="tspan4157-3-0-7-6-8" - x="316.79153" - y="309.39807" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">AES-256-EME</tspan></text> - <path - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker8559)" - d="m 558.97059,270.16733 -169.78791,0.0896 0,17.75633" - id="path8551" - inkscape:connector-curvature="0" - sodipodi:nodetypes="ccc" /> - <path - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker8949)" - d="m 257.92054,303.7971 40.39527,0.0845" - id="path8941" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <rect - style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect4267-1-5" - width="127.61729" - height="21.259859" - x="123.95276" - y="293.23734" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="146.35033" - y="309.52994" - id="text4155-88-3-1" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977177)"><tspan - sodipodi:role="line" - id="tspan4157-9-7-3" - x="146.35033" - y="309.52994" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">"letter.doc"</tspan></text> - <path - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker8949-8)" - d="m 435.14323,303.81321 19.07004,0.0844" - id="path8941-5" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <rect - style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect4267-1-0" - width="180.79115" - height="21.25984" - x="565.17651" - y="293.23734" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="573.47998" - y="308.07574" - id="text4155-88-3-0" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977176)"><tspan - sodipodi:role="line" - id="tspan4157-9-7-0" - x="573.47998" - y="308.07574" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">lrpyui0m-ypX4u0PNJ...</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.10359192px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.72786713px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="304.04675" - y="247.91684" - id="text4155-8-2" - sodipodi:linespacing="125%" - transform="scale(0.99921742,1.0007832)"><tspan - sodipodi:role="line" - id="tspan4157-1-2" - x="304.04675" - y="247.91684" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.01726532px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">Master key</tspan></text> - <rect - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect4271-4" - width="106.3383" - height="21.300985" - x="291.30774" - y="233.17044" /> - <path - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker9315)" - d="m 340.82535,258.96369 0,29.21511" - id="path4825" - inkscape:connector-curvature="0" /> - <path - inkscape:connector-curvature="0" - d="m 332.00759,267.10127 c -2.19348,0 -3.97122,1.77773 -3.97122,3.97121 0,0.30404 0.0341,0.59878 0.0993,0.88266 l -6.07006,6.06851 0,0.9928 0.9928,0.9928 1.98561,0 0.99281,-0.9928 0,-0.9928 0.9928,0 0,-0.9928 0.9928,0 0,-0.9928 1.9856,0 1.09829,-1.09829 c 0.29008,0.0666 0.59102,0.10233 0.90128,0.10233 2.19347,0 3.9712,-1.77773 3.9712,-3.9712 0,-2.19348 -1.77928,-3.96967 -3.9712,-3.96967 z m -3.98518,6.95116 -4.96401,4.96402 0,-0.9928 4.96401,-4.96402 0,0.9928 z m 4.96401,-2.9784 c -0.54759,0 -0.9928,-0.44521 -0.9928,-0.9928 0,-0.54759 0.44521,-0.9928 0.9928,-0.9928 0.5476,0 0.99281,0.44521 0.99281,0.9928 0,0.54759 -0.44521,0.9928 -0.99281,0.9928 z" - id="path7910" - style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-opacity:1" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.01774597px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66333771px;word-spacing:0px;fill:#aa00d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="456.66174" - y="266.66168" - id="text4155-88-3-5-0" - sodipodi:linespacing="125%" - transform="scale(1.0001971,0.99980293)"><tspan - sodipodi:role="line" - id="tspan4157-9-7-3-8" - x="456.66174" - y="266.66168" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00295734px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;fill:#aa00d4">IV</tspan></text> - <rect - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect3336-9-4-2-0-1-0" - width="74.836861" - height="21.259842" - x="459.0206" - y="293.23734" - ry="10.629921" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="468.30588" - y="309.39807" - id="text4155-6-5-7-9-1-8" - sodipodi:linespacing="125%" - transform="scale(1.0002283,0.99977176)"><tspan - sodipodi:role="line" - id="tspan4157-3-0-7-6-8-2" - x="468.30588" - y="309.39807" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">Base64</tspan></text> - <path - style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" - d="m 537.89913,303.81321 19.07004,0.0844" - id="path8941-5-6" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - </g> + <rect + style="opacity:1;fill:#b0b0b0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4273-2" + width="202.06071" + height="70.915802" + x="468.62347" + y="26.152575" /> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4267-1" + width="180.79115" + height="21.25984" + x="480.00861" + y="35.399475" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="528.9505" + y="18.790377" + id="text4155-7" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-2" + x="528.9505" + y="18.790377" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">Directory X</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="464.35181" + y="49.666214" + id="text4155-88-3" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-9-7" + x="517.82275" + y="49.666214" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">gocryptfs.diriv</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="123.21727" + y="19.063375" + id="text8326" + transform="scale(1.0002283,0.99977177)"><tspan + id="tspan8328" + x="123.21727" + y="19.063375" /></text> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3336-9-4-2-0-1" + width="127.61733" + height="21.259842" + x="120.16518" + y="67.653503" + ry="10.629921" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="83.790787" + y="83.762741" + id="text4155-6-5-7-9-1" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-3-0-7-6-8" + x="133.6032" + y="83.762741" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">AES-256-EME</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 477.65721,44.5835 -272.2162,0.0896 0,17.75633" + id="path8551" /> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 105.30558,78.21327 10.23686,0.0845" + id="path8941" /> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4267-1-5" + width="93.019562" + height="21.259859" + x="7.5866094" + y="67.653503" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="-28.663677" + y="83.894608" + id="text4155-88-3-1" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-9-7-3" + x="12.273405" + y="83.894608" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">"letter.doc"</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 252.08926,78.22938 19.07004,0.0844" + id="path8941-5" /> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4267-1-0" + width="180.79115" + height="21.25984" + x="480.12256" + y="67.653503" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="412.46362" + y="82.440414" + id="text4155-88-3-0" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-9-7-0" + x="490.88651" + y="82.440414" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">lrpyui0m-ypX4u0J[...]</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.10359192px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.72786713px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="80.818329" + y="22.509548" + id="text4155-8-2" + transform="scale(0.99921742,1.0007832)"><tspan + id="tspan4157-1-2" + x="121.0671" + y="22.509548" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.01726532px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">Master key</tspan></text> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4271-4" + width="106.3383" + height="21.300985" + x="108.25377" + y="7.5866108" /> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 157.77138,33.37986 0,29.21511" + id="path4825" /> + <path + inkscape:connector-curvature="0" + d="m 148.95362,41.51744 c -2.19348,0 -3.97122,1.77773 -3.97122,3.97121 0,0.30404 0.0341,0.59878 0.0993,0.88266 l -6.07006,6.06851 0,0.9928 0.9928,0.9928 1.98561,0 0.99281,-0.9928 0,-0.9928 0.9928,0 0,-0.9928 0.9928,0 0,-0.9928 1.9856,0 1.09829,-1.09829 c 0.29008,0.0666 0.59102,0.10233 0.90128,0.10233 2.19347,0 3.9712,-1.77773 3.9712,-3.9712 0,-2.19348 -1.77928,-3.96967 -3.9712,-3.96967 z m -3.98518,6.95116 -4.96401,4.96402 0,-0.9928 4.96401,-4.96402 0,0.9928 z m 4.96401,-2.9784 c -0.54759,0 -0.9928,-0.44521 -0.9928,-0.9928 0,-0.54759 0.44521,-0.9928 0.9928,-0.9928 0.5476,0 0.99281,0.44521 0.99281,0.9928 0,0.54759 -0.44521,0.9928 -0.99281,0.9928 z" + id="path7910" + style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-opacity:1;marker-end:" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.01774597px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66333771px;word-spacing:0px;fill:#aa00d4;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="273.64389" + y="41.033386" + id="text4155-88-3-5-0" + transform="scale(1.0001971,0.99980293)"><tspan + id="tspan4157-9-7-3-8" + x="273.64389" + y="41.033386" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00295734px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;fill:#aa00d4">IV</tspan></text> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3336-9-4-2-0-1-0" + width="74.836861" + height="21.259842" + x="275.96664" + y="67.653503" + ry="10.629921" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="259.29968" + y="83.762741" + id="text4155-6-5-7-9-1-8" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-3-0-7-6-8-2" + x="285.96225" + y="83.762741" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">Base64</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 446.92074,78.22938 29.64004,0.0844" + id="path8941-5-6" /> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.03947628;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect5368" + width="45.70974" + height="45.264011" + x="150.62018" + y="291.58447" + transform="matrix(0.83029426,-0.55732526,0.83029426,0.55732526,0,0)" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.10359192px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.72786713px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="358.14301" + y="82.782791" + id="text4155-8-2-4" + transform="scale(0.99921742,1.0007832)"><tspan + id="tspan4157-1-2-7" + x="381.4425" + y="82.782791" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.01726532px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">>255?</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 352.93473,79.00254 9.72,0.0844" + id="path8941-5-6-7" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.10359192px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.72786713px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="401.43661" + y="139.4736" + id="text4155-8-2-4-9" + transform="scale(0.99921742,1.0007832)"><tspan + id="tspan4157-1-2-7-4" + x="401.43661" + y="139.4736" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.01726532px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px" /></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.10359192px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.72786713px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="448.41714" + y="73.639313" + id="text4155-8-2-4-6" + transform="scale(0.99921742,1.0007832)"><tspan + id="tspan4157-1-2-7-7" + x="448.41714" + y="73.639313" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.01726532px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">no</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 404.80432,106.56611 -0.0844,14.92333" + id="path8941-5-6-4" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.10359192px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.72786713px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="412.19815" + y="116.90604" + id="text4155-8-2-4-6-4" + transform="scale(0.99921742,1.0007832)"><tspan + id="tspan4157-1-2-7-7-1" + x="412.19815" + y="116.90604" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.01726532px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">yes</tspan></text> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3336-9-4-2-0-1-0-4" + width="202.07074" + height="21.259842" + x="303.90424" + y="126.66251" + ry="10.629921" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="229.24414" + y="142.7852" + id="text4155-6-5-7-9-1-8-3" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-3-0-7-6-8-2-2" + x="316.49915" + y="142.7852" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">long file name handling</tspan></text> </svg> diff --git a/docs/img/longnames.svg b/docs/img/longnames.svg new file mode 100644 index 0000000..2cf1684 --- /dev/null +++ b/docs/img/longnames.svg @@ -0,0 +1,364 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + version="1.1" + id="svg2" + viewBox="0 0 687.79717 138.28399" + height="39.026821mm" + width="194.11165mm" + inkscape:version="0.91 r13725" + sodipodi:docname="longnames.svg"> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1682" + inkscape:window-height="797" + id="namedview58" + showgrid="false" + inkscape:zoom="2.8950581" + inkscape:cx="467.97533" + inkscape:cy="132.10996" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="0" + inkscape:current-layer="svg2" /> + <defs + id="defs4"> + <marker + style="overflow:visible" + id="marker7513" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path7515" /> + </marker> + <marker + style="overflow:visible" + id="DotS" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(0.2,0,0,0.2,1.48,0.2)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path6608" /> + </marker> + <marker + orient="auto" + refY="0" + refX="0" + id="marker6467" + style="overflow:visible"> + <path + id="path6469" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + <marker + style="overflow:visible" + id="marker14911" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path14913" /> + </marker> + <marker + orient="auto" + refY="0" + refX="0" + id="marker9315" + style="overflow:visible"> + <path + id="path9317" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path4311" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend-9" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path4311-4" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend-6" + refX="0" + refY="0" + orient="auto"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + id="path4311-6" /> + </marker> + <marker + orient="auto" + refY="0" + refX="0" + id="marker8949" + style="overflow:visible"> + <path + id="path8951" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + <marker + orient="auto" + refY="0" + refX="0" + id="marker8949-9" + style="overflow:visible"> + <path + id="path8951-3" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> + </marker> + </defs> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <rect + style="opacity:1;fill:#b0b0b0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4273-2" + width="274.79169" + height="77.519493" + x="405.91885" + y="31.826931" /> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4267-1" + width="258.29117" + height="21.25984" + x="417.30399" + y="39.927364" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="506.43866" + y="128.10651" + id="text4155-7" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-2" + x="506.43866" + y="128.10651" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">Directory X</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="421.01343" + y="55.057564" + id="text4155-88-3" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-9-7" + x="421.01343" + y="55.057564" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">gocryptfs.longname.[hash].name</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="114.51466" + y="-3.5516858" + id="text8326" + transform="scale(1.0002283,0.99977177)"><tspan + id="tspan8328" + x="114.51466" + y="-3.5516858" /></text> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3336-9-4-2-0-1" + width="76.188766" + height="21.259842" + x="202.9758" + y="12.682918" + ry="10.629921" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="182.57887" + y="28.779608" + id="text4155-6-5-7-9-1" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-3-0-7-6-8" + x="211.46852" + y="28.779608" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">SHA256</tspan></text> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4267-1-0" + width="171.75362" + height="21.25984" + x="2.2294824" + y="12.682918" /> + <rect + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect3336-9-4-2-0-1-0" + width="74.836861" + height="21.259842" + x="311.73792" + y="12.682918" + ry="10.629921" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="297.06235" + y="28.779608" + id="text4155-6-5-7-9-1-8" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-3-0-7-6-8-2" + x="323.72491" + y="28.779608" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start">Base64</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker8949)" + d="m 178.0405,23.27359 19.57606,0.0845" + id="path8941" /> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999982;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker8949-9)" + d="m 285.02647,23.25677 20.37632,0.0845" + id="path8941-7" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="86.500496" + y="28.1807" + id="text4155-88-3-0" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-9-7-0" + x="86.500496" + y="28.1807" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle">lrpyui0m-ypX4u0J[...]</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker14911)" + d="m 391.55368,22.29831 199.7411,0 0,13.40393" + id="path6259" /> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#DotS);marker-end:url(#marker6467)" + d="m 185.97339,23.294985 0,29.13961 226.24516,0" + id="path6459" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="301.09375" + y="68.734352" + id="text4155-88-3-0-6" + transform="scale(1.0002283,0.99977176)"><tspan + x="301.09375" + y="68.734352" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle" + id="tspan7261">long name stored</tspan><tspan + x="301.09375" + y="87.488625" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle" + id="tspan7269">in .name file</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:start;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="280.10657" + y="18.48731" + id="text4155-88-3-0-6-5" + transform="scale(1.0002283,0.99977176)"><tspan + x="392.32825" + y="18.48731" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:start;letter-spacing:0px;text-anchor:start" + id="tspan7269-5">hash used fort short file name</tspan></text> + <rect + style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4267-1-8" + width="258.29117" + height="21.25984" + x="416.83432" + y="73.659081" /> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';letter-spacing:67.66544342px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="420.54388" + y="88.796974" + id="text4155-88-3-07" + transform="scale(1.0002283,0.99977176)"><tspan + id="tspan4157-9-7-1" + x="420.54388" + y="88.796974" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px">gocryptfs.longname.[hash]</tspan></text> + <text + sodipodi:linespacing="125%" + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:90.02054596px;line-height:125%;font-family:Arial;-inkscape-font-specification:'Arial Bold';text-align:center;letter-spacing:67.66544342px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="303.16571" + y="129.60388" + id="text4155-88-3-0-6-7" + transform="scale(1.0002283,0.99977176)"><tspan + x="303.16571" + y="129.60388" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.00342369px;font-family:sans-serif;-inkscape-font-specification:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle" + id="tspan7269-6">file content</tspan></text> + <path + inkscape:connector-curvature="0" + style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker7513)" + d="M 351.84771,123.85346 412.08392,95.507" + id="path7505" /> +</svg> diff --git a/docs/security.md b/docs/security.md index d43201a..fa74294 100644 --- a/docs/security.md +++ b/docs/security.md @@ -51,3 +51,26 @@ encryption.  The Base64 encoding limits the usable filename length to 176 characters. +Filenames that are longer than that (longer than 255 characters in Base64- +encoded form) use long file name handling (since gocrytfs v0.9). + +Long File Name Handling +----------------------- + +If the Base64-encoded encrypted name is longer than 255 characters, +it cannot be used as the file name on disk, as Linux filesystems +do not allow names longer than that. + +Instead, the encrypted name is hashed, and the file content is stored in +`gocryptfs.longname.[hash]`. The long file name is stored in a support +file, `gocryptfs.longname.[hash].name`. + + + +This method for storing long file names has zero performance impact +for filenames that are <= 176 characters, incurs no extra disk accesses +for opening a file with a long name, and just one extra file read for each +long-name file on readdir(1). + +Because the hash is only taken from the encrypted file name, there is no +security penalty for using long names. |