sniblocking

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2020 License: BSD-3-Clause Imports: 14 Imported by: 0

Documentation

Overview

Package sniblocking contains the SNI blocking network experiment. This file in particular is a pure-Go implementation of that.

See https://github.com/ooni/spec/blob/master/nettests/ts-024-sni-blocking.md.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExperiment

func NewExperiment(
	sess *session.Session, config Config,
) *experiment.Experiment

NewExperiment creates a new experiment.

Types

type Config

type Config struct {
	// ControlSNI is the SNI to be used for the control.
	ControlSNI string

	// TestHelperAddress is the address of the test helper.
	TestHelperAddress string
}

Config contains the experiment config.

type Subresult

type Subresult struct {
	BytesReceived int64                           `json:"-"`
	BytesSent     int64                           `json:"-"`
	Failure       *string                         `json:"failure"`
	NetworkEvents oonidatamodel.NetworkEventsList `json:"network_events"`
	Queries       oonidatamodel.DNSQueriesList    `json:"queries"`
	Requests      oonidatamodel.RequestList       `json:"requests"`
	SNI           string                          `json:"sni"`
	TCPConnect    oonidatamodel.TCPConnectList    `json:"tcp_connect"`
	THAddress     string                          `json:"th_address"`
	TLSHandshakes oonidatamodel.TLSHandshakesList `json:"tls_handshakes"`
}

Subresult contains the keys of a single measurement that targets either the target or the control.

type TestKeys

type TestKeys struct {
	Control Subresult `json:"control"`
	Target  Subresult `json:"target"`
}

TestKeys contains sniblocking test keys.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL