erratic

package
v0.0.0-...-7f72c11 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2017 License: Apache-2.0 Imports: 9 Imported by: 0

README

erratic

erratic is a middleware useful for testing client behavior. It returns a static response to all queries, but the responses can be delayed by a random amount of time or dropped all together, i.e. no answer at all.

._<transport>.qname. 0 IN SRV 0 0 <port> .

The erratic middleware will respond to every A or AAAA query. For any other type it will return a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737), for AAAA it returns 2001:DB8::53 (see RFC 3849).

Syntax

erratic {
    drop AMOUNT
}
  • AMOUNT drop 1 per AMOUNT of the queries, the default is 2.

Examples

.:53 {
    erratic {
        drop 3
    }
}

Or even shorter if the defaults suits you:

. {
    erratic
}

Bugs

Delaying answers is not implemented.

Documentation

Overview

Package erratic implements a middleware that returns erratic answers (delayed, dropped).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Erratic

type Erratic struct {
	// contains filtered or unexported fields
}

Erratic is a middleware that returns erratic repsonses to each client.

func (*Erratic) Name

func (e *Erratic) Name() string

Name implements the Handler interface.

func (*Erratic) ServeDNS

func (e *Erratic) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error)

ServeDNS implements the middleware.Handler interface.

Jump to

Keyboard shortcuts

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