From: SourceForge.net <no...@so...> - 2006-03-16 22:39:27
|
Bugs item #1394972, was opened at 2006-01-01 13:27 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1394972&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 36. File System Group: current: 8.4.12 Status: Open Resolution: None Priority: 5 Submitted By: fvogelnew1 (fvogelnew1) Assigned to: Vince Darley (vincentdarley) Summary: file readable lies for certain XP files Initial Comment: Consider this, on Windows XP or 2000 (replace <my_account> by your real info): file exists "C:/Documents and Settings/<my_account>/NTUSER.DAT" 1 file readable "C:/Documents and Settings/<my_account>/NTUSER.DAT" 1 open "C:/Documents and Settings/<my_account>/NTUSER.DAT" r couldn't open "C:/Documents and Settings/<my_account>/NTUSER.DAT": permission denied How come? I know that Windows has this file permanently open while my session is open, but shouldn't file readable spit 0 instead of 1? Is this perhaps another incarnation of bug 1193497? ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2006-03-16 14:39 Message: Logged In: NO Certainly tclWinFile.c contains code to read ACLs. I believe the code is correct, but, frankly, I don't fully understand this stuff (and why it has to be so complicated, and why there are file vs directory differences). So, do look over the code there, but otherwise it seems this bug report should be closed as 'won't fix - OS limitation'. Vince. ---------------------------------------------------------------------- Comment By: fvogelnew1 (fvogelnew1) Date: 2006-03-16 14:09 Message: Logged In: YES user_id=1245417 Joe, What you say below really makes sense to me. I have worked around this by attempting to open the file and catch the possible error. On 1. and 2. I fully agree. Your question 3. also really makes sense when linked to bug 1193497. For my first tries (Windows only) on files, file readable apparently reads the read permission. For directories however, I'm wondering. It seems to always return 0, regardless of the permissions set. The readonly flag cannot be set through the explorer (see explanations about this in bug 1193497). Francois ---------------------------------------------------------------------- Comment By: Joe Mistachkin (mistachkin) Date: 2006-03-15 15:54 Message: Logged In: YES user_id=113501 1. The "Permission denied" for the NTUSER.DAT file is basically a sharing violation (the OS has it opened for exclusive access). 2. There is no way that I know of on Windows to determine if opening a file will result in a sharing violation without actually attempting to open the file. If the [file readable] code actually did this, it could still end up being inaccurate (race condition; somebody opens the file after you check [file readable] but before you actually open the file). 3. I believe that the intention of [file readable] is to check to see if the user would have permission to open the file based on the file permissions (the DACL on NT). Vince, does the current code check the DACL properly on Windows and the file permissions on Unix? ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2006-03-15 15:12 Message: Logged In: YES user_id=32170 Indeed, even with latest cvs HEAD today, this is still wrong. Any suggestion to how to fix? ---------------------------------------------------------------------- Comment By: fvogelnew1 (fvogelnew1) Date: 2006-03-10 03:55 Message: Logged In: YES user_id=1245417 Downloaded tcl8.5a4 from ftp://ftp.tcl.tk/pub/tcl/tcl8_5/tcl8.5a4rc0-src.tar.gz and installed. Same behavior as in my initial report, therefore not yet fixed. I also tried with Tcl/Tk cvs HEAD (with patch for bug 1193497 geared in). File readable still wrongly spits 1. Francois ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2006-03-10 02:32 Message: Logged In: YES user_id=32170 Please can you check with tcl 8.5a4? ---------------------------------------------------------------------- Comment By: fvogelnew1 (fvogelnew1) Date: 2006-03-05 14:24 Message: Logged In: YES user_id=1245417 Hi, Investigating a bit more on this it is clear that Windows has set a lock on the file I want to read from. I found no way to detect this before trying to open the file in Tcl, so file readable should definitely tell me I can't read it. Any idea? Thanks. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1394972&group_id=10894 |