Files
Ville Vesilehto 3080ec0448 lint(errorlint): handle wrapped errors
Enable errorlint and preserve wrapped error chains so runtime checks
and tests classify failures correctly. This also makes Route53
surface insert failures instead of silently dropping them.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2026-04-25 11:57:32 +03:00
..
2018-07-19 16:23:06 +01:00
2020-09-24 18:14:41 +02:00

erratic

Name

erratic - a plugin useful for testing client behavior.

Description

erratic returns a static response to all queries, but the responses can be delayed, dropped or truncated. The erratic plugin will respond to every A or AAAA query. For any other type it will return a SERVFAIL response (except AXFR). The reply for A will return 192.0.2.53 (RFC 5737), for AAAA it returns 2001:DB8::53 (RFC 3849). For an AXFR request it will respond with a small zone transfer.

Syntax

erratic {
    drop [AMOUNT]
    truncate [AMOUNT]
    delay [AMOUNT [DURATION]]
}
  • drop: drop 1 per AMOUNT of queries, the default is 2.
  • truncate: truncate 1 per AMOUNT of queries, the default is 2.
  • delay: delay 1 per AMOUNT of queries for DURATION, the default for AMOUNT is 2 and the default for DURATION is 100ms.

In case of a zone transfer and truncate the final SOA record isn't added to the response.

Ready

This plugin reports readiness to the ready plugin.

Examples

example.org {
    erratic {
        drop 3
    }
}

Or even shorter if the defaults suit you. Note this only drops queries, it does not delay them.

example.org {
    erratic
}

Delay 1 in 3 queries for 50ms

example.org {
    erratic {
        delay 3 50ms
    }
}

Delay 1 in 3 and truncate 1 in 5.

example.org {
    erratic {
        delay 3 5ms
        truncate 5
    }
}

Drop every second query.

example.org {
    erratic {
        drop 2
        truncate 2
    }
}

See Also

RFC 3849 and RFC 5737.