diff options
| author | Claude <noreply@anthropic.com> | 2026-08-25 21:23:04 -0500 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-08-25 21:23:04 -0500 |
| commit | 2a9ca0577ecdbee8b5a4bc8886c112dbc4260eab (patch) | |
| tree | 8f64cceb0a7831e8be9b7b76bbc9cc9e82e3f11c /internal/tmpl/tmpl.go | |
| parent | 9d934f49d032694e98f799f042e5eca30de6119c (diff) | |
new-app: configure jail mail relay and persist the jail's network alias
Two provisioning gaps in new-app:
- The jail's dma.conf inherited the base image's shared SMARTHOST/
PORT/AUTHPATH, but never got a per-app MAILNAME - without one, dma
can misroute mail for recipients on the jail's own apex domain as
local delivery. EnableMail appends a MAILNAME of <app>.skiff.local,
which can't collide with any real domain an app sends to or from.
- A classic jail's ip4.addr is only a bind restriction, not a route,
until something aliases it onto a host interface. jail.conf.tmpl
never set jail(8)'s own `interface` parameter, so nothing ever
created that alias - confirmed on skiff-freebsd, where the address
had twice been made to work via an ad hoc `ifconfig alias` that
didn't survive a reboot. Setting `interface` lets jail(8) manage
the alias itself, including on every boot.
Diffstat (limited to 'internal/tmpl/tmpl.go')
| -rw-r--r-- | internal/tmpl/tmpl.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/internal/tmpl/tmpl.go b/internal/tmpl/tmpl.go index 68e917d..12baa70 100644 --- a/internal/tmpl/tmpl.go +++ b/internal/tmpl/tmpl.go @@ -37,6 +37,7 @@ type JailConfData struct { Name string JailRoot string IP string + Iface string } func JailConf(d JailConfData) (string, error) { return Render(jailConf, d) } |
