mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-22 14:41:34 +00:00
fix(exec): resolve remote approval regressions (#58792)
* fix(exec): restore remote approval policy defaults * fix(exec): handle headless cron approval conflicts * fix(exec): make allow-always durable * fix(exec): persist exact-command shell trust * fix(doctor): match host exec fallback * fix(exec): preserve blocked and inline approval state * Doctor: surface allow-always ask bypass * Doctor: match effective exec policy * Exec: match node durable command text * Exec: tighten durable approval security * Exec: restore owner approver fallback * Config: refresh Slack approval metadata --------- Co-authored-by: scoootscooob <zhentongfan@gmail.com>
This commit is contained in:
@@ -54,6 +54,7 @@ export function evaluateSystemRunPolicy(params: {
|
||||
ask: ExecAsk;
|
||||
analysisOk: boolean;
|
||||
allowlistSatisfied: boolean;
|
||||
durableApprovalSatisfied?: boolean;
|
||||
approvalDecision: ExecApprovalDecision;
|
||||
approved?: boolean;
|
||||
isWindows: boolean;
|
||||
@@ -87,6 +88,7 @@ export function evaluateSystemRunPolicy(params: {
|
||||
security: params.security,
|
||||
analysisOk,
|
||||
allowlistSatisfied,
|
||||
durableApprovalSatisfied: params.durableApprovalSatisfied,
|
||||
});
|
||||
if (requiresAsk && !approvedByAsk) {
|
||||
return {
|
||||
@@ -104,6 +106,18 @@ export function evaluateSystemRunPolicy(params: {
|
||||
}
|
||||
|
||||
if (params.security === "allowlist" && (!analysisOk || !allowlistSatisfied) && !approvedByAsk) {
|
||||
if (params.durableApprovalSatisfied) {
|
||||
return {
|
||||
allowed: true,
|
||||
analysisOk,
|
||||
allowlistSatisfied,
|
||||
shellWrapperBlocked,
|
||||
windowsShellWrapperBlocked,
|
||||
requiresAsk,
|
||||
approvalDecision: params.approvalDecision,
|
||||
approvedByAsk,
|
||||
};
|
||||
}
|
||||
return {
|
||||
allowed: false,
|
||||
eventReason: "allowlist-miss",
|
||||
|
||||
Reference in New Issue
Block a user