ooni-probe-cli/internal
Simone Basso 9967803c31
fix(netxlite): map additional GetAddrInfoW errors (#521)
On Windows, GetAddrInfoW is a syscall and the Go resolver does
not attempt to map errors beyond WSA_HOST_NOT_FOUND, which becomes
"no such host", which we map to "dns_nxdomain_error".

See https://github.com/golang/go/blob/go1.17.1/src/net/lookup_windows.go#L16.

To map more GetAddrInfoW errors, thus, we need to enhance our
error classifier to have system specific errors.

Then, we need to filter for the WSA errors that are most likely
to pop up and map them to OONI failures. Those are three:

- WSANO_DATA which we have from our own UDP resolver as well
and which we can map to `dns_no_answer`

- WSANO_RECOVERY which we don't have but existed for MK so
we will use `dns_non_recoverable_failure`, which was an MK error

- WSATRY_AGAIN which likewise we map to the error that MK
used to emit, so `dns_temporary_failure`

This diff should address https://github.com/ooni/probe/issues/1467.
2021-09-29 11:21:28 +02:00
..
atomicx doc: cleanup and improve for recently moved pkgs (#354) 2021-06-04 11:39:00 +02:00
bytecounter refactor(netxlite): hide details without breaking the rest of the tree (#454) 2021-09-05 14:49:38 +02:00
cmd refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
engine fix: allow to build miniooni for windows (#520) 2021-09-28 18:27:28 +02:00
fsx refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
humanize fix(all): introduce and use iox.CopyContext (#380) 2021-06-15 13:44:28 +02:00
kvstore doc: cleanup and improve for recently moved pkgs (#354) 2021-06-04 11:39:00 +02:00
mlablocate refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
mlablocatev2 refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
multierror doc: cleanup and improve for recently moved pkgs (#354) 2021-06-04 11:39:00 +02:00
netxlite fix(netxlite): map additional GetAddrInfoW errors (#521) 2021-09-29 11:21:28 +02:00
ooapi refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
platform fix(internal/platform): support freebsd (#445) 2021-08-20 14:00:06 +02:00
ptx refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
randx doc: improve and reference existing bug in the code (#356) 2021-06-04 12:50:23 +02:00
runtimex refactor: flatten and separate (#353) 2021-06-04 10:34:18 +02:00
scrubber refactor: move scrubbingLogger to the scrubber pkg (#394) 2021-06-22 14:43:58 +02:00
shellx cleanup(shellx): do not directly depend on apex/log (#357) 2021-06-04 14:02:18 +02:00
tunnel cleanup(all): stop using deprecated ioutil functions (#381) 2021-06-15 14:01:45 +02:00
tutorial doc: add tutorial on how to use netxlite (#519) 2021-09-28 18:15:38 +02:00
version chore: we are now at 3.11.0-alpha (#361) 2021-06-08 10:08:13 +02:00
README.md doc: ensure all top dirs have an explanatory README (#214) 2021-02-03 16:54:00 +01:00

Directory github.com/ooni/probe-cli/internal

This directory contains private Go packages.