Simone Basso
8f18813e17
cli: upgrade to lucas-clemente/quic-go 0.23.0 ( #449 )
...
See https://github.com/ooni/probe/issues/1754 for a comprehensive description.
2021-08-23 16:49:22 +02:00
Simone Basso
ceb2aa8a8d
fix(netx): make sure we save quic udp conn events ( #423 )
...
https://github.com/ooni/probe-cli/pull/421 was wrong because we need
a more rich interface for quic-go to call ReadMsgUDP.
With this commit, we use such an interface: OOBCapablePacketConn.
Still part of https://github.com/ooni/probe/issues/1505 .
2021-07-02 11:00:12 +02:00
Simone Basso
250a595f89
refactor: cleaner way of passing a UDPConn around ( #421 )
...
* refactor: cleaner way of passing a UDPConn around
Also part of https://github.com/ooni/probe/issues/1505
* Update internal/engine/netx/quicdialer/connectionstate.go
2021-07-01 21:56:29 +02:00
Simone Basso
72acd175a0
refactor: move i/e/n/errorx to i/errorsx ( #416 )
...
Still working towards https://github.com/ooni/probe/issues/1505
2021-07-01 16:34:36 +02:00
Simone Basso
a4d61a4be4
fix(netxlite): close quic packetconn ( #407 )
...
Noticed when working on https://github.com/ooni/probe/issues/1505 .
Justification for this diff:
1. [DialEarlyContext calls dialContext with the last argument set to false](https://github.com/lucas-clemente/quic-go/blob/v0.21.1/client.go#L153 );
2. [the semantics of the last argument is whether we own the connection](https://github.com/lucas-clemente/quic-go/blob/v0.21.1/client.go#L187 );
3. [this value is propagated to the client data structure](https://github.com/lucas-clemente/quic-go/blob/v0.21.1/client.go#L269 );
4. [client.dial](https://github.com/lucas-clemente/quic-go/blob/v0.21.1/client.go#L302 ) runs the session in a background goroutine and only destroys the `packetHandlers` when the connection is owned;
5. [packetHandlerMap.Destroy](https://github.com/lucas-clemente/quic-go/blob/v0.21.1/packet_handler_map.go#L293 ) closes the underlying PacketConn.
6. also, the documentation clearly states that when you use `DialEarlyContext` you can use the same packet conn multiple times, so it does not take ownership.
2021-06-25 17:58:42 +02:00
Simone Basso
925ca22b88
refactor: move quicdialing base functionality to netxlite ( #406 )
...
Part of https://github.com/ooni/probe/issues/1505
2021-06-25 17:04:24 +02:00
Simone Basso
c00cad1382
refactor(quicdialer): separate saving from listening ( #405 )
...
With this change, we will soon be able to move the creation of
a QUIC session inside of the netxlite package.
Part of https://github.com/ooni/probe/issues/1505 .
2021-06-25 16:20:08 +02:00
Simone Basso
1d70b81187
More progress towards release v3.10.0 ( #320 )
...
* chore: unvendor github.com/mitchellh/go-wordwrap
The library seems reasonably maintained and tested.
Part of https://github.com/ooni/probe/issues/1439
* fix(netx/quicdialer): ensure we handle all errors
Part of https://github.com/ooni/probe/issues/1439
* fix previous
* cleanup: remove unnecessary shutil fork
Part of https://github.com/ooni/probe/issues/1439
* doc: documented some undocumented functions
Part of https://github.com/ooni/probe/issues/1439
* fix(ooniprobe): rename mis-named function
Part of https://github.com/ooni/probe/issues/1439
2021-04-29 15:59:53 +02:00
Simone Basso
d57c78bc71
chore: merge probe-engine into probe-cli ( #201 )
...
This is how I did it:
1. `git clone https://github.com/ooni/probe-engine internal/engine`
2. ```
(cd internal/engine && git describe --tags)
v0.23.0
```
3. `nvim go.mod` (merging `go.mod` with `internal/engine/go.mod`
4. `rm -rf internal/.git internal/engine/go.{mod,sum}`
5. `git add internal/engine`
6. `find . -type f -name \*.go -exec sed -i 's@/ooni/probe-engine@/ooni/probe-cli/v3/internal/engine@g' {} \;`
7. `go build ./...` (passes)
8. `go test -race ./...` (temporary failure on RiseupVPN)
9. `go mod tidy`
10. this commit message
Once this piece of work is done, we can build a new version of `ooniprobe` that
is using `internal/engine` directly. We need to do more work to ensure all the
other functionality in `probe-engine` (e.g. making mobile packages) are still WAI.
Part of https://github.com/ooni/probe/issues/1335
2021-02-02 12:05:47 +01:00