-
Notifications
You must be signed in to change notification settings - Fork 44
Open
Description
In Dns_trie.check we check MX records pointing to a subdomain that the subdomain has an address:
Lines 305 to 318 in facec28
| | B (Mx, (ttl, mxs)) -> | |
| if ttl < 0l then | |
| Error (`Bad_ttl (name, v)) | |
| else if Rr_map.Mx_set.is_empty mxs then | |
| Error (`Empty (name, K Mx)) | |
| else | |
| let domain = match state' with `None -> name | `Soa zone -> zone in | |
| Rr_map.Mx_set.fold (fun { mail_exchange ; _ } r -> | |
| let* () = r in | |
| if Domain_name.is_subdomain ~subdomain:mail_exchange ~domain then | |
| guard (has_address mail_exchange) (`Missing_address mail_exchange) | |
| else | |
| Ok ()) | |
| mxs (Ok ()) |
This prevents mistakes adding MX records that cannot be delivered mail to. However, I don't think this should be a fatal error, and the domain might even have additional MX records some of which do have addresses making mail delivery possible (although not quite optimal). So maybe this can be promoted to a warning instead?
See also
robur-coop/dns-primary-git#29
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels