#!/bin/sh
set -eu

# Reviewed package version. Refuse silent upgrades until they are inspected.
expected_version='0.1.0-rc.6'

if [ -n "${DSH_TELEMETRY_MODE-}" ] && [ "${DSH_TELEMETRY_MODE}" != 'DISABLED' ]; then
  printf '%s\n' "Refusing to start: DSH_TELEMETRY_MODE=${DSH_TELEMETRY_MODE}" >&2
  exit 78
fi

if [ -n "${DSH_TELEMETRY_OTLP_URL-}" ]; then
  printf '%s\n' 'Refusing to start: DSH_TELEMETRY_OTLP_URL is set' >&2
  exit 78
fi

real_dsh=${DSH_REAL_BIN-}
if [ -z "$real_dsh" ]; then
  real_dsh=$(command -v dsh 2>/dev/null || true)
fi
if [ -z "$real_dsh" ] || [ ! -x "$real_dsh" ]; then
  printf '%s\n' 'Refusing to start: set DSH_REAL_BIN to the real dsh executable' >&2
  exit 127
fi

if [ "$real_dsh" -ef "$0" ]; then
  printf '%s\n' 'Refusing to start: DSH_REAL_BIN resolves to this launcher' >&2
  exit 78
fi

# In the reviewed release, any nonempty value applies a final boot overlay
# that disables the telemetry plugin, even if a profile enables FULL mode.
# Apply it before even asking the executable for its version.
export DSH_TELEMETRY_DISABLED=1
unset DSH_TELEMETRY_MODE DSH_TELEMETRY_OTLP_URL

if ! actual_version=$("$real_dsh" --version 2>/dev/null); then
  printf '%s\n' 'Refusing to start: dsh version check failed' >&2
  exit 78
fi
if [ "$actual_version" != "$expected_version" ]; then
  printf '%s\n' "Refusing to start unreviewed dsh version: ${actual_version:-unknown} (expected $expected_version)" >&2
  exit 78
fi

exec "$real_dsh" "$@"
