#!/usr/bin/env bash
set -Eeuo pipefail
BASE="${ROUTER_OPS_BASE:-/opt/router-ops}"
STATE="$BASE/state/p26c2w-r01-gate-hardening.env"
GATE="$BASE/bin/router-bundle-gate"
OLD='56d2307d42bcb66dce9e771d69207fcf1d571636d8dcb31cb7a9f82cbadbfa24'
NEW='964fefa79dfa5869f8d926776f6108ec03d477a3c74bff362d467e17a79a3a8e'
[[ -f "$STATE" ]] || { echo RESULT=STOP_P26C2W_ROLLBACK_STATE_MISSING; exit 2; }
source "$STATE"
[[ -f "${BACKUP_PATH:-}" ]] || { echo RESULT=STOP_P26C2W_ROLLBACK_BACKUP_MISSING; exit 2; }
CUR="$(sha256sum "$GATE" | awk '{print $1}')"
[[ "$CUR" == "$NEW" ]] || { echo RESULT=STOP_P26C2W_ROLLBACK_CURRENT_HASH_GUARD; echo CURRENT_SHA256="$CUR"; exit 2; }
tmp="$GATE.rollback.$$"
cp -a "$BACKUP_PATH" "$tmp"
chmod 755 "$tmp"
[[ "$(sha256sum "$tmp"|awk '{print $1}')" == "$OLD" ]]
mv -f "$tmp" "$GATE"
[[ "$(sha256sum "$GATE"|awk '{print $1}')" == "$OLD" ]]
echo RESULT=PASS_P26C2W_VM130_GATE_ROLLBACK
