This is the mail archive of the cygwin-apps 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] |
I have discovered that there is an issue with imapd when installed on Vista/W7. When started through inetd, any imap connection is preauthenticated onto the cyg_server account running the inetd Windows service.
I have traced the issue to the root uid emulation employed by the Cygwin specific code, used to correct the Unix model of only uid 0 being privileged. It only performs the emulation if the SYSTEM user is the process owner.
Cygwin uses cyg_server as a necessary alternative for all releases Windows 2003 server onwards.
There are two solutions here. The first I consider a workaround. The /usr/share/doc/Cygwin/uw-imap-2007.README could document that a user could remap the uids of SYSTEM and cyg_server in /etc/passwd so that cyg_server took SYSTEMS RID 18 as its uid.
The second is the patch (that can be applied to the cygport ./uw-imap-2007-2.cygport prepare 'ed source) I have attached. The patch checks the gids for the process (using POSIX getgroups()) and searches for the Administrators group RID 544. The attached patch describes this non-direct approach to identifying cyg_server, and avoiding preauth.
Regards, Shaddy
PS: I segued onto this from my screen debugging because I remembered this issue, and thought it might be related to any potential problem with the Cygwin privilege model. Time permitting, I will be getting back onto that problem (as it does block me from using screen properly).
Attachment:
cyg_server_for_imapd_patch.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |