This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [bugreport] Two slashes should not indicate remote machine or special directory


On Sun, Jan 25, 2009 at 03:30:29PM +0100, Sjors Gielen wrote:
> Eric Blake schreef:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> According to Sjors Gielen on 1/25/2009 6:46 AM:
>>> Hey all,
>>>
>>> In Cygwin (the CVS version), it seems paths starting with two slashes
>>> are "special paths" for accessing remote machines or bypassing the mount
>>> table.
>>>
>>> This however is incompatible with Linux, where i.e. //etc is a valid
>>> path. See, for example: (`ls` indicators removed for readability)
>> Not only is it perfectly compatible with Linux, but it is allowed by
>> POSIX.  This is a design decision that all portable programs must be aware
>> of - you cannot blindly use '//' to mean '/', and not just because of 
>> cygwin.
>> http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_266
>> http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_12
>> "A pathname that begins with two successive <slash> characters may be
>> interpreted in an implementation-defined manner, although more than two
>> leading <slash> characters shall be treated as a single <slash> 
>> character."
>>> Therefore, I'm suggesting to remove "//" as a
>>> special path from conv_to_win32_path.
>> Won't happen.  We've intentionally defined it as a synonym for Windows
>> \\server\share notation.
>
> I figured this was by design, but I didn't know there was an explicit 
> exception in POSIX for this.
> However, as I'm sure you're aware, there are a lot of Linux applications 
> which depend on, for example, //etc being the same as /etc. These all have 
> to be patched to use ///etc or /etc.
>
> How much of Cygwin will be broken if we remove //remoteserver as an 
> equivalent to Windows \\remoteserver? Wouldn't it be a better solution to 
> provide an alternative for //remoteserver, i.e. /cygdrive/net/remoteserver 
> or maybe even net://remoteserver or smb://remoteserver? This would fix both 
> the problem with Linux compatibility, and still leave this feature in 
> Cygwin.

We are not going to change this very long standing Cygwin behavior.  It is not
a bug.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]