• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ooni / probe-cli / 6247085500
72%

Build:
DEFAULT BRANCH: master
Ran 20 Sep 2023 11:14AM UTC
Jobs 1
Files 503
Run time 8s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Sep 2023 10:08AM UTC coverage: 81.439% (+0.2%) from 81.262%
6247085500

push

github

web-flow
feat(enginenetx): add configurable HTTPS dialer (#1283)

This commit introduces a configurable HTTPS dialer that we will use for
implementing beacons, and possibly also other functionality.

We need to perform TCP connect and TLS handshake as part of the same
goroutine, because we cannot consider a dialing attempt successful after
a successful TCP connect. Due to network interference, the dialing may
also fail later during the TLS handshake.

To support several possible HTTPS dialing strategies, we need to extend
what happens during a LookupHost operation. Generally, one would like to
have addresses to dial. Rather, here we have tactics, where a single IP
address MAY be included into more than a single tactic, if we need to
try different tricks with the same address.

Also, tactics include a delay, which is useful to (a) avoid performing
all operations in parallel, which is not gentle towards otherwise
perfectly functioning networks and (b) give penalty to tactics that
utilize circumvention, such that we don't even attempt them unless we
need to.

In turn, the DNS resolver is wrapped by a policy for configuring TLS
dialing. Basically, the policy observes the IP addresses returned by an
underlying resolver and then it will decide which tactics to produce
based on that. Note that the policy could also extend the set of
returned IP addresses when the domain for which we connect is such that
we have known IP addresses in advance for such a domain.

The default policy we introduce in this commit behaves as follows:

1. it asks the engine to create 16 goroutines for dialing;

2. it uses the DNS lookup results w/o adding any extra IP addr;

3. it produces a tactic for each IP address where we use the domain as
the SNI and we add a 300 millisecond delay to the second tactic, 600 to
the third, and so on--which is similar to implementing happy eyeballs.

It's also worth noting that, tactics MAY override the TLS handshaker
b... (continued)

270 of 270 new or added lines in 1 file covered. (100.0%)

23342 of 28662 relevant lines covered (81.44%)

24.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 0 - 6247085500.1 20 Sep 2023 11:14AM UTC 0
81.44
GitHub Action Run
Source Files on build 6247085500
Detailed source file information is not available for this build.
  • Back to Repo
  • dff7cedd on github
  • Prev Build on master (#6235215729)
  • Next Build on master (#6248086970)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc