ID: 15801 Comment by: cbaegert at europeanservers dot net Reported By: vedad at kajtaz dot net Status: No Feedback Bug Type: Filesystem function related Operating System: linux rh PHP Version: 4.1.2 New Comment:
Bug still present in 4.3.3. Very annoying since the only workaround is to manually correct every script if ever the open_basedir path changes ! Previous Comments: ------------------------------------------------------------------------ [2002-12-06 19:12:27] [EMAIL PROTECTED] No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. ------------------------------------------------------------------------ [2002-11-25 08:37:01] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip I am unable to replicate the problem using the latest CVS. ------------------------------------------------------------------------ [2002-03-01 02:34:26] [EMAIL PROTECTED] The reason for the difference comes down to a difference in what happens when a resource that exists is checked via realpath() vs. a resource that does not exist. Often on a copy() operation the source path exists, but the target doesn't. That's obviously not always the case. The open_basedir check needs to be made more advanced and should detect if the resource it is checking does not exist in which case it should step back one level and check that path. If I fell inspired I'll fix it, but if someone else wants to, by all means... ------------------------------------------------------------------------ [2002-02-28 22:14:46] vedad at kajtaz dot net okay, i get the point... but what about include() and upload_tmp_dir ? if there were using the same mechanism as copy() (sorry i never had much to look inside php source and verify by myself), they'd raise an error too, right? (they still point to symlinked path, and they still work, unlike copy() ) ------------------------------------------------------------------------ [2002-02-28 22:10:45] vedad at kajtaz dot net Okay, i finally got it to work... copy() doesnt seem to like symbolic links... when *both* open_basedir and copy(path1, path2) paths are set to the "real" path, copy works... However, that's still weird, as referencing files with symlinked path by other means (auto_prepend_file and upload_tmp_dir config directives and include() ) works without raising open_basedir error... and also because this was working prior to 4.0.6, and, imha, it doesnt make things more secure than before. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/15801 -- Edit this bug report at http://bugs.php.net/?id=15801&edit=1