ID:               42096
 Updated by:       [EMAIL PROTECTED]
 Reported By:      michael202 at gmx dot de
-Status:           Open
+Status:           Feedback
 Bug Type:         Streams related
 Operating System: Windows only
 PHP Version:      5.2.3
 New Comment:

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows (zip):
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

For Windows (installer):

  http://snaps.php.net/win32/php5.2-win32-installer-latest.msi

Some fixes regarding this and other issue alike where fixed recently.


Previous Comments:
------------------------------------------------------------------------

[2007-07-25 08:48:13] michael202 at gmx dot de

Description:
------------
calling is_dir() with an UNC path truncates each part of the path. The
last character is missing.

This results in unnecessary errors (on the host side) and slowdowns (on
client side).


Reproduce code:
---------------
windows only (php 5.2.3, Windows XP with cmd.exe) and linux host.

<?php
$p = '\\hostA\volumeB\dirC';
echo(is_dir($p) . "\n");

and then trace network IO for service/port SMB.

Beware of posssible side effects though caching of SMB connections

Expected result:
----------------
no error messages in /var/log/messages on 'hostA'

Actual result:
--------------
I traced these SMB Commands sent over the network:

Connect AndX Request \\hostA\IPC$
Connect AndX Request \\hostA\volume -> STATUS_BAD_NETWORK_NAME
FindFirst2, Pattern: \dir

these are in /var/log/messages in 'hostA'
  ... smbd/service.c:make_connection(252)
  ... couldn't find service volume




I think this is another problem with tsrm_virtual_cwd.c where around
line 500 state_cwd_length is set to 2 if a slash is found at the
beginning. Perhaps the existence of UNC paths is not checked for.



------------------------------------------------------------------------


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

Reply via email to