chevah/compat — pull request #29 by adiroiban (2014-03-24 10:28:06+00:00)
Title: [#2065] Fix getSegmentsFromRealPath to raise error for path ouside of root.

Problem
------------

When a path is outside of root, getSegmentsFromRealPath just returns the [] root path and ignores the fact that path is not valid

This is why we get errors like this https://trac.chevah.com:10443/ticket/2058 .... as fs.exists() will return True since the broken link is resovled as root.

Why we got here
-----------------------

Most of the time the behavior is harmless... but with the new symlink support a broken link (or link outside of root) will point to root and we don't want that

Changes
-----------

Update the code to raise CompatError

getSegmentsFromRealPath is an ugly method (by desing) but I have no idea how to replace it.

How to test
----------------

reviewers: @alibotean
Check that changes make sense.

I am trying the code on chevah.server and see if it works.

Thanks!