delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/10/17/10:51:40

X-Recipient: archive-cygwin AT delorie DOT 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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; q=dns; s=
default; b=l7/iowCeYmHNtLqs5+2FHiZPVi3ShZ1i9BVJyelQ+Nt2GjAV5VAUu
O68pGQKMoqvMbj8FocqZRtfCfUWlQ4twLHWonuNjw87tlmVJKMXt7AX46A7kZzVo
XIx+XVlAZpMujlCv9uWD3aaPGtMGDxMK2scL6IFI5hSuaqRRJO5Su4=
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:date:from:to:subject:message-id:reply-to
:references:mime-version:content-type:in-reply-to; s=default;
bh=ifQFBaQvcbFwzi3a3bcMQnf5Szc=; b=IZorM8TkC2uSzjNcG7ZYp+9oLmyW
zW2hi/GAnK7f800GxeprJxlu00LcvANTvDgjVYAFzeqcZljJ4KrtbvvIONshTAPU
nAK8vnib0iDth6JktWvKaJlmFC66WEHp4GKpE1ZcSG/ERKf6cmp937MtXucyxG9I
uhmOJ0VRtaQV7P4=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2
X-HELO: calimero.vinschen.de
Date: Fri, 17 Oct 2014 16:51:19 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Cannot exec() program outside of /bin if PATH is unset
Message-ID: <20141017145119.GT2681@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <571726 DOT 85545 DOT bm AT smtp112 DOT sbc DOT mail DOT ne1 DOT yahoo DOT com> <20141010103446 DOT GJ2681 AT calimero DOT vinschen DOT de> <CAO1jNwt5UyB9CDKJdotXUND--mg1sY-5Fu+-ZHf2atM5_=HArA AT mail DOT gmail DOT com> <CAMCbSMrar1Zu4p6gN=gc8-XqE-8RUTmP3er0ujeN--CHKzCNAQ AT mail DOT gmail DOT com> <816144 DOT 8551 DOT bm AT smtp119 DOT sbc DOT mail DOT ne1 DOT yahoo DOT com> <CAMCbSMpWKbSVhVu85_02fN3sgWXiFBkUzjOOAJ6+Jxot8X6E=Q AT mail DOT gmail DOT com> <20141010153925 DOT GL2681 AT calimero DOT vinschen DOT de> <20141014193045 DOT GF2681 AT calimero DOT vinschen DOT de> <54403DCD DOT 7090107 AT t-online DOT de> <20141017091025 DOT GA10087 AT calimero DOT vinschen DOT de>
MIME-Version: 1.0
In-Reply-To: <20141017091025.GA10087@calimero.vinschen.de>
User-Agent: Mutt/1.5.23 (2014-03-12)

--qfY6YPPgxDuMl8bl
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Oct 17 11:10, Corinna Vinschen wrote:
> On Oct 16 23:51, Christian Franke wrote:
> > Corinna Vinschen wrote:
> > >...
> > >I implemented this in the latest snapshot.  It calls SetDllDirectory
> > >on Cygwin's /bin, and dlopen addiotnally tries to load the DLL with
> > >LoadLibraryEx(LOAD_WITH_ALTERED_SEARCH_PATH) if all else failed.
> >=20
> > For some reason, the SetDllDirectory() call has no effect for exec():
> >=20
> > Testcase:
> >=20
> > $ unset PATH
> >=20
> > $ uname -srvm
> > -bash: uname: No such file or directory
> >=20
> > $ /bin/uname -srvm
> > CYGWIN_NT-6.1-WOW64 1.7.33s(0.277/5/3) 20141014 19:44:03 i686
> >=20
> > $ /usr/sbin/alternatives
> > /usr/sbin/alternatives: error while loading shared libraries: ?: cannot=
 open
> > shared object file: No such file or directory
>=20
> Weird.  The same sequence of commands works fine for me on W8,
> W8.1 and W10 64 bit, under i686 as well as x86_64 Cygwin.=20=20
>=20
> [...]
>=20
> but it doesn't on Vista and W7, wow.
>=20
> The question now is, is it because the path given to SetDllDirectory
> is not propagated to child processes on older systems, or is it
> because the directory is only used in calls to LoadLibrary{Ex} on
> older systems.
>=20
> Stay tuned, I have to investigate this.

Ok, so prior to W8, the SetDllDirectory path is not propagated to child
processes :-|

I created a patch and a new snapshot on https://cygwin.com/snapshots/
which calls SetDllDirectory during initialization of every process.
Please give it a try.


Thanks,
Corinna

--=20
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--qfY6YPPgxDuMl8bl
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJUQSznAAoJEPU2Bp2uRE+gnCkP/AwJhtMq0hnnD0Wdl0XQY3Kb
SEQLgoe4T3ykDePM4CADD0IpjW0pNCkzBhExSfj3SYDifPEKwtayaGCuv5BMcWHR
6KYkWNGJMwa8IgFf0C35j+9H43gGabGU4FKLGuWKxt3Hq+qPvFBGFlKm+7ZYtHbF
Y+3jbB5WLlsR0454jCKiYhv1b9RPwTfMjOG9FjlAuEvQPUiYH86HcTdXj9Pl8n2/
z1PWdEw0o8I/HfdKeho06Na7e7Zs968qIbXz+DOjniiNoWnp7xRrFN/XBWi+w147
Q60aSaPPqS/07CAd74VNpGy2ib+v+OCM6pPY/+NAS2lyd4cBwTU6k8+GEDQqFtJk
JiLAdYEAhgPIwtgJcHk3I7X6vjvtAElczARKzJinEOipgGVy+RsK2KBOIHxaPCia
08hzh2InuDi1RVQd+QNetzgsGH1ZZIc8jMhWlwOnPHHnjyBVi50Lcrb89/daoZj1
lx0klTiQ5rKOav150B0hmeOEQfK6HKvW9L9khb2QT6zU6tq4OHGHxC0rMswe43yo
D1+7aFBYYVRYYHLudJ/p0QQgemec9tFYXGPtv0lNZiSsGUCeJRmB7K/mZg8gTahR
PPhTSif/sk4cRPZJh85MJorpDQ5kTcv9MW2wZ/Kw6Sy2BHOuoGLt/DGPshm5JUWv
JQOGE8FebT8sdIifOsQL
=RYKb
-----END PGP SIGNATURE-----

--qfY6YPPgxDuMl8bl--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019