mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-18 13:14:56 +03:00
* fix(mitm): gate Agent Bridge DNS and Trust Cert on sudo password (#7938) Extend the #7865 sudo gate to setup wizard DNS, Start DNS, and Trust Cert. Start server still runs without a password but skips privileged cert/DNS steps instead of spawning sudo -S with an empty string. Add a shared sudo password modal on the Agent Bridge page for DNS and trust-cert actions. Fixes #7938 * fix(mitm): use .tsx extension for MitmSudoPasswordModal hook JSX in a .ts file broke dashboard typecheck and ESLint on CI. * fix(mitm): skip DNS teardown on stop when sudo password missing (#7938) stopMitm() no longer invokes removeDNSEntry with an empty password when the server was started in skip mode. The MITM process is still killed. * refactor(mitm): extract privileged step helpers to satisfy file-size cap manager.ts exceeded the 800-line cap after #7938 gates. Move DNS teardown and the shared sudo skip runner into dedicated modules; behavior unchanged.
18 lines
492 B
TypeScript
18 lines
492 B
TypeScript
import { createLogger } from "@/shared/utils/logger.ts";
|
|
import { canRunPrivilegedMitmSteps } from "./sudoGate.ts";
|
|
|
|
const log = createLogger("mitm-manager");
|
|
|
|
/** Run a privileged MITM step when sudo is available; log and skip otherwise (#7938). */
|
|
export async function runPrivilegedMitmStep(
|
|
sudoPassword: string,
|
|
skipLog: string,
|
|
step: () => Promise<void>
|
|
): Promise<void> {
|
|
if (!canRunPrivilegedMitmSteps(sudoPassword)) {
|
|
log.info(skipLog);
|
|
return;
|
|
}
|
|
await step();
|
|
}
|