On Aug 31, 2011, at 11:29 AM, Anders Broman wrote:

> N.B The case I'm refereeing to is "when run from build directory" presumably 
> the "user" is the one who built it.
> And if you call Wireshark with environment variables set hopefully you know 
> what you are doing...

That would require a 100% safe way to determine when you're running from the 
build directory, with "100% safe" meaning "there's no way to fool Wireshark 
into thinking it's being run from the build directory when it's not".  
"WIRESHARK_RUN_FROM_BUILD_DIRECTORY is set" is clearly not 100% safe, as 
anybody can set it.  "The directory containing the executable image is named 
".libs"" is reliable only if:

        1) that directory is *not* found by looking at argv[0], as argv[0] can 
be set arbitrarily by the user if they write their own code to run Wireshark;

        2) that directory is *not* found by dladdr() looking at argv[0] or 
anything else controllable by the user.

I think that may well be equivalent to "only if you're running on Mac OS X", OS 
X being the only UN*X I know of where the exec* calls pass an absolute path to 
the executable along with the argument list and environment (done, I think, for 
the benefit of app bundles), and I'm not even sure that's guaranteed not to be 
foolable by playing games with symbolic links.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to