Apparently the first commit (59ae429972c16c377135bcccfee646b7df446933)
did not include all files.
Furthermore the used script tended to produce funny results in certain
cases. This has been fixed and as a result thereof a few more changes
were made in this second run.
excludecheck.cpp/excludecheck.h.
This commit adds an 'excludecheck' module to the Windows overlay DLL that
implements the exclusion logic for the Mumble overlay.
It implements the new launcher filter mode, as well as the traditional
whitelist and blacklist-based approaches.
The rules for the launcher filter mode are:
- Is the process blacklisted? Don't allow the overlay.
- Is the process whitelisted? Allow the overlay.
- Does the process's executable live in a whitelisted path? Allow the
overlay.
- Is one of the process's ancestors in the launcher whitelist? Allow the overlay.
- Otherwise, disallow overlaw.
These simple rules, along with some sane defaults allow much finer-grained
control over the overlay -- and it allows us to ship a default profile
where we practically only inject into games.