win: Remove use of rpcrt4 and advapi32 from some util code

ConvertStringSecurityDescriptorToSecurityDescriptor() is used when
creating the initial connection pipe. Because this is done from inside
DllMain(), we cannot use advapi32 (where this function is). Instead,
save the binary representation of the self-relative SECURITY_DESCRIPTOR.
It is conceivable that this could change, but unlikely as this is the
same blob that would be stored on a file in NTFS.

Another potential approach would be to not make the pipe available to
all integrity levels here, and instead modify the Chromium sandbox code
to allow a specific pipe name prefix that would have to correspond with
the pipe name that Crashpad creates.

Similarly, UuidCreate() (used when initializing the database) is in a
DLL that can't be loaded early, so use the Linux/Android implementation
on Windows too.

R=mark@chromium.org
BUG=chromium:655788,chromium:656800

Change-Id: I434f8e96fc275fc30d0a31208b025bfc08595ff9
Reviewed-on: https://chromium-review.googlesource.com/417223
Reviewed-by: Mark Mentovai <mark@chromium.org>
6 files changed
tree: 2a07bc925e7b19e6e8b74193b1c3308ef5a6c771
  1. build/
  2. client/
  3. compat/
  4. doc/
  5. handler/
  6. minidump/
  7. snapshot/
  8. test/
  9. third_party/
  10. tools/
  11. util/
  12. .clang-format
  13. .gitignore
  14. AUTHORS
  15. codereview.settings
  16. CONTRIBUTORS
  17. crashpad.gyp
  18. DEPS
  19. LICENSE
  20. navbar.md
  21. package.h
  22. README.md
README.md

Crashpad

Crashpad is a crash-reporting system.

Documentation

Source Code

Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.

Other Links