www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/01/25/09:33:38

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <497C7785.3000605@dazjorz.com>
Date: Sun, 25 Jan 2009 15:30:29 +0100
From: Sjors Gielen <mailinglist AT dazjorz DOT com>
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
MIME-Version: 1.0
To: Eric Blake <ebb9 AT byu DOT net>
CC: cygwin AT cygwin DOT com, debian-kcygwin-devel AT lists DOT sourceforge DOT net,
Ed Schouten <ed AT 80386 DOT nl>
Subject: Re: [bugreport] Two slashes should not indicate remote machine or special directory
References: <497C6D52 DOT 5050504 AT dazjorz DOT com> <497C72F8 DOT 8040503 AT byu DOT net>
In-Reply-To: <497C72F8.8040503@byu.net>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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.

- Sjors

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019