mirror of
				https://github.com/mail-in-a-box/mailinabox.git
				synced 2025-10-31 19:00:54 +00:00 
			
		
		
		
	Add AAAA records for autodiscover & autoconfig (#1606)
This commit is contained in:
		
							parent
							
								
									5fc1944f04
								
							
						
					
					
						commit
						fd5b11823c
					
				| @ -288,14 +288,20 @@ def build_zone(domain, all_domains, additional_records, www_redirect_domains, en | ||||
| 			if not has_rec(qname, "SRV"): | ||||
| 				records.append((qname, "SRV", "0 0 443 " + env["PRIMARY_HOSTNAME"] + ".", "Recommended. Specifies the hostname of the server that handles CardDAV/CalDAV services for email addresses on this domain.")) | ||||
| 
 | ||||
|         # Adds autoconfiguration A records for all domains. | ||||
|         # This allows the following clients to automatically configure email addresses in the respective applications. | ||||
|         # autodiscover.* - Z-Push ActiveSync Autodiscover | ||||
|         # autoconfig.* - Thunderbird Autoconfig | ||||
| 	if not has_rec("autodiscover", "A"): | ||||
| 		records.append(("autodiscover", "A", env["PUBLIC_IP"], "Provides email configuration autodiscovery support for Z-Push ActiveSync Autodiscover.")) | ||||
| 	if not has_rec("autoconfig", "A"): | ||||
| 		records.append(("autoconfig", "A", env["PUBLIC_IP"], "Provides email configuration autodiscovery support for Thunderbird Autoconfig.")) | ||||
| 	# Adds autoconfiguration A records for all domains. | ||||
| 	# This allows the following clients to automatically configure email addresses in the respective applications. | ||||
| 	# autodiscover.* - Z-Push ActiveSync Autodiscover | ||||
| 	# autoconfig.* - Thunderbird Autoconfig | ||||
| 	autodiscover_records = [ | ||||
| 		("autodiscover", "A", env["PUBLIC_IP"], "Provides email configuration autodiscovery support for Z-Push ActiveSync Autodiscover."), | ||||
| 		("autodiscover", "AAAA", env["PUBLIC_IPV6"], "Provides email configuration autodiscovery support for Z-Push ActiveSync Autodiscover."), | ||||
| 		("autoconfig", "A", env["PUBLIC_IP"], "Provides email configuration autodiscovery support for Thunderbird Autoconfig."), | ||||
| 		("autoconfig", "AAAA", env["PUBLIC_IPV6"], "Provides email configuration autodiscovery support for Thunderbird Autoconfig.") | ||||
| 	] | ||||
| 	for qname, rtype, value, explanation in autodiscover_records: | ||||
| 		if value is None or value.strip() == "": continue # skip IPV6 if not set | ||||
| 		if not has_rec(qname, rtype): | ||||
| 			records.append((qname, rtype, value, explanation)) | ||||
| 
 | ||||
| 	# Sort the records. The None records *must* go first in the nsd zone file. Otherwise it doesn't matter. | ||||
| 	records.sort(key = lambda rec : list(reversed(rec[0].split(".")) if rec[0] is not None else "")) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user