This commit forward ports dedd84fa7ecb09f718f6b1a9c83999cb37b34dfa. Original commit message: - - - This diff changes code the release/3.11 branch to ensure we're not using dns.google and www.google.com over HTTP3. As documented in https://github.com/ooni/probe/issues/1873, since this morning (approx) these services do not support HTTP3 anymore. (I didn't bother with checking whether this issue affects _other_ Google services; I just limited my analysis to the services that we were using as part of testing.) This patch WILL require forward porting to the master branch.
		
			
				
	
	
		
			39 lines
		
	
	
		
			901 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			901 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Package quictesting contains code useful to test QUIC.
 | |
| package quictesting
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"net"
 | |
| 	"strings"
 | |
| 	"time"
 | |
| 
 | |
| 	"github.com/ooni/probe-cli/v3/internal/runtimex"
 | |
| )
 | |
| 
 | |
| // Domain is the the domain we should be testing using QUIC.
 | |
| const Domain = "www.cloudflare.com"
 | |
| 
 | |
| // Address is the address we should be testing using QUIC.
 | |
| var Address string
 | |
| 
 | |
| // Endpoint returns the endpoint to test using QUIC by combining
 | |
| // the Address variable with the given port.
 | |
| func Endpoint(port string) string {
 | |
| 	return net.JoinHostPort(Address, port)
 | |
| }
 | |
| 
 | |
| func init() {
 | |
| 	const timeout = 10 * time.Second
 | |
| 	ctx, cancel := context.WithTimeout(context.Background(), timeout)
 | |
| 	defer cancel()
 | |
| 	reso := &net.Resolver{}
 | |
| 	addrs, err := reso.LookupHost(ctx, Domain)
 | |
| 	runtimex.PanicOnError(err, "reso.LookupHost failed")
 | |
| 	for _, addr := range addrs {
 | |
| 		if !strings.Contains(addr, ":") {
 | |
| 			Address = addr
 | |
| 			break
 | |
| 		}
 | |
| 	}
 | |
| }
 |