2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# header
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Name
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:46:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*header* - modifies the header for queries and responses.
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Description
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:46:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*header* ensures that the flags are in the desired state for queries and responses.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The modifications are made transparently for the client and subsequent plugins.
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Syntax
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								header {
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:46:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    [SELECTOR] ACTION FLAGS...
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    [SELECTOR] ACTION FLAGS...
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:46:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  **SELECTOR** defines if the action should be applied on `query`  or `response` . In future CoreDNS version the selector will be mandatory. For backwards compatibility the action will be applied on `response`  if the selector is undefined. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 10:10:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  **ACTION** defines the state for DNS message header flags. Actions are evaluated in the order they are defined so last one has the 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  most precedence. Allowed values are:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  `set` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  `clear` 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 10:10:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  **FLAGS** are the DNS header flags that will be modified. Current supported flags include: 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  `aa`  - Authoritative(Answer)
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    *  `ra`  - RecursionAvailable
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  `rd`  - RecursionDesired
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Examples
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Make sure recursive available `ra`  flag is set in all the responses:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~ corefile
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								. {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    header {
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:46:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        response set ra
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 10:10:16 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Make sure "recursion available" `ra`  and "authoritative answer" `aa`  flags are set and "recursion desired" is cleared in all responses:
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~ corefile
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								. {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    header {
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:46:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        response set ra aa
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        response clear rd
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Make sure "recursion desired" `rd`  is set for all subsequent plugins::
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~ corefile
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								. {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    header {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        query set rd
							 
						 
					
						
							
								
									
										
										
										
											2021-07-15 09:32:39 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								~~~