Revision history for Configd

0.005 2026-10-24 TEODESIAN
    - postfix: smtp_sasl_password_maps and smtp_tls_policy_maps accumulate.
      A host that sends each mail domain through a relay of its own names a
      table per domain in each.  The later fragment replaced the list, so the
      mail of every domain but the last went to its relay with no login, and
      the relay refused it.

0.004 2026-10-23 TEODESIAN
    - opendmarc: TrustedAuthservIDs accumulates.  One opendmarc serves every
      mail domain on a host, and each domain's fragment names the ids that it
      trusts.  The later fragment replaced the list, so opendmarc trusted only
      the last domain's ids.  AuthservID is still one value.

0.003 2026-10-23 TEODESIAN
    - Accumulating directives now join as lists of items, not as strings.  An
      item that the list already holds is not added again, so a fragment that
      repeats what 00-original says changes nothing.  Joining the strings gave
      inet_interfaces = all, all from two fragments that each said all, and
      postfix refuses to start on that.
    - postfix: inet_interfaces is all when any fragment says all, because
      postfix refuses all beside an address.
    - A separator inside braces does not split an item, as postfix reads an
      inline: table.

0.002 2026-09-06 TEODESIAN
    - postfix: accumulate sender_dependent_relayhost_maps and
      smtpd_sender_login_maps, which are lists of lookup tables like the rest of
      the *_maps family and were missed.  Not accumulating the second one is
      dangerous rather than merely wrong: it is what
      reject_authenticated_sender_login_mismatch reads, so a host with two
      domains ends up naming one domain's table and refuses the other domain's
      users when they send.
    - postfix: document what adopting main.cf does not reach -- the lookup
      tables it names, and what to do about the ones behind a restriction list.
    - An empty value on an accumulating directive now resets it, the way a
      systemd drop-in does.  Without it a fragment could only ever add to what
      00-original held, and 00-original is sometimes wrong rather than
      incomplete: a guest whose hostname is a domain it hosts has the package's
      own mydestination naming a domain that must be a virtual mailbox domain
      instead, postfix refuses to have it in both, and nothing could take it out.

0.001 2026-09-05 TEODESIAN
    - Initial Release
    - Languages: postfix (main.cf, master.cf), opendkim, opendmarc, redis
