-
Notifications
You must be signed in to change notification settings - Fork 68
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
Add initial spec for DoH experiment #158
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Specification version number | ||
|
||
0.1.0 | ||
|
||
# Specification name | ||
|
||
DNS over HTTPS Test | ||
|
||
# Test preconditions | ||
|
||
* An internet connection | ||
|
||
# Expected impact | ||
|
||
Result of resolving domain names using a specific DoH server. | ||
|
||
# Expected inputs | ||
|
||
## Import document or import data format | ||
|
||
A list of domains for which to perform a DoH resolution. | ||
|
||
## Data specification version number | ||
|
||
## Semantics | ||
|
||
The input document will contain a list of zero or more domains to | ||
resolve using DoH. The following | ||
|
||
``` | ||
www.google.com | ||
www.facebook.com | ||
``` | ||
|
||
are all valid entries. | ||
|
||
You should also specify the DoH URL to use. We will by default use the | ||
`https://mozilla.cloudflare-dns.com/dns-query` URL, if none is given. | ||
|
||
# Test description | ||
|
||
For every input domain we perform a DoH resolution. | ||
|
||
# Expected output | ||
|
||
The key `test_keys` key object will be added to the report. | ||
|
||
The `test_keys.failure` scalar will be `null` if there was no error or | ||
a string indicating the error that occurred. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The I also think you should add a reference to the HTTP requests that are being performed and what the responses look like. It's also probably a good idea to collect some timing information pertaining to the query time. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I'd rather remove it from here. This is an experimental key and we don't want its presence to cause confusion or expectations into the reader. The reason why this JSON lacks so many details is that I'm blocking on a couple of large code reviews before I'm able to write PoC code that contains more information. I am also not super convinced whether we should document and include the full |
||
|
||
## Example output sample | ||
|
||
``` | ||
{ | ||
"data_format_version": "0.2.1", | ||
"input": "www.google.com", | ||
"measurement_start_time": "2019-10-08 12:04:17", | ||
"test_runtime": 0, | ||
"probe_asn": "AS30722", | ||
"probe_cc": "IT", | ||
"probe_ip": "127.0.0.1", | ||
"report_id": "20191008T120417Z_AS30722_N4ZDqONxMM76DlDnaEyQfu1DNhE5yz7WxmlmnbxYlJb05Qpm0a", | ||
"resolver_ip": "173.194.170.111", | ||
"software_name": "miniooni", | ||
"software_version": "0.1.0-dev", | ||
"test_keys": { | ||
"failure": "", | ||
"url": "https://mozilla.cloudflare-dns.com/dns-query", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't there also be some keys related to the HTTP requests that were performed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I believe so. I have been debating with myself whether we want:
Later you ask me about timing. This is a given with the |
||
"x-addresses": [ | ||
"216.58.205.132", | ||
"2a00:1450:4002:808::2004" | ||
] | ||
}, | ||
"test_name": "doh", | ||
"test_start_time": "2019-10-08 12:04:17", | ||
"test_version": "0.1.0" | ||
} | ||
``` |
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.
Maybe provide a link to the relevant RFC?