Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Scrubbing of UTF-16 strings in minidumps #742

Merged
merged 47 commits into from
Sep 21, 2020
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
d3afd9c
Basic UTF-16 string extraction from random memory
Sep 1, 2020
80c943b
implement scrubing of utf16 bytes
Sep 9, 2020
ef15805
Add unittests, fix bug to count u16 as 2 bytes
Sep 9, 2020
6f4a18e
Merge branch 'master' into feat/utf16-scrub
Sep 9, 2020
dddaaa2
Fixup for simplified configs in master
Sep 9, 2020
a7a4bf3
Add a WStr UTF-16LE type
Sep 15, 2020
5961d9c
Add a safe constructor for WStr
Sep 15, 2020
23a010f
Move wstring to it's own crate
Sep 15, 2020
79a5112
Clean up the public interface
Sep 15, 2020
b5621df
Make clippy happy
Sep 15, 2020
5117d58
Fixup docs
Sep 15, 2020
f5fe61a
Rename to relay-wstring for convenience
Sep 16, 2020
dea4279
Split off SliceIndex to it's own module
Sep 16, 2020
9c58cb1
Back to an iterator, this is much nicer
Sep 16, 2020
cc62be2
Make this work again, using iteration and WStr
Sep 16, 2020
4299949
Some clippy fixes
Sep 17, 2020
db47b23
Break out scrubbing of matches to a fuction
Sep 17, 2020
29212d9
Do not needlessly use unsafe in tests
Sep 17, 2020
ee548ff
Explicit lifetimes transmute
Sep 17, 2020
ad1180f
Trade off unsafe for more if statements and unwrap
Sep 17, 2020
a3344ce
Implement FusedIterator for char iters
Sep 17, 2020
0efd108
Force padding characters to be encoded to a single code
Sep 18, 2020
68ec570
Use zip to reduce iteractions some more
Sep 18, 2020
8c6546f
Remove obsolete comment
Sep 18, 2020
aeb17fb
A bit more restructuring to make utf-8 code re-use easier
Sep 18, 2020
8d9bcf5
Code re-use with utf-8 implementation
Sep 18, 2020
2fca516
A few comment fixes
Sep 18, 2020
30ba9a3
More comment improvements
Sep 18, 2020
0d624e2
Wire up docs and logging for new crate
Sep 18, 2020
a68d2a1
Use std::mem::size_of::<u16>() directly
Sep 18, 2020
9d2a48d
Inits are fine apparently
Sep 18, 2020
3e30947
Back to fast unsafe code
Sep 18, 2020
3c05277
Replace some magic numbers with helper functions
Sep 18, 2020
aa103da
Doc comments in third person
Sep 18, 2020
47917e1
Inline a lot more, taking cues from the stdlib
Sep 18, 2020
b2e5bf5
More elegant iterator usage
Sep 18, 2020
66d3b2b
Correct import blocks
Sep 18, 2020
786707a
Fix full matches
Sep 18, 2020
ceb8d76
Merge WStr into the SegmentIter
Sep 18, 2020
bb7742c
Avoid the forbidden transmute word
Sep 18, 2020
ddfca69
I really do want a regex dear clippy
Sep 21, 2020
8600065
Use const instead of static
Sep 21, 2020
802a487
Do not scrub regions twice
Sep 21, 2020
a0d6512
Merge branch 'master' into feat/utf16-scrub
Sep 21, 2020
802f767
Changelog entry
Sep 21, 2020
7d5942f
Fix changelog
Sep 21, 2020
76f40d6
Merge branch 'master' into feat/utf16-scrub
Sep 21, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 4 additions & 1 deletion relay-general/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ chrono = { version = "0.4.11", features = ["serde"] }
cookie = { version = "0.12.0", features = ["percent-encode"] }
debugid = { version = "0.7.2", features = ["serde"] }
dynfmt = { version = "0.1.4", features = ["python", "curly"] }
encoding = "0.2"
failure = "0.1.8"
hmac = "0.7.1"
itertools = "0.8.2"
Expand All @@ -27,6 +28,7 @@ pest_derive = "2.1.0"
regex = "1.3.9"
relay-common = { path = "../relay-common" }
relay-general-derive = { path = "derive" }
relay-wstring = { path = "../relay-wstring" }
schemars = { version = "0.8.0-alpha-4", features = ["uuid", "chrono"], optional = true }
serde = { version = "1.0.114", features = ["derive"] }
serde_json = "1.0.55"
Expand All @@ -38,9 +40,10 @@ url = "2.1.1"
uuid = { version = "0.8.1", features = ["v4", "serde"] }

[dev-dependencies]
criterion = "0.3"
difference = "2.0.0"
insta = { version = "0.15.0", features = ["ron", "redactions"] }
criterion = "0.3"
pretty-hex = "0.2.0"
valico = "3.2.0"

[features]
Expand Down
Loading