Subject: Cygwin dll: UID and GID information not shown from remote drive
From: Jari Aalto <[email-masked]>
To: [email-masked]
Cc: Corinna Vinschen <[email-masked]>
Date: Tue, 13 Dec 2011 16:24:22 +0200
List-Id: <cygwin.cygwin.com>

** To CC Emacs BTS, use 10257(at)debbugs.gnu.org

My full original bug report was sent initially to Emacs, because the editor
started considering remotes file as read-only and requiring confirmation
after every save. See:

    http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10257

It appears that Cygwin doesn't show UID and GID on Network drives (Win 7
x64), that are connected with windows "Map Network Drive" to a
Debian/Samba(2.3.5.11):

    $ ls -la /cygdrive/z/tmp/test-epackage.el
    -rwxr--r-- 1 ???????? ???????? 437 Dec  9 20:02 /cygdrive/z/tmp/test-epackage.el

Ken Brown <kbrown <at> cornell.edu>, the Cygwin Emacs maintainer, answered
in original bug report suggesting to contact Cygwin mailing list to see if
anything could be done at Cygwin DLL side:

    | emacs uses file-writable-p, which calls check_writable() (defined in
    | fileio.c), which calls euidaccess().  That explains why emacs thinks
    | the file is not writable when Cygwin can't determine the UID.  It
    | would certainly be possible to make check_writable() use a different
    | method of determining writability on Cygwin, as it already does on
    | MSDOS.  But I still think it would be best to try to fix this in
    | Cygwin first.
    |
    | >The Disk drive has been mapped with Standard Windows "Map network
    | >drive" feature.
    | 
    | So why don't you ask on the Cygwin list whether access() and
    | euidaccess() can be taught to give the "right" answer for files on
    | such drives.  Or maybe the question is simply whether Cygwin can be
    | taught to determine the correct UID.

I'm hoping the Cygwin DLL developer(s) could share their thoughts
on this to thelp the Emacs team.

Jari

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