How can I detect WINE from my program?

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
James Mckenzie

How can I detect WINE from my program?

Post by James Mckenzie »

Tahtu <[email protected]> [Wine] Re: How can I detect WINE from my program?

vitamin wrote:
However keep in mind that fixing Wine is always a most preferred solution.
8 month ago I reported a bug - together with a suggestion how to fix it inside the source code. I was just one line to change.
As a long term software tester I will advise this:

If you find a problem and the solution, do not bury the solution. You should have submitted a git differental file to wine-devel or wine-patches rather than wait for your bug to be fixed by someone else. The real problem is that you complain about this many months after the fact.

BTW, what was the issue number? Lastly, what makes you think that your problem is fixed?

James McKenzie
oiaohm
Level 8
Level 8
Posts: 1020
Joined: Fri Feb 29, 2008 2:54 am

Post by oiaohm »

Vincent Povirk ignorance is bliss.

Selinux strict policy for Wine makes attempting to run /bin/sh a fatal mistake for application. Reason wine itself never uses it same with trying to read /proc or /etc again wine does not interface with lots of stuff in there.

Sorry Vincent Povirk you are the same as may Windows developers who have driven businesses nuts on windows trying to run in a limited account. Most systems in the Linux world don't have selinux set strict.

Either you are coding for Linux or you are not. Coding for Linux and respecting businesses who could use your applications demands no secrets. Highest percentage of people running selinux strict are doing it for business secuirty reasons. All coders would be wise to follow the old school Linux developers and document what features that may require special permissions your applications use some where. This does help people running OS's restricted.

Idea of breaking down on processes selinux already does that. Breaking down into libs selinux already can do that. Simple fact the process as a security divide point is old school. It has been found to be far to broad and dependant on application developers to deal with secuirty problems. Sorry business and others may have to run insecure applications and use the secuirty system of the OS to render the security flaws useless to do business. The very thing you said about everything having possible flaws is the cause of finer and finer controls.

Tahtu there are a lot of reason why some bugs take ages to fix.

1) Patch is not made aware to project maintainer is very high up there.
2) Patch submitter not following up on patch to find out what was wrong with it.
3) Patch being a hack. Wine rules for patches say implementation of features must be done where able. Not just answer what application expects.

I know from personal experience with rollcage I created 8 different patches only to have one of the wine3d developers be telling me sorry you have missed. That breaks a stack of other applications. I was problem hiding. In the end the wine3d developers I was talking found the bug it was that rollcage was being that 1 feature too many existed.

Turned out rollcage was badly coded windows never for that application ever told rollcage that a feature existed. Yet if you used MS direct X software rendering rollcage would get told the feature existed and screw up exactly like wine was. Turned out hardware drivers never did tell old applications that that feature was on offer.

So really wine was never truly wrong. Its been corrected to match hardware answers since. I spend many months in irc and the like with both of us trying to work out what in hell was going wrong.

Idea that bug fixing is a straight forward process is wrong Tahtu. Talking to developers in mailling list and irc are useful tools.
Vincent Povirk

How can I detect WINE from my program?

Post by Vincent Povirk »

Selinux strict policy for Wine makes attempting to run /bin/sh a fatal mistake for application. Reason wine itself never uses it same with trying to read /proc or /etc again wine does not interface with lots of stuff in there.
http://source.winehq.org/search?string=/bin/sh

http://source.winehq.org/search?string=/proc

http://source.winehq.org/search?string=/etc

That's not never. That is, in fact, sometimes.
Sorry Vincent Povirk you are the same as may Windows developers who have driven businesses nuts on windows trying to run in a limited account.   Most systems in the Linux world don't have selinux set strict.

Either you are coding for Linux or you are not.   Coding for Linux and respecting businesses who could use your applications demands no secrets.  Highest percentage of people running selinux strict are doing it for business secuirty reasons.   All coders would be wise to follow the old school Linux developers and document what features that may require special permissions your applications use some where.   This does help people running OS's restricted.
You know, I actually tried running Windows in a limited account once.
I discovered something shocking: IT DOESN'T WORK.

This is what happens when you add restrictions on top of an existing
system (instead of, say, designing a new one with restrictions in mind
as Sugar did). Some things stop working. That's the point.

There are, however, important differences between limited accounts and
what you've been describing. When you cross over the boundaries of
what a limited account allows, the OS simply reports an error to the
application. This makes it possible for the application to continue to
function even if it attempts to do something that is not allowed. The
other difference: the boundaries defined by a limited account are
sensible and clearly explained. To function in a limited account, all
that's really needed is to keep settings in the user-specific area
(code/program data can be in a common, non-writeable area or in a
user-specific area as in a "portable" app).

Contrast this with a system in which the security policies are
completely arbitrary. There's no general principle (that you've
explained) governing the security policy. You've described a system in
which every program and library can have completely arbitrary
restrictions imposed on it because "it never needs to do that" and
crossing over these unknown boundaries is fatal.

If a security system doesn't make things easy for me, I won't make
things easy for its users. If I can add functionality to my program by
doing something unusual, I'm going to do it. I'm not going to think
"Oh, but what if someone arbitrarily decided that on his computer that
operation will terminate my program and possibly cause him to lose
work?" I'll fail gracefully and move on if the operation fails, as any
sane system (including limited accounts) will make graceful failures
possible.

If you want me to worry about SELinux, give me general, sensible rules
that I can apply to every program I develop. Don't give me this
"pretend Wine is a sandbox or your program will be terminated" crap.
Locked