#49620 [Asn->Fbk]: is_writeable does not work using netshare and normal user rights

2009-11-01 Thread pajoye
 ID:   49620
 Updated by:   paj...@php.net
 Reported By:  philipp at servicemail24 dot de
-Status:   Assigned
+Status:   Feedback
 Bug Type: *Directory/Filesystem functions
 Operating System: win32 only - Windows XP SP2
 PHP Version:  5.3.0
 Assigned To:  pajoye
 New Comment:

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/




Previous Comments:


[2009-09-23 09:51:37] paj...@php.net

hi,

Thanks for testing :)

I can reproduce the problem with 2k3. One of the ACL problem is that
the SID may not match (even if the usernames are the same). The problem
goes away as long as there are domain users and not users per machine.

A working example is to have a share on windows XP, with full control
to everyone or read only. In both cases is_readable or is_writable will
return the correct results.

However it is not certain that I can restore 5.2's behavior. 5.2 was
using (_)access, which did not do any kind of ACL checks and miserably
fails for 90% of the cases. Its guest was luckily working for remote
shares, but that's not guaranteed to work in every situation. 5.3 and
later actually relies on AccessCheck API to do real ACL checks.

I'm setting up some more test VMs to try to find a solution. Thanks
again for testing, that's very helpful.




[2009-09-23 09:27:17] philipp at servicemail24 dot de

ok cmd.exe using runas produces the same results.

testuser is a local user account on each system with the same password.
All clients / servers are in the same domain.

Clients are 

Windows XP SP2 GERMAN x86
Windows XP SP3 GERMAN x86

Tested Servers are

Windows 2003 SP2 ENGLISH x64 
- is_readable is working here
- Share Permissions test user full control
- Folder ACL test user full control

Windows 2003 SP2 ENGLISH x86
- neither is_readable nor is_writeable is working here
- Share Permissions testuser full control
- Folder ACL testuser full control

Open-E DSS Server (samba)
- everything is fine



[2009-09-23 08:44:20] paj...@php.net

Please also tell me which windows you use as server and client.



[2009-09-23 08:20:19] paj...@php.net

I'm not sure to see what's the difference with your config.

Questions:

- How did you configure the share (permissions) on 10.1.1.1

- is it a different host than the test machine?

- Pls simply try using runas, I have no idea what runaspc does
internally :). Or simply login using testuser




[2009-09-23 08:10:35] philipp at servicemail24 dot de

I extended my test script with further file sys related functions:

if(@!is_dir($folder)) {
echo('FAILED is_dir: ' . $folder . "\n");
} else {
echo "OK is_dir:  " . $folder . "\n";
}

if ($dh = @opendir($folder)) {
closedir($dh);
echo "OK opendir:  " . $folder . "\n";
} else {
echo('FAILED opendir: ' . $folder . "\n");
}

if(@!is_readable($folder)) {
echo('FAILED is_readable: ' . $folder . "\n");
} else {
echo "OK is_readable:  " . $folder . "\n";
}

if(@!is_writeable($folder)) {
echo('FAILED is_writeable: ' . $folder . "\n");
} else {
echo "OK is_writeable:  " . $folder . "\n";
}

$filename = $folder . '\\test_' . time() . '.txt';
$content = 'php test ' . time();

if(@!file_put_contents($filename, $content)) {
echo('FAILED file_put_contents: ' . $filename . "\n");
} else {
echo "OK file_put_contents:  " . $filename . "\n";
}

if(@!is_readable($filename)) {
echo('FAILED is_readable: ' . $filename . "\n");
} else {
echo "OK is_readable:  " . $filename . "\n";
}

if(@!is_writeable($filename)) {
echo('FAILED is_writeable: ' . $filename . "\n");
} else {
echo "OK is_writeable:  " . $filename . "\n";
}

if(@!file_get_contents($filename) == $content) {
echo('FAILED file_get_contents: ' . $filename . "\n");
} else {
echo "OK file_get_contents:  " . $filename . "\n";
}

if(@!unlink($filename)) {
echo('FAILED unlink: ' . $filename . "\n");
} else {
echo "OK unlink:  " . $filename . "\n";
}

all functions are fine expect is_readable and is_writeable:

5.3.x result:

OK is_dir:  \\10.1.1.1\share
OK opendir:  \\10.1.1.1\share
FAILED is_reada

#49620 [Asn->Fbk]: is_writeable does not work using netshare and normal user rights

2009-09-22 Thread pajoye
 ID:   49620
 Updated by:   paj...@php.net
 Reported By:  philipp at servicemail24 dot de
-Status:   Assigned
+Status:   Feedback
 Bug Type: *Directory/Filesystem functions
 Operating System: win32 only - Windows XP SP2
 PHP Version:  5.3.0
 Assigned To:  pajoye


Previous Comments:


[2009-09-22 14:39:49] paj...@php.net

@Jani
I don't use mails to reply but only the web frontend. This tracker is
almost useless, there is really no need to make it even worst by
polluting issues with unrelated comments :)



[2009-09-22 14:38:50] paj...@php.net

Please try
http://windows.php.net/downloads/qa/test/php-5.3.2-dev-nts-Win32-VC9-x86-200909221530.zip

I have tested it successfully using various shares (and other ACL
related issues).



[2009-09-22 10:11:47] j...@php.net

Why did you add a comment? The link sent to you does not take you to
the "Add comment page" but to the "edit your submission". Next time when
someone asks for feedback, use the proper method in replying.



[2009-09-22 08:58:03] philipp at servicemail24 dot de

php-5.3.2-dev-nts-Win32-VC9-x86 has the same problem.

I run this script using CLI (cmd.exe Terminal running php.exe)



[2009-09-22 08:43:37] paj...@php.net

Under which SAPI do you run it? CLI, FCGI or apache?

Can you try again using
http://windows.php.net/downloads/qa/test/php-5.3.2-dev-nts-Win32-VC9-x86.zip

please?



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/49620

-- 
Edit this bug report at http://bugs.php.net/?id=49620&edit=1