ooni-probe-cli/internal/netxlite
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Simone Basso b78b9aca51
refactor(datafmt): use "udp" instead of "quic" (#946)
This diff changes the data format to prefer "udp" to "quic" everywhere we were previously using "quic".

Previously, the code inconsistently used "quic" for operations where we knew we were using "quic" and "udp" otherwise (e.g., for generic operations like ReadFrom).

While it would be more correct to say that a specific HTTP request used "quic" rather than "udp", using "udp" consistently allows one to see how distinct events such as ReadFrom and an handshake all refer to the same address, port, and protocol triple. Therefore, this change makes it easier to programmatically unpack a single measurement and create endpoint stats.

Before implementing this change, I discussed the problem with @hellais who mentioned that ooni/data is not currently using the "quic" string anywhere. I know that ooni/pipeline also doesn't rely on this string. The only users of this feature have been research-oriented experiments such as urlgetter, for which such a change would actually be acceptable.

See https://github.com/ooni/probe/issues/2238 and https://github.com/ooni/spec/pull/262.
2022-09-08 17:19:59 +02:00
..
filtering cleanup(jafar): do not depend on netx and urlgetter (#792) 2022-06-02 22:25:37 +02:00
internal netxlite: call getaddrinfo and handle platform-specific oddities (#764) 2022-05-28 15:10:30 +02:00
mocks cli: upgrade to lucas-clemente/quic-go@v0.27.0 (#715) 2022-05-06 12:24:03 +02:00
quictesting [forwardport] fix: avoid http3 for dns.google and www.google.com (#593) (#594) 2021-11-12 14:43:28 +01:00
bogon.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
bogon_test.go cleanup: move caching resolvers from netx to netxlite (#799) 2022-06-05 21:58:34 +02:00
certifi.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
certifi_test.go netxlite: improve docs, tests, and code quality (#493) 2021-09-08 21:19:51 +02:00
classify.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
classify_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
dialer.go cleanup: remove UnderlyingNetworkLibrary and TProxy (#874) 2022-08-23 11:43:44 +02:00
dialer_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
dnsdecoder.go feat(netxlite): support extracting the CNAME (#875) 2022-08-23 13:04:00 +02:00
dnsdecoder_test.go feat(oonirun): improve tests (#915) 2022-08-31 18:40:27 +02:00
dnsencoder.go refactor: DNSTransport I/Os DNS messages (#760) 2022-05-25 17:03:58 +02:00
dnsencoder_test.go refactor: DNSTransport I/Os DNS messages (#760) 2022-05-25 17:03:58 +02:00
dnsovergetaddrinfo.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
dnsovergetaddrinfo_test.go feat(dnsovergetaddrinfo): collect the CNAME (#876) 2022-08-23 13:53:08 +02:00
dnsoverhttps.go refactor(netxlite): expose useful HTTPTransport/DNSTransport factories (#813) 2022-06-09 00:30:18 +02:00
dnsoverhttps_test.go refactor(netxlite): expose useful HTTPTransport/DNSTransport factories (#813) 2022-06-09 00:30:18 +02:00
dnsovertcp.go feat(netxlite): implement DNSTransport wrapping (#776) 2022-06-01 11:10:08 +02:00
dnsovertcp_test.go feat(netxlite): implement DNSTransport wrapping (#776) 2022-06-01 11:10:08 +02:00
dnsoverudp.go feat(netxlite): support extracting the CNAME (#875) 2022-08-23 13:04:00 +02:00
dnsoverudp_test.go feat(netxlite): support extracting the CNAME (#875) 2022-08-23 13:04:00 +02:00
dnstransport.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
dnstransport_test.go feat(netxlite): implement DNSTransport wrapping (#776) 2022-06-01 11:10:08 +02:00
doc.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
errno.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_darwin.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_darwin_test.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_freebsd.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_freebsd_test.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_linux.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_linux_test.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_openbsd.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_openbsd_test.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_windows.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errno_windows_test.go chore: run go generate ./... (#929) 2022-09-04 17:33:22 +02:00
errwrapper.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
errwrapper_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
getaddrinfo.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
getaddrinfo_bsd.go netxlite: call getaddrinfo and handle platform-specific oddities (#764) 2022-05-28 15:10:30 +02:00
getaddrinfo_bsd_test.go getaddrinfo: fix CGO_ENABLED=0 and record resolver type (#765) 2022-05-30 07:34:25 +02:00
getaddrinfo_cgo.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
getaddrinfo_linux.go netxlite: call getaddrinfo and handle platform-specific oddities (#764) 2022-05-28 15:10:30 +02:00
getaddrinfo_linux_test.go netxlite: call getaddrinfo and handle platform-specific oddities (#764) 2022-05-28 15:10:30 +02:00
getaddrinfo_otherwise.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
getaddrinfo_test.go feat(dns): expose more low-level fields (#873) 2022-08-23 16:12:04 +02:00
getaddrinfo_windows.go netxlite: call getaddrinfo and handle platform-specific oddities (#764) 2022-05-28 15:10:30 +02:00
getaddrinfo_windows_test.go getaddrinfo: fix CGO_ENABLED=0 and record resolver type (#765) 2022-05-30 07:34:25 +02:00
http.go refactor(netxlite): expose useful HTTPTransport/DNSTransport factories (#813) 2022-06-09 00:30:18 +02:00
http3.go refactor(datafmt): use "udp" instead of "quic" (#946) 2022-09-08 17:19:59 +02:00
http3_test.go refactor(datafmt): use "udp" instead of "quic" (#946) 2022-09-08 17:19:59 +02:00
http_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
integration_test.go fix(probeservices): use api.ooni.io (#926) 2022-09-02 16:48:14 +02:00
iox.go fix(netxlite): prefer composition over embedding (#733) 2022-05-15 19:25:27 +02:00
iox_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
maybeproxy.go refactor(netxlite): more abstract proxy-enabled dialer construction (#812) 2022-06-08 23:10:06 +02:00
maybeproxy_test.go refactor(netxlite): more abstract proxy-enabled dialer construction (#812) 2022-06-08 23:10:06 +02:00
operations.go feat(netxlite): implement DNSTransport wrapping (#776) 2022-06-01 11:10:08 +02:00
quic.go cleanup: remove UnderlyingNetworkLibrary and TProxy (#874) 2022-08-23 11:43:44 +02:00
quic_test.go chore: upgrade deps and attempt to enable using go1.19 (#869) 2022-08-19 11:26:50 +02:00
quirks.go fix(netxlite): prefer composition over embedding (#733) 2022-05-15 19:25:27 +02:00
quirks_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
resolvercache.go cleanup: move caching resolvers from netx to netxlite (#799) 2022-06-05 21:58:34 +02:00
resolvercache_test.go cleanup: move caching resolvers from netx to netxlite (#799) 2022-06-05 21:58:34 +02:00
resolvercore.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
resolvercore_test.go feat: clearly indicate which resolver we're using (#885) 2022-08-27 15:47:48 +02:00
resolverparallel.go feat: dnsping using step-by-step (#831) 2022-07-08 19:42:24 +02:00
resolverparallel_test.go feat: collect system resolver results using context (#856) 2022-08-11 10:20:28 +02:00
resolverserial.go chore: improve testing and increase coverage (#794) 2022-06-04 14:58:48 +02:00
resolverserial_test.go feat(netxlite): implement DNSTransport wrapping (#776) 2022-06-01 11:10:08 +02:00
shaping.go refactor: only use shaping dialer for ndt7 and dash (#754) 2022-05-24 18:23:42 +02:00
shaping_otherwise.go refactor: only use shaping dialer for ndt7 and dash (#754) 2022-05-24 18:23:42 +02:00
shaping_otherwise_test.go refactor: only use shaping dialer for ndt7 and dash (#754) 2022-05-24 18:23:42 +02:00
shaping_shaping.go refactor: only use shaping dialer for ndt7 and dash (#754) 2022-05-24 18:23:42 +02:00
shaping_shaping_test.go refactor: only use shaping dialer for ndt7 and dash (#754) 2022-05-24 18:23:42 +02:00
tls.go feat(oonirun): improve tests (#915) 2022-08-31 18:40:27 +02:00
tls_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
trace.go feat: context-based tracing to record delayed DNS responses (#870) 2022-08-22 14:21:32 +02:00
trace_test.go feat: tlsping and tcpping using step-by-step (#815) 2022-07-01 12:22:22 +02:00
utls.go chore: upgrade deps and attempt to enable using go1.19 (#869) 2022-08-19 11:26:50 +02:00
utls_test.go feat(netxlite): support extracting the CNAME (#875) 2022-08-23 13:04:00 +02:00