| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | # erratic
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-04 12:53:07 +00:00
										 |  |  | ## Name
 | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-04 12:53:07 +00:00
										 |  |  | *erratic* - a plugin useful for testing client behavior. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Description
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-02 07:22:26 +01:00
										 |  |  | *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](https://tools.ietf.org/html/rfc5737)), for AAAA it returns 2001:DB8::53 ([RFC | 
					
						
							|  |  |  | 3849](https://tools.ietf.org/html/rfc3849)). For an AXFR request it will respond with a small | 
					
						
							|  |  |  | zone transfer. | 
					
						
							| 
									
										
										
										
											2017-08-18 12:57:23 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | ## Syntax
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ~~~ txt | 
					
						
							|  |  |  | erratic { | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  |     drop [AMOUNT] | 
					
						
							| 
									
										
										
										
											2017-04-16 07:49:13 +01:00
										 |  |  |     truncate [AMOUNT] | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  |     delay [AMOUNT [DURATION]] | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | } | 
					
						
							|  |  |  | ~~~ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-16 07:49:13 +01:00
										 |  |  | * `drop`: drop 1 per **AMOUNT** of queries, the default is 2. | 
					
						
							|  |  |  | * `truncate`: truncate 1 per **AMOUNT** of queries, the default is 2. | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  | * `delay`: delay 1 per **AMOUNT** of queries for **DURATION**, the default for **AMOUNT** is 2 and | 
					
						
							|  |  |  |   the default for **DURATION** is 100ms. | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 10:25:54 +01:00
										 |  |  | In case of a zone transfer and truncate the final SOA record *isn't* added to the response. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-07 20:35:16 +00:00
										 |  |  | ## Ready
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This plugin reports readiness to the ready plugin. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | ## Examples
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-15 09:56:05 +01:00
										 |  |  | ~~~ corefile | 
					
						
							| 
									
										
										
										
											2019-09-19 14:17:53 +01:00
										 |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  |     erratic { | 
					
						
							|  |  |  |         drop 3 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ~~~ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-02 07:22:26 +01:00
										 |  |  | Or even shorter if the defaults suit you. Note this only drops queries, it does not delay them. | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-15 09:56:05 +01:00
										 |  |  | ~~~ corefile | 
					
						
							| 
									
										
										
										
											2019-09-19 14:17:53 +01:00
										 |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  |     erratic | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ~~~ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-16 07:49:13 +01:00
										 |  |  | Delay 1 in 3 queries for 50ms | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-15 09:56:05 +01:00
										 |  |  | ~~~ corefile | 
					
						
							| 
									
										
										
										
											2019-09-19 14:17:53 +01:00
										 |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  |     erratic { | 
					
						
							|  |  |  |         delay 3 50ms | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ~~~ | 
					
						
							| 
									
										
										
										
											2017-01-06 09:42:30 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-16 07:49:13 +01:00
										 |  |  | Delay 1 in 3 and truncate 1 in 5. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-15 09:56:05 +01:00
										 |  |  | ~~~ corefile | 
					
						
							| 
									
										
										
										
											2019-09-19 14:17:53 +01:00
										 |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  |     erratic { | 
					
						
							| 
									
										
										
										
											2017-04-16 07:49:13 +01:00
										 |  |  |         delay 3 5ms | 
					
						
							|  |  |  |         truncate 5 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ~~~ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Drop every second query. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-15 09:56:05 +01:00
										 |  |  | ~~~ corefile | 
					
						
							| 
									
										
										
										
											2019-09-19 14:17:53 +01:00
										 |  |  | example.org { | 
					
						
							| 
									
										
										
										
											2017-04-16 07:49:13 +01:00
										 |  |  |     erratic { | 
					
						
							|  |  |  |         drop 2 | 
					
						
							|  |  |  |         truncate 2 | 
					
						
							| 
									
										
										
										
											2017-04-13 16:26:17 +01:00
										 |  |  |     } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ~~~ | 
					
						
							| 
									
										
										
										
											2018-03-07 13:52:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-28 18:56:35 +01:00
										 |  |  | ## See Also
 | 
					
						
							| 
									
										
										
										
											2018-03-07 13:52:32 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-19 14:17:53 +01:00
										 |  |  | [RFC 3849](https://tools.ietf.org/html/rfc3849) and [RFC 5737](https://tools.ietf.org/html/rfc5737). |