Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Sat, 20 Apr 2002 10:05:07 -0700 (PDT) From: Richard Troy X-X-Sender: To: Subject: The Server Daemon Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi All, So, I'm trying to get started with implementing the honoring of the suid bit by cygwin. I've downloaded the source and performed a build (which failed - the tail of make.log is below). So, I jumped into the source directory and looked at what was there. I started with the cygserver* files, as, if I'm not mistaken, that's where I'd need to be working... I went on to read the ROADMAP and most how-*.txt files, exec.cc, and other important looking files. As a recap, what I need from cygwin is the honoring of the suid bit, so that execution of an image with this bit set is executed in the context of the user identified in the file system as owner. I'd also be happy with any other alternative which lets my application code run in a security context other than that of the user without having to give that user any special privileges. There were a number of things in there that I _didn't_ see, most notably some documentation on the intended architecture of the daemon/server. I didn't find any working copies of it either. ...In reading the code, it's clear to me that I need some help understanding the architecture. What is this code intended to do? Is it intended to move the cygwin shared memory into a protected environment to close the existing security hole? Or, just what were the motives for creating it? What's its development status? I noticed comments about not being thread-safe in parts - what's up with that? There's talk of running two instances simultaneously someday - how does that fit into development plans? How is it installed and loaded? How do I give it privileges? And, as an asside, comments about things like this would be great to have in the source code itself! Yes, I could write the individuals mentioned in the source, but Corinna dictated that we should keep our dialogues here. In deference to her, I'm posting here... Your input greatly appreciated. Richard ___ Tail of make.log ___ c++ -L/d/d1/RT/cygwin/obj/i686-pc-cygwin/winsup -L/d/d1/RT/cygwin/obj/i686-pc-cy gwin/winsup/cygwin -L/d/d1/RT/cygwin/obj/i686-pc-cygwin/winsup/w32api/lib -isyst em /d/d1/RT/cygwin/src/winsup/include -isystem /d/d1/RT/cygwin/src/winsup/cygwin /include -isystem /d/d1/RT/cygwin/src/winsup/w32api/include -isystem /d/d1/RT/cygwin/src/newlib/libc/sys/cygwin -isystem /d/d1/RT/cygwin/src/newlib/libc/sys/cyg win32 -B/d/d1/RT/cygwin/obj/i686-pc-cygwin/newlib/ -isystem /d/d1/RT/cygwin/obj/ i686-pc-cygwin/newlib/targ-include -isystem /d/d1/RT/cygwin/src/newlib/libc/include -MMD -g -O2 -mno-cygwin -I. -I/d/d1/RT/cygwin/src/winsup/cinstall -I/d/d1/RT/cygwin/src/winsup/mingw/include -I/d/d1/RT/cygwin/src/winsup/bz2lib -mwindows -c -o mklink2.o ../../../../src/winsup/cinstall/mklink2.cc ../../../../src/winsup/cinstall/mklink2.cc: In function `void make_link_2(const char *, const char *, const char *, const char *)': ../../../../src/winsup/cinstall/mklink2.cc:24: cannot convert `CLSID_ShellLink' from type `const GUID' to type `const CLSID *' ../../../../src/winsup/cinstall/mklink2.cc:25: cannot convert `IID_IPersistFile' from type `_GUID' to type `const IID *' make[2]: *** [mklink2.o] Error 1 make[2]: Leaving directory `/d/d1/RT/cygwin/obj/i686-pc-cygwin/winsup/cinstall' make[1]: *** [cinstall] Error 1 make[1]: Leaving directory `/d/d1/RT/cygwin/obj/i686-pc-cygwin/winsup' make: *** [all-target-winsup] Error 2 Any ideas what went wrong? -- Richard Troy, Chief Scientist Science Tools Corporation rtroy AT ScienceTools DOT com, 510-567-9957, http://ScienceTools.com/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/