smoke: an account given in the shell no longer fails the realm leg
With no `.probe-identity`, the scrub kept the shell's WOW_USER, WOW_PASS and WOW_CHAR in the environment, so the realm leg inherited WOW_CHAR and `realm_select::smoke` refused it: the documented `WOW_USER=… WOW_PASS=… WOW_CHAR=… scripts/smoke.sh` could never pass. The account is resolved into the script's own variables first and each leg passes it by name, so it now leaves the environment either way. Verified: the scrub run alone with the account in the shell leaves only WOW_HOST in a child's environment, with and without a declared identity. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -28,9 +28,12 @@ char="$PROBE_CHAR"
|
||||
inherited=""
|
||||
for v in $(env | sed -n 's/^\(WOW_[A-Za-z0-9_]*\)=.*/\1/p'); do
|
||||
case "$v" in WOW_DATA | WOW_HOST | WOW_BG | WOW_SMOKE_KEEP) continue ;; esac
|
||||
unset "$v"
|
||||
# The account is in $user/$pass/$char now and each leg passes what it needs by name (the realm
|
||||
# leg refuses a WOW_CHAR), so it leaves the environment either way. It was only "ignored"
|
||||
# when the checkout's declared identity took its place.
|
||||
[ -n "$PROBE_DECLARED" ] || case "$v" in WOW_USER | WOW_PASS | WOW_CHAR) continue ;; esac
|
||||
inherited="$inherited $v"
|
||||
unset "$v"
|
||||
done
|
||||
[ -n "$inherited" ] &&
|
||||
echo "smoke: ignoring inherited env —$inherited (each leg names its own; a gate is not shell-dependent)"
|
||||
|
||||
Reference in New Issue
Block a user