filepaths, uris, safemode, etc..
| From: | Rob Richards | Date: | Tue, 30 Sep 2003 11:52:08 +0000 |
| Subject: | filepaths, uris, safemode, etc.. | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-4613@lists.php.net to get a copy of this message | ||
Within the dom extension, I am trying to resolve an issue with uris and local filepaths which are
passed to libxml.
When I get the filepath, I need to resolve any local filepaths to an absoulte path. On top of this
the safemode checks need to be done before passing any of these to libxml.
So far I started with taking the user supplied source string and running that through the safemode
checks.
If this passes, then the source is tested as follows:
If uri, then it is passed to libxml, otherwise it gets passed through expand_filepath and the
resolved path is passed to libxml.
It has been noted that file uris should not be passed in directly, but go through the same path
resolutions as local files and that the following block of code be used instead of just using
expand_filepath on all non uri and file uri source strings:
#ifdef VIRTUAL_DIR
virtual_filepath_ex(source, &resolved_path, NULL TSRMLS_CC);
#else
resolved_path = source;
#endif
My problem is that if VIRTUAL_DIR is not defined, then the resolved path ends up being the origional
source supplied, which means that relative paths are not resolved. Also, should the path resolutions
be done before the safemode checks?
On top of this I am looking at allowing additional registered streams to be used, so not sure if
that would change any of this.
What is the correct way to implement this?
Thanks,
Rob