Domain Pointers option to receive duplicate dns entries from master domain (SKINS)

Version 1.592

Feature
Finished

If you have main User domain.com, and it has Domain Pointer domain.net below it, this feature would mean that any record added to domain.com through the API or GUI would added to domain.net. There will be a checkbox both at the top of the "Add Domain Records" table, as well as at the bottom of the "Delete Selected" table. This only applies to the User Level DNS Manager, as the Admin Level feature is more of a raw-zone type feature, and the actual User domains might not actually exist locally anyway. When adding a value where the left-side is in the full form, eg: domain.com. A something.domain.com. A DA will automatically swap each pointer's call to use the left-side: pointer.com. A somthing.pointer.com. A The right-side value is not adjusted, so if you're setting domain.com to use say ns1.domain.com., the pointer.com will also get ns1.domain.com. ================= DEFAULTS The feature itself is always on, but if you wish to change the default for the checkboxes to be unselected, set: ./directadmin set dns_affect_pointers_default 0 and when it's set to 1 (which is the internal default), the 2 checkboxes will be checked by default. ================= TOKEN The CMD_DNS_CONTROL page will now get this token, representing the dns_affect_pointers_default=1|0 setting: DNS_AFFECT_POINTERS_DEFAULT=yes|no ================= EXCEPTIONS DNSSEC (DS records) would be a per-domain setup.. so they will not not be synced. DKIM: should be fine to duplicate, since the dkim key files are shared via /etc/virtual/domain.net -> domain.com symbolic link. ================= TTL OVERRIDE The code that writes the pointer's zone will now check for it's master domain's ttl_override setting in the data/users/username/domains/materdomain.com.conf file, since the pointers know which domain they're under. ================= SKINS user/dns_control.html user/dns_mx_control.html #changes here are very similar. ---- CMD_DNS_CONTROL |?DNS_AFFECT_POINTERS_CHECKED=| |*if DNS_AFFECT_POINTERS_DEFAULT="yes"| |?DNS_AFFECT_POINTERS_CHECKED=checked| |*endif| DELETION: <input type='checkbox' name='affect_pointers' value='yes' |DNS_AFFECT_POINTERS_CHECKED|> Remove From Pointers CREATION: <input type='checkbox' id='affect_pointers_checkbox' |DNS_AFFECT_POINTERS_CHECKED|> Duplicate to pointers Each of the "Add Record" forms includes: <input type=hidden name='affect_pointers' id='a_ap' value='|DNS_AFFECT_POINTERS_DEFAULT|'> which is updated on each form's submission: <form action='/CMD_DNS_CONTROL' method='POST' onsubmit="return set_affect_pointers('a_ap');"> and the JS lives in user/dns.js function set_affect_pointers(hidden_id) { var checkbox = document.getElementById('affect_pointers_checkbox'); var hidden_input = document.getElementById(hidden_id); if (checkbox.checked) { hidden_input.value = 'yes'; } else { hidden_input.value = 'no'; } console.log('hidden value has been set to: '+hidden_input.value); return true; } ---- T:13497

Interested to try DirectAdmin? Get a 30-day Free Trial!