The assets/policy-extras dir is now deployed to
`/opt/kumomta/share/policy-extras` and added to the require path,
so you can do:
```lua
local shaping = require 'policy-extras.shaping'
```
to pull it into your policy.
If multiple domains resolve to the same site name, capture the
list and report it, then generate an error.
The operator needs to fix conflicting rollups in order for the
system to behave sanely.
Fix merging in default values
Ensure that we trigger an async compatible callback so that
we can use eg: DNS resolution and memoization when processing it.
Fix the site name so that it doesn't include "source->site" and is
just the pure site name.
In some cases (eg: initial spool -> expiration) we don't have
any metadata loaded, causing the logs to say that the metadata
wasn't loaded.
This commit loads it as needed.
When given an extension/tagged domain, we didn't include the closing
square bracket when rendering it as text.
Note that this looks like an IPv6 address, but it is not a conforming
IPv6 address which looks like `[IPv6:aaaa::bbbb]` rather than
`[aaaa:bbbb]`. The latter uses tag "aaaa" to define a different
addressing namespace that has no known implementation.
<https://datatracker.ietf.org/doc/html/rfc5321#section-4.1.3>
it pulls in an old version of the time crate that flags many
rust projects as being vulnerable to an old CVE.
We still have other references to time that I'll remove in a follow up.
If they don't already have a policy defined, copy the basic
one into place so that the service can start and they have
a starting point which they can customize