New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 769590 link

Starred by 5 users

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Feature



Sign in to add a comment

[chrome_elf third_party] Tracking ticket for enabling third-party module control in ELF.

Project Member Reported by penny...@chromium.org, Sep 28 2017

Issue description

Tracking ticket for multiple dependent CLs involved in turning this on in browser process.

(Ref: child processes: https://bugs.chromium.org/p/chromium/issues/detail?id=750886)

0.5) chrome_elf_import_unittests: https://chromium-review.googlesource.com/691555 
1) NtRegistry enumeration: https://chromium-review.googlesource.com/673830
2) whitelist_ime: https://chromium-review.googlesource.com/680396
3) New chrome_elf SHA1 support: https://chromium-review.googlesource.com/742194
4) whitelist packed file: https://chromium-review.googlesource.com/734204
5) whitelist packed file 2: https://chromium-review.googlesource.com/794551
6) whitelist load attempt logging: https://chromium-review.googlesource.com/847894
7) Rename everything from 'whitelist' to more generic 'third_party*': https://chromium-review.googlesource.com/890118
8) New centralized pe_image_safe, for uncontrolled or partial input, and bits of code refactoring for next CL: https://chromium-review.googlesource.com/957347
9) Code refactoring & adjustments for coming hook.  Also shell of hook files.  https://chromium-review.googlesource.com/982492
10) New hook (not turned on yet) CL: https://chromium-review.googlesource.com/990552
11) Full third_party_dlls testing, including the new hook: https://chromium-review.googlesource.com/1069694
12) Turn on new hook, remove old "blacklist" hook.  (This still won't enable the new blocking.) https://chromium-review.googlesource.com/1076972
13) Adjustment to pass expanded blacklist file path via registry.  CL: https://chromium-review.googlesource.com/1109600
14) Centralize histogram status codes and transmit via registry.  CL: https://chromium-review.googlesource.com/1128562
15) Change log format to pass values instead of hashes.  Preserve full path case.  CL: https://chromium-review.googlesource.com/1136660
16) Handle spammy block logs across drains.  CL: https://chromium-review.googlesource.com/1140512
 
Labels: -Type-Bug -Pri-3 Pri-2 Type-Feature
Description: Show this description
Description: Show this description
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a9753d0f5e574c286bf70875742f56a5345da4b4

commit a9753d0f5e574c286bf70875742f56a5345da4b4
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Oct 02 16:57:45 2017

[chrome_elf tests] Pull import tests out into new unittest.

This isolates the huge dependency on chrome.exe, so that dev
is way faster and solution filters are smaller, etc.
No change to the tests.

TEST=new chrome_elf_import_unittests.exe

NOTRY=true

Bug: 769590
Cq-Include-Trybots: master.tryserver.chromium.win:win10_chromium_x64_rel_ng
Change-Id: Ie6a1a8ca106f2424de69502748ee40133f7ca66c
Reviewed-on: https://chromium-review.googlesource.com/691555
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Robert Shield <robertshield@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505651}
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/BUILD.gn
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/chrome_elf/BUILD.gn
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/chrome_elf/elf_imports_unittest.cc
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/chrome_elf/run_all_unittests.cc
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/testing/buildbot/chromium.win.json
[modify] https://crrev.com/a9753d0f5e574c286bf70875742f56a5345da4b4/testing/buildbot/gn_isolate_map.pyl

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/191c5780ceb2afd7025e1f2b80fd083768dd1a04

commit 191c5780ceb2afd7025e1f2b80fd083768dd1a04
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue Oct 03 17:24:37 2017

[NtRegistry] APIs to help with enumeration added.

QueryRegEnumerationInfo() and QueryRegSubkey().
Also added test suite.

BUG=769590
TEST=chrome_elf_unittests.exe, NtRegistryTest.*

Cq-Include-Trybots: master.tryserver.chromium.win:win10_chromium_x64_rel_ng
Change-Id: I6fb1c08c361c6d9fff001cbe67f9b43da4a988d8
Reviewed-on: https://chromium-review.googlesource.com/673830
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506086}
[modify] https://crrev.com/191c5780ceb2afd7025e1f2b80fd083768dd1a04/chrome_elf/nt_registry/nt_registry.cc
[modify] https://crrev.com/191c5780ceb2afd7025e1f2b80fd083768dd1a04/chrome_elf/nt_registry/nt_registry.h
[modify] https://crrev.com/191c5780ceb2afd7025e1f2b80fd083768dd1a04/chrome_elf/nt_registry/nt_registry_unittest.cc
[modify] https://crrev.com/191c5780ceb2afd7025e1f2b80fd083768dd1a04/sandbox/win/src/nt_internals.h

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c4dcff94673178249525a771354cd19dcfe510c

commit 6c4dcff94673178249525a771354cd19dcfe510c
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Oct 23 20:00:41 2017

[chrome_elf whitelist] Add IME whitelist initial support.

Includes initialization testing.
Not turned on yet, and doesn't include module load hook logic or comparison APIs yet.
Whitelist database support to follow.

TBR=dcheng@chromium.org (depends-on paths in DEPS for base?)
BUG=769590
TEST=chrome_elf_unittests.exe, Whitelist.*

Cq-Include-Trybots: master.tryserver.chromium.win:win10_chromium_x64_rel_ng
Change-Id: I47a148d3a8c770dbaed1a2f98c3fd726de768caf
Reviewed-on: https://chromium-review.googlesource.com/680396
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510885}
[modify] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/BUILD.gn
[modify] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/OWNERS
[add] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/whitelist/DEPS
[add] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/whitelist/whitelist.cc
[add] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/whitelist/whitelist.h
[add] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/whitelist/whitelist_ime.cc
[add] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/whitelist/whitelist_ime.h
[add] https://crrev.com/6c4dcff94673178249525a771354cd19dcfe510c/chrome_elf/whitelist/whitelist_ime_unittest.cc

Description: Show this description
Description: Show this description
Description: Show this description
Project Member

Comment 10 by bugdroid1@chromium.org, Nov 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d53dfefd812f67715c584eb435348c5b217a4ad

commit 6d53dfefd812f67715c584eb435348c5b217a4ad
Author: Penny MacNeil <pennymac@chromium.org>
Date: Fri Nov 03 20:20:51 2017

[chrome_elf] Add a tiny SHA1 string hash source_set.

(Code taken from base/sha1.*.)

BUG=769590
TEST=chrome_elf_unittests.exe, SHA1Test.*

Change-Id: Ife457801650800e1c3e34653e2bfc68f9c5b801d
Reviewed-on: https://chromium-review.googlesource.com/742194
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Robert Shield <robertshield@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513892}
[modify] https://crrev.com/6d53dfefd812f67715c584eb435348c5b217a4ad/chrome_elf/BUILD.gn
[add] https://crrev.com/6d53dfefd812f67715c584eb435348c5b217a4ad/chrome_elf/sha1/sha1.cc
[add] https://crrev.com/6d53dfefd812f67715c584eb435348c5b217a4ad/chrome_elf/sha1/sha1.h
[add] https://crrev.com/6d53dfefd812f67715c584eb435348c5b217a4ad/chrome_elf/sha1/sha1_unittest.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4571479cece3b0bd70653692f5240a0866950d0

commit f4571479cece3b0bd70653692f5240a0866950d0
Author: Penny MacNeil <pennymac@chromium.org>
Date: Thu Nov 16 00:37:24 2017

[chrome_elf whitelist] Add whitelist file initial support.

Not called yet.  Plumbs in initialization from a packed whitelist file
supplied out of band, and the exported IsModuleWhitelisted functionality.
Also includes tests.

BUG=769590
TEST=chrome_elf_unittests.exe, WhitelistFileTest.*

Cq-Include-Trybots: master.tryserver.chromium.win:win10_chromium_x64_rel_ng
Change-Id: Ib93b5af525b8bcc228664188acc83106262da900
Reviewed-on: https://chromium-review.googlesource.com/734204
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516918}
[modify] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/BUILD.gn
[modify] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/whitelist/DEPS
[add] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/whitelist/whitelist_file.cc
[add] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/whitelist/whitelist_file.h
[add] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/whitelist/whitelist_file_format.h
[add] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/whitelist/whitelist_file_unittest.cc
[modify] https://crrev.com/f4571479cece3b0bd70653692f5240a0866950d0/chrome_elf/whitelist/whitelist_ime.h

Description: Show this description
Project Member

Comment 13 by bugdroid1@chromium.org, Dec 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/18126c184964ec0ca0e0add934dd00edb650293c

commit 18126c184964ec0ca0e0add934dd00edb650293c
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue Dec 12 21:06:46 2017

[chrome_elf whitelist] Adjust whitelist file support.

- kFileNotFound and kArraySizeZero now treated as kSuccess.
- Updated shared definitions in whitelist_packed_format source set.  New timestamp
to track last load attempt in local cache.  Added relative path and file name too.
- Decision made to check is_sorted on array during init.
The array will be smaller than in original design, so speed hit will be minimal.
- New tests.

BUG=769590
TEST=chrome_elf_unittests.exe, WhitelistFileTest.*

Change-Id: I45c4321ccdf89d8768509c0dad21c9c15f73c4e3
Reviewed-on: https://chromium-review.googlesource.com/794551
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523544}
[modify] https://crrev.com/18126c184964ec0ca0e0add934dd00edb650293c/chrome_elf/BUILD.gn
[modify] https://crrev.com/18126c184964ec0ca0e0add934dd00edb650293c/chrome_elf/whitelist/whitelist_file.cc
[modify] https://crrev.com/18126c184964ec0ca0e0add934dd00edb650293c/chrome_elf/whitelist/whitelist_file.h
[modify] https://crrev.com/18126c184964ec0ca0e0add934dd00edb650293c/chrome_elf/whitelist/whitelist_file_unittest.cc
[add] https://crrev.com/18126c184964ec0ca0e0add934dd00edb650293c/chrome_elf/whitelist/whitelist_packed_format.cc
[rename] https://crrev.com/18126c184964ec0ca0e0add934dd00edb650293c/chrome_elf/whitelist/whitelist_packed_format.h

Description: Show this description
Description: Show this description
Project Member

Comment 16 by bugdroid1@chromium.org, Jan 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/73cde6de3a8cc68f8e8a79320fec0de0103aa11c

commit 73cde6de3a8cc68f8e8a79320fec0de0103aa11c
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Jan 29 22:56:53 2018

[chrome_elf whitelist] Add whitelist logging support.

- Log all blocked or allowed attempts.
- Export API to drain log, and to register for log notification.
- New tests.

BUG=769590
TEST=chrome_elf_unittests.exe, Whitelist*

Change-Id: I4f1ec911efbe3eada231aa36b0fadceb3756521e
Reviewed-on: https://chromium-review.googlesource.com/847894
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#532643}
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/BUILD.gn
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/chrome_elf_x64.def
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/chrome_elf_x86.def
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/sha1/sha1.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/sha1/sha1.h
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_file.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_file.h
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_file_unittest.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_ime.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_ime.h
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_ime_unittest.cc
[add] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_log.cc
[add] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_log.h
[add] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_log_unittest.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_packed_format.cc
[modify] https://crrev.com/73cde6de3a8cc68f8e8a79320fec0de0103aa11c/chrome_elf/whitelist/whitelist_packed_format.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/99cefd86a19336e14205e156c64bd7ab8554286b

commit 99cefd86a19336e14205e156c64bd7ab8554286b
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue Jan 30 22:33:01 2018

[chrome_elf third_party] Big rename of "whitelist" code to "third_party*".

Remove using very specific names like whitelist/blacklist.  Make file and code
names more generic where it should be.

TBR=dcheng@chromium.org
TEST=chrome_elf_unittests.exe, ThirdParty*

BUG: 769590
Change-Id: I9f4d43825b1ba256ff18061b69ecba070d62c975
Reviewed-on: https://chromium-review.googlesource.com/890118
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533048}
[modify] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/BUILD.gn
[modify] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/chrome_elf_x64.def
[modify] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/chrome_elf_x86.def
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/DEPS
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/imes.cc
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/imes.h
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/imes_unittest.cc
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/logs.cc
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/logs.h
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/logs_unittest.cc
[add] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/main.cc
[add] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/main.h
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/packed_list_file.cc
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/packed_list_file.h
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/packed_list_format.cc
[rename] https://crrev.com/99cefd86a19336e14205e156c64bd7ab8554286b/chrome_elf/third_party_dlls/packed_list_format.h
[delete] https://crrev.com/00bb6c1ad2119bb2da9b70c5b73f79bd17bf5f01/chrome_elf/whitelist/whitelist.cc
[delete] https://crrev.com/00bb6c1ad2119bb2da9b70c5b73f79bd17bf5f01/chrome_elf/whitelist/whitelist.h

Summary: [chrome_elf third_party] Tracking ticket for enabling third-party module control in ELF. (was: [chrome_elf whitelist] Tracking ticket for enabling third-party whitelist in ELF.)
Description: Show this description
Project Member

Comment 20 by bugdroid1@chromium.org, Apr 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fc911cb02ae76c82d8928fa8d9d7023b19e90586

commit fc911cb02ae76c82d8928fa8d9d7023b19e90586
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Apr 02 18:36:13 2018

[chrome_elf, third-party block support] pe_image_safe and code refactoring.

1) Add pe_image_safe project.
2) Rename packed_list_format to shared_defines, and all references.
3) Expose blacklist::DllMatch(), with new wrapper, in preparation for next CL.
4) Adjusted IMEs.cc to use the new centralized pe_image_safe source set.

TBR=grt@chromium.org
Bug=769590
Test=chrome_elf_unittests.exe

Change-Id: Ice1272506237164e97e45d54901f4ec7712b2475
Reviewed-on: https://chromium-review.googlesource.com/957347
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Penny MacNeil <pennymac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547472}
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/BUILD.gn
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/blacklist/blacklist.cc
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/blacklist/blacklist.h
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/blacklist/blacklist_interceptions.cc
[add] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/pe_image_safe/pe_image_safe.cc
[add] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/pe_image_safe/pe_image_safe.h
[add] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/pe_image_safe/pe_image_safe_unittest.cc
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/DEPS
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/imes.cc
[add] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/logging_api.cc
[add] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/logging_api.h
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/logs.h
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/logs_unittest.cc
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/fc911cb02ae76c82d8928fa8d9d7023b19e90586/chrome_elf/third_party_dlls/packed_list_format.h

Description: Show this description
Project Member

Comment 22 by bugdroid1@chromium.org, Apr 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/376601cf7294a1035d28e51785a9151748562a0c

commit 376601cf7294a1035d28e51785a9151748562a0c
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Apr 02 20:42:48 2018

[chrome_elf, third-party block support] code refactoring and adjustments for hook.

1) third_party_dlls cleanup on init failure.
2) LogLoadAttempt() arguments now std::strings.
3) IsModuleListed() now takes hashes instead of data. (In practice, the caller needs to
hold the hashes.)
4) Expose GetFingerprintHash() utility function from packed_list_file files, which
takes required data and generates the expected hash string.
5) Drop in an empty shell for the hook files.  Next CL will include the contents.

Bug=769590
Test=chrome_elf_unittests.exe, ThirdParty*

Change-Id: I541e489cf9dc2dd1448b84b283ca96593f025c13
Reviewed-on: https://chromium-review.googlesource.com/982492
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547513}
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/BUILD.gn
[add] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/hook.cc
[add] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/hook.h
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/imes.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/imes.h
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/imes_unittest.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/logs.h
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/logs_unittest.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/main.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/main.h
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/376601cf7294a1035d28e51785a9151748562a0c/chrome_elf/third_party_dlls/packed_list_format.h

Project Member

Comment 23 by bugdroid1@chromium.org, Apr 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/62cadc1e83bd25cd8be4145a8dd935a4e2e89376

commit 62cadc1e83bd25cd8be4145a8dd935a4e2e89376
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Apr 16 23:18:58 2018

[chrome_elf, third-party block support] New hook (not turned on yet).

- Filled in all of the hook code.
- Basic shell for new 'main' testing, which will interface with the
black-box third_party_dlls project and test the whole thing with the
hook in place.  In an effort to keep this CL a reasonable size for review,
the more in-depth testing will be in the next CL.
- Also small adjustments to existing code: pe_image_safe::RVAToAddr()
needs to be public; blacklist::DLLMatch() will do a full conversion just to
be safe (it is deprecated and will be deleted soon).
NOTE: none of this code is active in the wild yet.

Bug=769590
Test=chrome_elf_unittests.exe, ThirdParty*

Change-Id: Ic50195ac966691c796f621ee7716b43e3e8cf660
Reviewed-on: https://chromium-review.googlesource.com/990552
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551165}
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/BUILD.gn
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/blacklist/blacklist.cc
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/pe_image_safe/pe_image_safe.cc
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/pe_image_safe/pe_image_safe.h
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/DEPS
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/main.cc
[add] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/main_unittest.cc
[add] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/main_unittest_exe.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/62cadc1e83bd25cd8be4145a8dd935a4e2e89376

commit 62cadc1e83bd25cd8be4145a8dd935a4e2e89376
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Apr 16 23:18:58 2018

[chrome_elf, third-party block support] New hook (not turned on yet).

- Filled in all of the hook code.
- Basic shell for new 'main' testing, which will interface with the
black-box third_party_dlls project and test the whole thing with the
hook in place.  In an effort to keep this CL a reasonable size for review,
the more in-depth testing will be in the next CL.
- Also small adjustments to existing code: pe_image_safe::RVAToAddr()
needs to be public; blacklist::DLLMatch() will do a full conversion just to
be safe (it is deprecated and will be deleted soon).
NOTE: none of this code is active in the wild yet.

Bug=769590
Test=chrome_elf_unittests.exe, ThirdParty*

Change-Id: Ic50195ac966691c796f621ee7716b43e3e8cf660
Reviewed-on: https://chromium-review.googlesource.com/990552
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551165}
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/BUILD.gn
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/blacklist/blacklist.cc
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/pe_image_safe/pe_image_safe.cc
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/pe_image_safe/pe_image_safe.h
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/DEPS
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/main.cc
[add] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/main_unittest.cc
[add] https://crrev.com/62cadc1e83bd25cd8be4145a8dd935a4e2e89376/chrome_elf/third_party_dlls/main_unittest_exe.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Apr 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4328a3dea6e618ab82e01018e10024c7fe6d65f5

commit 4328a3dea6e618ab82e01018e10024c7fe6d65f5
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue Apr 17 18:14:48 2018

[chrome_elf, third-party block support] pe_image_safe HMODULE ctor.

Only mark PEImageSafe instance as NTLoader memory mapped via the
new HMODULE constructor.

R=grt@chromium.org
Bug=769590
Test=chrome_elf_unittests.exe, ThirdParty*

Change-Id: I6615a00a04ad667cb4676f21769598aca1f659b5
Reviewed-on: https://chromium-review.googlesource.com/1003143
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551396}
[modify] https://crrev.com/4328a3dea6e618ab82e01018e10024c7fe6d65f5/chrome_elf/pe_image_safe/pe_image_safe.h

Project Member

Comment 26 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c24de69532cb26cc199bb07f9ebfa6730bc26e2

commit 2c24de69532cb26cc199bb07f9ebfa6730bc26e2
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue May 29 17:05:17 2018

[chrome_elf, third-party block support] full hook testing.

Adding some full tests, including some corner cases.  These tests
initialize the whole third_party_dlls project, to exercise the new hook.

Non-test adjustments:
- pe_image_safe: |directory| == 0 is valid!  (export dir)
- hook:  Exposed a GetDataFromImageForTesting() function.
  Also a few fixes in the hook shim:
  * Use the PEImageSafe constructor that takes an HMODULE.
  * Use the new GetFingerprintString() api.
  * Don't hash an empty image or section name.
  * Pass a name hash instead of non-hashed into LogLoadAttempt
    if a DLL was allowed.
- packed_list_file:
  * GetFingerprintHash() removed from this project.
  * Also, gracefully handle a blacklist file that exists, but is empty.
- packed_list_format:
  * Added "new" GetFingerprintString() API here.
    It centralizes the format string without doing the hash.

Test: chrome_elf_unittests.exe, ThirdPartyTest.*
Bug: 769590
Change-Id: I592f76b884312bb267eb6747a478e271fc96e689
Reviewed-on: https://chromium-review.googlesource.com/1069694
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562467}
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/BUILD.gn
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/pe_image_safe/pe_image_safe.cc
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/pe_image_safe/pe_image_safe.h
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/DEPS
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/hook.h
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/main_unittest.cc
[add] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/main_unittest_dll_1.cc
[add] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/main_unittest_dll_2.cc
[add] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/main_unittest_dll_2.def
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/main_unittest_exe.cc
[add] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/main_unittest_exe.h
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/2c24de69532cb26cc199bb07f9ebfa6730bc26e2/chrome_elf/third_party_dlls/packed_list_format.h

Description: Show this description
Project Member

Comment 28 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/57b6b5db93e13247c7496f69a7f8760662d822e2

commit 57b6b5db93e13247c7496f69a7f8760662d822e2
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Tue May 29 19:17:50 2018

Revert "[chrome_elf, third-party block support] full hook testing."

This reverts commit 2c24de69532cb26cc199bb07f9ebfa6730bc26e2.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 562467 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzJjMjRkZTY5NTMyY2IyNmNjMTk5YmIwN2Y5ZWJmYTY3MzBiYzI2ZTIM

Sample Failed Build: https://ci.chromium.org/buildbot/chromium.win/Win7%20Tests%20%28dbg%29%281%29/69346

Sample Failed Step: chrome_elf_unittests

Original change's description:
> [chrome_elf, third-party block support] full hook testing.
> 
> Adding some full tests, including some corner cases.  These tests
> initialize the whole third_party_dlls project, to exercise the new hook.
> 
> Non-test adjustments:
> - pe_image_safe: |directory| == 0 is valid!  (export dir)
> - hook:  Exposed a GetDataFromImageForTesting() function.
>   Also a few fixes in the hook shim:
>   * Use the PEImageSafe constructor that takes an HMODULE.
>   * Use the new GetFingerprintString() api.
>   * Don't hash an empty image or section name.
>   * Pass a name hash instead of non-hashed into LogLoadAttempt
>     if a DLL was allowed.
> - packed_list_file:
>   * GetFingerprintHash() removed from this project.
>   * Also, gracefully handle a blacklist file that exists, but is empty.
> - packed_list_format:
>   * Added "new" GetFingerprintString() API here.
>     It centralizes the format string without doing the hash.
> 
> Test: chrome_elf_unittests.exe, ThirdPartyTest.*
> Bug: 769590
> Change-Id: I592f76b884312bb267eb6747a478e271fc96e689
> Reviewed-on: https://chromium-review.googlesource.com/1069694
> Commit-Queue: Penny MacNeil <pennymac@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#562467}

Change-Id: I46cf1feddbc80a60ca92b44152d2f7ad0ef865e7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 769590
Reviewed-on: https://chromium-review.googlesource.com/1077029
Cr-Commit-Position: refs/heads/master@{#562542}
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/BUILD.gn
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/pe_image_safe/pe_image_safe.cc
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/pe_image_safe/pe_image_safe.h
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/DEPS
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/hook.h
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/main_unittest.cc
[delete] https://crrev.com/3b81b85f3120fab9a4681ba685f726025ac9c7ff/chrome_elf/third_party_dlls/main_unittest_dll_1.cc
[delete] https://crrev.com/3b81b85f3120fab9a4681ba685f726025ac9c7ff/chrome_elf/third_party_dlls/main_unittest_dll_2.cc
[delete] https://crrev.com/3b81b85f3120fab9a4681ba685f726025ac9c7ff/chrome_elf/third_party_dlls/main_unittest_dll_2.def
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/main_unittest_exe.cc
[delete] https://crrev.com/3b81b85f3120fab9a4681ba685f726025ac9c7ff/chrome_elf/third_party_dlls/main_unittest_exe.h
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/57b6b5db93e13247c7496f69a7f8760662d822e2/chrome_elf/third_party_dlls/packed_list_format.h

Project Member

Comment 29 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a

commit 19aec7ed6d85d45aba2fa7659e01acbb0cb0613a
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue May 29 23:29:33 2018

Reland "[chrome_elf, third-party block support] full hook testing."

This is a reland of 2c24de69532cb26cc199bb07f9ebfa6730bc26e2

Original change's description:
> [chrome_elf, third-party block support] full hook testing.
> 
> Adding some full tests, including some corner cases.  These tests
> initialize the whole third_party_dlls project, to exercise the new hook.
> 
> Non-test adjustments:
> - pe_image_safe: |directory| == 0 is valid!  (export dir)
> - hook:  Exposed a GetDataFromImageForTesting() function.
>   Also a few fixes in the hook shim:
>   * Use the PEImageSafe constructor that takes an HMODULE.
>   * Use the new GetFingerprintString() api.
>   * Don't hash an empty image or section name.
>   * Pass a name hash instead of non-hashed into LogLoadAttempt
>     if a DLL was allowed.
> - packed_list_file:
>   * GetFingerprintHash() removed from this project.
>   * Also, gracefully handle a blacklist file that exists, but is empty.
> - packed_list_format:
>   * Added "new" GetFingerprintString() API here.
>     It centralizes the format string without doing the hash.
> 
> Test: chrome_elf_unittests.exe, ThirdPartyTest.*
> Bug: 769590
> Change-Id: I592f76b884312bb267eb6747a478e271fc96e689
> Reviewed-on: https://chromium-review.googlesource.com/1069694
> Commit-Queue: Penny MacNeil <pennymac@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#562467}

Bug: 769590
Change-Id: Ia801a05b04921a4147b980b2ab28b9c1060d27ca
Reviewed-on: https://chromium-review.googlesource.com/1077347
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562652}
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/BUILD.gn
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/pe_image_safe/pe_image_safe.cc
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/pe_image_safe/pe_image_safe.h
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/DEPS
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/hook.h
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/main_unittest.cc
[add] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/main_unittest_dll_1.cc
[add] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/main_unittest_dll_2.cc
[add] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/main_unittest_dll_2.def
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/main_unittest_exe.cc
[add] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/main_unittest_exe.h
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/19aec7ed6d85d45aba2fa7659e01acbb0cb0613a/chrome_elf/third_party_dlls/packed_list_format.h

Project Member

Comment 30 by bugdroid1@chromium.org, Jun 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0eec8bacb416232f1ea5ea923831d2253bc58589

commit 0eec8bacb416232f1ea5ea923831d2253bc58589
Author: Penny MacNeil <pennymac@chromium.org>
Date: Mon Jun 18 01:56:16 2018

[chrome_elf, third-party block support] Turn on new hook, remove old.

This does not "turn on" full blocking.  The new hook will be in place,
ready to block, but behavior will be determined by
chrome/browser/conflicts/* in future CLs.  The hook will default
allow load.

Tests: chrome_elf_unittests.exe, ThirdParty*
Bug: 769590
Change-Id: I97b1f1d368a160e0f9856dfb55a0242af350328d
Reviewed-on: https://chromium-review.googlesource.com/1076972
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567920}
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome/test/BUILD.gn
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/BUILD.gn
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/blacklist/blacklist.cc
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/blacklist/blacklist.h
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/blacklist_interceptions.cc
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/blacklist_interceptions.h
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/blacklist/test/blacklist_test.cc
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_dll_1.cc
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_dll_1.def
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_dll_2.cc
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_dll_2.def
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_dll_3.cc
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_dll_3.lib
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_main_dll.cc
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_main_dll.def
[delete] https://crrev.com/04cb9f944d6bfa3d48ac6b94b414890b91f82e14/chrome_elf/blacklist/test/blacklist_test_main_dll.h
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/chrome_elf_main.cc
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/elf_imports_unittest.cc
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/third_party_dlls/main.cc
[modify] https://crrev.com/0eec8bacb416232f1ea5ea923831d2253bc58589/chrome_elf/third_party_dlls/main_unittest_exe.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Jun 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6

commit ea1974d4c2e5df9e3d472ed586dffd208d4e30e6
Author: Penny MacNeil <pennymac@chromium.org>
Date: Wed Jun 27 18:32:52 2018

[chrome_elf, third-party block support] Pass file path in registry.

Due to rare case of install_static::GetUserDataDir() path expansion,
this API cannot be used inside DllMain().  The full, expanded path to
the packed blacklist file will be dropped into install_static::GetRegistryPath(),
in the kThirdPartyRegKeyName subkey, in the kBlFilePathRegValue REG_SZ value.
This has no other impact on existing functionality.

- This change includes comments, constants, and tests.

- LogLoadAttempt() will now include the section path for any 'blocked' logs
as well.  Friendly reminder that log.AddEntry() will still not add duplicate
'blocked' logs, to protect against spammy logging.

- Removed old bit of uninstaller touching old blacklist.

Test: chrome_elf_unittests.exe, ThirdParty*
Bug: 769590
Change-Id: Id9ada49215aa110db9fb72a4712da9d3fb7ccf31
Reviewed-on: https://chromium-review.googlesource.com/1109600
Reviewed-by: Robert Shield <robertshield@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570849}
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome/installer/setup/uninstall.cc
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/chrome_elf_main.cc
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/ea1974d4c2e5df9e3d472ed586dffd208d4e30e6/chrome_elf/third_party_dlls/packed_list_format.h

Description: Show this description
Project Member

Comment 33 by bugdroid1@chromium.org, Jun 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a301aa216782ecb93a9de448eea245106a65be8

commit 0a301aa216782ecb93a9de448eea245106a65be8
Author: Peter Mayo <petermayo@chromium.org>
Date: Wed Jun 27 19:23:10 2018

Compile failure on Google%20Chrome%20Win

Revert "[chrome_elf, third-party block support] Pass file path in registry."

This reverts commit ea1974d4c2e5df9e3d472ed586dffd208d4e30e6.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [chrome_elf, third-party block support] Pass file path in registry.
> 
> Due to rare case of install_static::GetUserDataDir() path expansion,
> this API cannot be used inside DllMain().  The full, expanded path to
> the packed blacklist file will be dropped into install_static::GetRegistryPath(),
> in the kThirdPartyRegKeyName subkey, in the kBlFilePathRegValue REG_SZ value.
> This has no other impact on existing functionality.
> 
> - This change includes comments, constants, and tests.
> 
> - LogLoadAttempt() will now include the section path for any 'blocked' logs
> as well.  Friendly reminder that log.AddEntry() will still not add duplicate
> 'blocked' logs, to protect against spammy logging.
> 
> - Removed old bit of uninstaller touching old blacklist.
> 
> Test: chrome_elf_unittests.exe, ThirdParty*
> Bug: 769590
> Change-Id: Id9ada49215aa110db9fb72a4712da9d3fb7ccf31
> Reviewed-on: https://chromium-review.googlesource.com/1109600
> Reviewed-by: Robert Shield <robertshield@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Commit-Queue: Penny MacNeil <pennymac@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#570849}

TBR=robertshield@chromium.org,tsepez@chromium.org,pennymac@chromium.org

Change-Id: I8f734013213e0fa1e1321e3b573172ed9a85a649
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 769590
Reviewed-on: https://chromium-review.googlesource.com/1117399
Reviewed-by: Peter Mayo <petermayo@chromium.org>
Commit-Queue: Peter Mayo <petermayo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570857}
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome/installer/setup/uninstall.cc
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/chrome_elf_main.cc
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/0a301aa216782ecb93a9de448eea245106a65be8/chrome_elf/third_party_dlls/packed_list_format.h

Project Member

Comment 34 by bugdroid1@chromium.org, Jun 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8

commit 95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8
Author: Penny MacNeil <pennymac@chromium.org>
Date: Fri Jun 29 05:09:25 2018

Reland "[chrome_elf, third-party block support] Pass file path in registry."

This is a reland of ea1974d4c2e5df9e3d472ed586dffd208d4e30e6

Original change's description:
> [chrome_elf, third-party block support] Pass file path in registry.
> 
> Due to rare case of install_static::GetUserDataDir() path expansion,
> this API cannot be used inside DllMain().  The full, expanded path to
> the packed blacklist file will be dropped into install_static::GetRegistryPath(),
> in the kThirdPartyRegKeyName subkey, in the kBlFilePathRegValue REG_SZ value.
> This has no other impact on existing functionality.
> 
> - This change includes comments, constants, and tests.
> 
> - LogLoadAttempt() will now include the section path for any 'blocked' logs
> as well.  Friendly reminder that log.AddEntry() will still not add duplicate
> 'blocked' logs, to protect against spammy logging.
> 
> - Removed old bit of uninstaller touching old blacklist.
> 
> Test: chrome_elf_unittests.exe, ThirdParty*
> Bug: 769590
> Change-Id: Id9ada49215aa110db9fb72a4712da9d3fb7ccf31
> Reviewed-on: https://chromium-review.googlesource.com/1109600
> Reviewed-by: Robert Shield <robertshield@chromium.org>
> Reviewed-by: Tom Sepez <tsepez@chromium.org>
> Commit-Queue: Penny MacNeil <pennymac@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#570849}

Bug: 769590
Change-Id: I80fd3a322a9d578a9d4b716f81f5a8d110e9eab4
Reviewed-on: https://chromium-review.googlesource.com/1117498
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571393}
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome/browser/conflicts/module_blacklist_cache_updater_win.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome/installer/setup/uninstall.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/chrome_elf_main.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/95a8cb393d5b4881a5d5ae4d99f0600e7e0d15d8/chrome_elf/third_party_dlls/packed_list_format.h

Description: Show this description
Project Member

Comment 36 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8f6e58c00ce34c51ef65ece6797624672b3701c

commit d8f6e58c00ce34c51ef65ece6797624672b3701c
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue Jul 10 18:33:48 2018

[chrome_elf, third-party block support] Pass status codes in registry.

- Centralized status codes for use with UMA histogram in
third_party_shared_defines project.  Including utility functions
for manipulating codes in a REG_BINARY buffer.
- third_party_dlls/main.cc, Init(), now handles writing status codes
to the main kThirdPartyRegKeyName registry key, in the new
kStatusCodesRegValue REG_BINARY value.
- Consumers can read in the reg value and use the new
ConvertBufferToStatusCodes() utility function to parse.
- Testing in main_unittest.cc.  --gtest_filter=ThirdPartyTest.StatusCodes
- No synchronization required.  Chrome_elf does linear initialization (DllMain),
and will always be finished before chrome.dll runs.
- Note: elf wipes any status codes left in registry across restarts.

- IME code removed from ELF - it is handled in chrome/browser/conflicts,
they will not be blacklisted.

Test: chrome_elf_unittests.exe, ThirdParty*
Bug: 769590
Change-Id: I56a9f487ba15d89fa3160e4d86d3f67dd7d34c55
Reviewed-on: https://chromium-review.googlesource.com/1128562
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573823}
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/BUILD.gn
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/hook.h
[delete] https://crrev.com/e6903a981ff0b10e87482e510e2ff17d59c8831f/chrome_elf/third_party_dlls/imes.cc
[delete] https://crrev.com/e6903a981ff0b10e87482e510e2ff17d59c8831f/chrome_elf/third_party_dlls/imes.h
[delete] https://crrev.com/e6903a981ff0b10e87482e510e2ff17d59c8831f/chrome_elf/third_party_dlls/imes_unittest.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/logs.h
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/logs_unittest.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/main.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/main.h
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/main_unittest.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/main_unittest_exe.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/packed_list_file.cc
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/packed_list_file.h
[modify] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[add] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/status_codes.cc
[add] https://crrev.com/d8f6e58c00ce34c51ef65ece6797624672b3701c/chrome_elf/third_party_dlls/status_codes.h

Description: Show this description
Description: Show this description
Project Member

Comment 39 by bugdroid1@chromium.org, Jul 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bacb343da040bef0bdf4fe51df57db01f2499790

commit bacb343da040bef0bdf4fe51df57db01f2499790
Author: Penny MacNeil <pennymac@chromium.org>
Date: Fri Jul 13 19:56:03 2018

[chrome_elf, third-party block support] Change log format.

- Log format changed to pass values instead of hashes.
- Log.path will now be passed untouched, preserving original case from
  section path.  This allows for potentially case-sensitive operations
  later.
- Testing added to ensure the expected case behaviour,
  ThirdPartyTest.PathCaseSensistive.
- Also, reordered arguments for GetFingerprintString, to be more
  intuitively tied to the format string.

R: pmonette@chromium.org
Test: chrome_elf_unittests.exe, ThirdParty*
Bug: 769590
Change-Id: Ib28ec13da7bf27168513031f583bd47e47da0dcc
Reviewed-on: https://chromium-review.googlesource.com/1136660
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575033}
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome/browser/conflicts/module_load_attempt_log_listener_win.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/chrome_elf_test_stubs.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/hook.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/logging_api.h
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/logs.h
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/logs_unittest.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/main_unittest.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/main_unittest_exe.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/main_unittest_exe.h
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/packed_list_file_unittest.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/packed_list_format.cc
[modify] https://crrev.com/bacb343da040bef0bdf4fe51df57db01f2499790/chrome_elf/third_party_dlls/packed_list_format.h

Description: Show this description
Description: Show this description
Description: Show this description
Project Member

Comment 43 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c6e9f570e7e1ad7063201b1c6b81a2e47b9c111f

commit c6e9f570e7e1ad7063201b1c6b81a2e47b9c111f
Author: Penny MacNeil <pennymac@chromium.org>
Date: Tue Jul 17 21:27:40 2018

[chrome_elf, third-party block support] Handle spammy block logs across drains.

Identical blocks are not forgotten across drains now.  Added test as well.

R: pmonette@chromium.org
Test: chrome_elf_unittests.exe, ThirdParty*
Bug: 769590
Change-Id: I1d3b7db15128746c25e6d8bcfce8f39d2251d67f
Reviewed-on: https://chromium-review.googlesource.com/1140512
Commit-Queue: Penny MacNeil <pennymac@chromium.org>
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575779}
[modify] https://crrev.com/c6e9f570e7e1ad7063201b1c6b81a2e47b9c111f/chrome_elf/third_party_dlls/logs.cc
[modify] https://crrev.com/c6e9f570e7e1ad7063201b1c6b81a2e47b9c111f/chrome_elf/third_party_dlls/logs_unittest.cc

Sign in to add a comment