mailcow-dockerized/data/web/inc
Stephen Ritz e5d0ed8c4c [Web] use absolute RHS names in generated DNS zonefile
The DNS overview "Download" produces a $ORIGIN zonefile, but the
right-hand side of MX, CNAME and SRV records was emitted as a relative
name. A target such as mail.example.net is then read relative to the
origin and expands to mail.example.net.example.org., which is wrong.

The only prior attempt at making names absolute was
str_replace($domain, $domain . '.', ...), which appended a dot only to
targets that happened to contain the origin domain, so cross-domain
targets stayed relative. That same replace also corrupted any TXT value
containing the origin (e.g. a DMARC rua=mailto:x@example.org became
...@example.org.).

Absolutize the RHS per record type at export time only: MX and CNAME
targets, and the SRV target token, get a trailing dot; ports, the SRV
root target ".", IP addresses and TXT character strings are left as is.
The records used for the on-page DNS validation are untouched, so
matching against dns_get_record() output still works.

Fixes #6984

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-14 16:33:46 -07:00
..
ajax
lib
presets
footer.inc.php
functions.acl.inc.php
functions.address_rewriting.inc.php
functions.admin.inc.php
functions.app_passwd.inc.php
functions.auth.inc.php
functions.customize.inc.php
functions.dkim.inc.php
functions.docker.inc.php
functions.domain_admin.inc.php
functions.fail2ban.inc.php
functions.fwdhost.inc.php
functions.inc.php
functions.mailbox.inc.php
functions.mailq.inc.php
functions.oauth2.inc.php
functions.policy.inc.php
functions.presets.inc.php
functions.pushover.inc.php
functions.quarantine.inc.php
functions.quota_notification.inc.php
functions.ratelimit.inc.php
functions.rspamd.inc.php
functions.tls_policy_maps.inc.php
functions.transports.inc.php
header.inc.php
init_db.inc.php
prerequisites.inc.php
sessions.inc.php
spf.inc.php
triggers.admin.inc.php
triggers.domainadmin.inc.php
triggers.global.inc.php
triggers.user.inc.php
twig.inc.php
vars.inc.php