I should clarify some vagueness that was caught by David Wagner --<br><br><div class="gmail_quote">On Thu, Apr 9, 2009 at 4:34 PM,  <span dir="ltr">&lt;<a href="mailto:ihab.awad@gmail.com">ihab.awad@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">* Files provide a &quot;getPath()&quot; up to the closest makeOpaque()-ed directory; and<br>

<br>* Each sandbox  gets a reference to a (usually -- but not always -- makeOpaque()-ed) reference to a directory that serves as its &quot;chroot()-ed jail&quot;.<br></blockquote><div><br clear="all">One more criterion is that no directory (makeOpaque()-ed or not) can resolves a &quot;..&quot; path that traverses past its own level. So, for directory &#39;d&#39;, the following work --<br>
<br>  d.resolve(&#39;foo/bar&#39;);<br>  d.resolve(&#39;baz&#39;);<br>  d.resolve(&#39;a/b/../c&#39;);<br><br>but not --<br><br>  d.resolve(&#39;..&#39;);<br>  d.resolve(&#39;a/b/../../..&#39;);<br></div></div><br>Ihab<br>
<br>-- <br>Ihab A.B. Awad, Palo Alto, CA<br>