This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
/WINDOWS
- From: Corinna Vinschen <vinschen at redhat dot com>
- To: cygwin-apps at cygwin dot com
- Date: Mon, 8 Dec 2003 11:29:27 +0100
- Subject: /WINDOWS
- Reply-to: cygwin-apps at cygwin dot com
Hi,
There are a bunch of applications, which, for security reasons, want to
set $PATH to a fixed value. This approach is a bit tricky on Windows,
since the needed paths to the Windows system directories are not fixed
values as it's on POSIX systems. A lot of applications are falling back
to values like _PATH_DEFPATH or _PATH_STDPATH and use them to set $PATH
before starting another application. Sshd, login, cron are just three
of them. The current patches to all three applications are so that the
code which sets $PATH before exec'ing another process is not executed
when built for Cygwin.
I think a better approach is this: Let's generalize the idea of a fixed
path to the Windows system directories. I suggest, that one of the base
install scripts creates a symlink "/WINDOWS" like this:
ln -s `cygpath -m "$WINDIR"` /WINDOWS
This allows to keep the above described code to set $PATH in the
affected tools, just by redefining, say _PATH_DEFPATH like this:
#ifdef _PATH_DEFPATH
#undef _PATH_DEFPATH
#define _PATH_DEFPATH "/usr/bin:/bin:/WINDOWS/system32:/WINDOWS:/WINDOWS/COMMAND/WINDOWS/system32/Wbem"
#endif
which contains both, NT and 9x paths. We could perhaps even change
/usr/include/paths.h to reflect this, at one point.
Opinions?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin@cygwin.com
Red Hat, Inc.