-
Notifications
You must be signed in to change notification settings - Fork 314
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
Added support to allow to track the resolution of DNS requests. #721
Conversation
Hey, These things are:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you change the file permissions on so many files from 644 -> 755?
automation/Extension/webext-instrumentation/src/background/dns-instrument.ts
Outdated
Show resolved
Hide resolved
Please let us know if you want to make necessary changes yourself or if we should consider this code to be provided as is and any changes we want should be made by ourselves |
Aside from the test cases, I made the required changes (see the new commits). As for the tests, I am not sure how to design them as I am not very familiar with the OpenWPM test structure and the fact that DNS resolution is not always deterministic. One way could be to set up a local DNS server which produces deterministic outcomes. However, I am not sure if that will be too much overhead for the test. |
Thank you for making these changes. We unfortunately don't have a good test strategy but seeing as we are already spinning up a webserver and localstack, I don't think adding a local DNS resolver would be too much overhead. I'll look around for some good solutions over the week and get back to you if I find something appropriate Note: localtest.me always resolves to |
Hey @turban1988 , |
Added test for dns instrument
This pull request offers the option to log the resolution of DNS requests.
This allows one to track and detect, for example, CNAME cloaking or to easily determine the possible IP address used by Firefox (e.g., to detect violations to the GDPR or CCPA).
The implementation uses the
browser.dns
interface provided by Firefox and writes results provided by the interface into thedns_resolution
table in the SQLite database.