X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:from:to:reply-to:subject:message-id:date
	:mime-version:content-type:content-transfer-encoding; q=dns; s=
	default; b=QbZ956TiEAfN2p3ZVzwAZnhZdYHW8ADQ6Czu3skHG4LkGffYJm3no
	iYleAQ6a7Julbp2TJqct3eBMTw4nsp/M7XCjftrz/Q7eM2OkkuCN4NrYXhe7xjBh
	ON9pg1HBPtcWDAIUMqMNuiOkD9jGbAcDXgB+/U8mAkCinPd1PsjQAY=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:from:to:reply-to:subject:message-id:date
	:mime-version:content-type:content-transfer-encoding; s=default;
	 bh=xGlN5aT6Vn8E8+ehuVCXoUMgleI=; b=rgl/HJraDhXC+SStb2P7gvKLl82u
	mBvJK9QS/MwiCX4PhwpfAj7nUtlr3ZY7CxFE2TqVVWcIpsmyIEL7cGNV+bxFzIys
	OOGuWAMbO3j/WROB2KDIcTIljEKp2IyRHPM7QuTwAF/g9NyEu+gMSYTbgSvFzcK8
	fv/5fy/dwNfpM6k=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,FREEMAIL_REPLYTO,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=H*r:sk:g12-v6s, panic, H*u:10.0, UD:st_mode
X-HELO: mail-pg1-f182.google.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;        d=gmail.com; s=20161025;        h=from:to:reply-to:subject:message-id:date:user-agent:mime-version         :content-language:content-transfer-encoding;        bh=krzKOXxBA3pV3lFjVPF7GSFXUw6paE7n/cK5JZtdZEg=;        b=ez7kvF16FjcuHmTJklL5vropS1Xl6xSId+YTqtWqDFORXGHdvuC+zxycX7SdHfiMG/         1T7UdC8iI2U55HupRxatNb8XqBTt+//R1aOHr6Q+M5hyEbPMd05SIbvohUR3ixy8kSWw         N61MUmPOWXFh/c+l3WbZGSa7Dyeym8iT/dahcUo1TvgP7bLaFpmWsMWFGf5PXmSUCL8C         N2D9XprN3sm695cNC4cUgLNq40958jc6zra8LlmiODurxMSU3J9tMYS1aTrk7AIT/lwT         A6olqNiPcp+5ow1vp0LmEOZBBdRrQqaT7ph+Hj6Of5IPIq04MvpRL7ARfh2DxjmJolr/         NP8w==
From: "Matt D." <codespunk@gmail.com>
To: cygwin@cygwin.com
Reply-To: codespunk+cygwin@gmail.com
Subject: Cannot use screen when Cygwin is installed on a FAT32 filesystem / chmod does not work on FAT32 directories
Message-ID: <86050286-eb1a-2366-54a4-2cc822a905b5@gmail.com>
Date: Sun, 30 Sep 2018 04:36:25 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

I'm trying to use Cygwin on a Windows machine with the latest release. 
The system in question must run from a filesystem formatted with FAT32 
and therefore inherits the 'noacl' field according to the documentation.

After a clean install and running Cygwin.bat, I am greeted with the 
following error when attempting to call 'screen -ls':

 > $ screen -ls
 > Directory /tmp/uscreens/S-MyUserName must have mode 700.

Note that at this point the /tmp/uscreens directory has been created for 
the first time.

Closing this terminal, reopening it, and calling 'screen -ls' again 
results in the following error:

 > $ screen -ls
 > Directory '/tmp/uscreens' must have mode 777.

The problem is that screen requires that the /tmp/uscreens directory 
have mode 777. This directory is already accessible to 'Everyone' with 
all permissions but is recognized only as 'drwxr-xr-x' (755). This 
appears to be an issue specifically with how permissions are displayed 
on a FAT32 drive as I can confirm that I have never had this issue on an 
NTFS filesystem with the 'noacl' flag specified in fstab.

I thought that I could workaround this by simply patching these checks 
out so I downloaded the source and removing the offending lines:

 > if (((int)st.st_mode & 0777) != n)
 >   Panic(0, "Directory '%s' must have mode %03o.", SockDir, n);
..
 > if ((st.st_mode & 0777) != 0700)
 >   Panic(0, "Directory %s must have mode 700.", SockPath);

This allows screen to run and for screens to be created. But now it 
fails to list any screens.

When no screens exist I get the following output:

 > $ screen -ls
 > No Sockets found in /tmp/uscreens/S-MyUserName

And when screens exists:

 > $ screen -ls
 > There is a screen on:
 > 1 Socket in /tmp/uscreens/S-MyUserName

Notice that a screen is detected (the output is formatted correctly) but 
the screens are not populated in the list.

I'm thinking that this new problem may reside within socket.c of 
screen's source code but I'm not sure.

I have read a number of comments online about these permission errors 
for both Cygwin and various Linux installations. All of them recommend 
either setting the permissions to 777 with chmod or altering the NTFS 
permissions, both of which has no affect on the directory permissions 
for the FAT32 filesystem (but confirmed working on NTFS).

Is there someone available to assist me in looking into this? It appears 
as though I've uncovered a somewhat obscure bug.

Thank you.

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

