github Control-D-Inc/ctrld v1.5.6
Release v1.5.6

3 hours ago

Minor Release

This contains new features, security hardening and bug fixes.

Security

  • Defaulted the metrics server to loopback, so a listener address with no host no longer serves unauthenticated metrics to the whole network
  • Redacted the provisioning token in logs, so a failed provisioning no longer writes a reusable credential into log files and support bundles

Added

  • Stable provisioning failure codes for manual and MDM installs. Terminal failures during bootstrap, listener binding, and service install/start now report a support-facing code and a stage-scoped exit code that survive process exit, so a customer can name the failed stage without a rerun with verbose logging
  • Group Policy NRPT adoption on Windows. When an administrator already deploys a catch-all rule pointing at ctrld's listener, ctrld serves DNS through it instead of managing NRPT and adapter DNS itself, falls back to its own rule if that policy goes away, and never modifies or deletes the administrator's rule
  • Startup verification in ctrld status. The command now confirms that ctrld is actually serving rather than only registered as running, and reports a distinct exit code for a service that never finished starting

Changed

  • Made --intercept-mode off actually turn interception off, instead of leaving a previously persisted mode in the config for the next service start to pick up
  • Applied the selected intercept mode from the macOS package, and made the launchd argument edits exact so a mode value cannot be left without its flag

Fixed

  • Stopped a false pf-wipe loop on macOS DNS intercept, where link-local IPv6 notification storms drove endless stabilization cycles and DNS timeouts with the live pf anchor intact
  • Probed interception when pf stabilization finishes on macOS, so a redirect that pf has stopped evaluating - after sleep/wake, for example - recovers immediately instead of waiting for the periodic watchdog
  • Retried the macOS OS resolver without its source binding when the bound address is unreachable, so upstream.os can reach a VPN-only resolver under a full tunnel instead of failing with no route to host
  • Bounded the API preflight by service lifetime, so a stop request during an unreachable-API retry loop is honoured instead of leaving the process working for a service the OS considers stopped
  • Bumped insomniacslk/dhcp to c76316d to fix an nclient4 panic (insomniacslk/dhcp#583)

Don't miss a new ctrld release

NewReleases is sending notifications on new releases.