-
Notifications
You must be signed in to change notification settings - Fork 142
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
Improved version of ECHCheck test #2840
Comments
The first and second should be done already :-) Re: the third item, is the intention that the probe would also populate results for the other dataformats e.g. queries? If so, I can add those. Which network events do you want to see captured? |
Yes that's correct. These should already be emitted by the measurement library functions you are using.
Similarly also network_events are automatically collected and you just have to add them to your test_keys. Here are some examples of how this is done in other tests network_events: https://github.com/ooni/probe-cli/blob/ef139c525f1b1e751f21cccf842982b4a2720dbd/internal/experiment/simplequicping/simplequicping.go#L190 queries, tcp_connect: https://github.com/ooni/probe-cli/blob/ef139c525f1b1e751f21cccf842982b4a2720dbd/internal/experiment/urlgetter/getter.go#L62 |
Working on that. Ran into a semantics question. When we attempt to do a GREASE connection, we get an error. We expect that error; it's an Question: Do we want to log 2 |
For net_events: do we want to capture all net events for the DNS queries, then again for each TCP+TLS attempt? Or just a subset? |
This is a good point. Is there the possibility that we do not get an error when doing a GREASE'd handshake? If that is a possibility and we would like to differentiate between the "no failure" (which is actually unexpected) and "failure" (which is expected), then we should be setting the failure string to something like "ech_rejected". OTOH if it's never possible to have the GREASE'd handshake succeed, then we should probably not log it as a failure and just set this key to null (as we have been doing up until now).
I would say we should start off with recording all of them. It's going to be quite useful to investigate cases of blocking to understand at which point exactly it's happening and isolate at which point during the network operations they are occuring. |
At the moment, We currently have this workaround to get the URL. ooni/probe-multiplatform#437 |
It's always rejected; left as-is.
I've added captures of net_events and dns queries using the
I'm not clear on how to do this. I see the richer input doc & that taskmodel.go defines the type of event to be emitted. But I don't know when in the experiment one would do that or through which facility I would emit that event. Are there experiments that model this? |
This issue is to track the work @johnhess is doing on expanding our echcheck test to fully support the ECH handshake, see: johnhess/probe-cli#1.
What we should ensure happens as part of this new iteration is:
queries
,tcp_connect
andnetwork_events
keysxref: #1453
The text was updated successfully, but these errors were encountered: