pub struct CompatibilityRuntimeHooks {
pub auth_reuse: Option<Arc<AuthReuseCache>>,
pub system_proxy: Option<SystemProxyRequest>,
pub allow_insecure_ssh_host_keys: bool,
}Expand description
Minimal residual compatibility surface for runtime/post-bind behavior.
Only state that genuinely requires runtime participation lives here:
auth_reuse: pre-built source-IP auth reuse cache for pproxy--auth. The compatibility facade computes the timeout viaPproxyArgs::effective_auth_timeout()and constructsAuthReuseCache::new(timeout)before startup; the generic supervisor never interprets pproxy argument semantics, it only threads the typed handle into inbound authentication.system_proxy: opt-in post-bind OS proxy hook (--sys).Nonemeans no OS mutation.allow_insecure_ssh_host_keys: narrow SSH host-key policy resolved by the compatibility facade fromEGRESS_SSH_INSECURE_HOST_KEYS. Native startup never sets it.
Pre-start adapter policy is intentionally absent: -d/-v log-level
selection is resolved by the CLI facade via
PproxyArgs::default_log_level() before supervisor construction with
explicit RUST_LOG precedence, and structured compatibility warnings stay
in eggress-pproxy-compat. The generic supervisor consumes ordinary
tracing and emits one generic connection completed log backed by normal
session reports.
Native startup passes None; compatibility startup passes
Some(hooks) via start_from_config_with_compatibility.
Legacy callers that still construct CompatibilityOptions should convert
via CompatibilityRuntimeHooks::from_legacy_options; the legacy DTO never
enters supervisor state.
Fields§
§auth_reuse: Option<Arc<AuthReuseCache>>§system_proxy: Option<SystemProxyRequest>§allow_insecure_ssh_host_keys: boolImplementations§
Source§impl CompatibilityRuntimeHooks
impl CompatibilityRuntimeHooks
Sourcepub fn from_facade(
auth_timeout: Duration,
system_proxy: bool,
allow_insecure_ssh_host_keys: bool,
) -> Self
pub fn from_facade( auth_timeout: Duration, system_proxy: bool, allow_insecure_ssh_host_keys: bool, ) -> Self
Build the canonical pproxy compatibility hooks from already-parsed facade decisions.
auth_timeout is the fully-resolved reuse interval (typically
PproxyArgs::effective_auth_timeout()); system_proxy mirrors --sys;
allow_insecure_ssh_host_keys mirrors
ssh_insecure_acknowledged() (explicit EGRESS_SSH_INSECURE_HOST_KEYS
opt-in). This keeps pproxy argument interpretation in the facade while
giving runtime a single typed construction point.
Sourcepub fn from_legacy_options(options: &CompatibilityOptions) -> Self
pub fn from_legacy_options(options: &CompatibilityOptions) -> Self
Canonical conversion from the legacy public facade DTO.
Ownership: auth_timeout/system_proxy/compatibility_mode are
interpreted here once at the boundary; the supervisor never stores
CompatibilityOptions.
auth_timeout: Some(d)becomes a bounded process-localAuthReuseCache;Nonemeans no reuse cache. The pproxy CLI’s 30-day default lives inPproxyArgs::effective_auth_timeout()at the facade, not here.system_proxy: truebecomesSome(SystemProxyRequest)(post-bind opt-in);falsebecomesNone(no OS mutation).compatibility_modeis consumed intoallow_insecure_ssh_host_keysand never becomes a generic runtime mode flag: insecure SSH is permitted only whencompatibility_modeis true andssh_insecure_acknowledged()observes the explicitEGRESS_SSH_INSECURE_HOST_KEYSopt-in. Non-compatibility startup stays secure even if the variable is set.debug/verbose_levelare legacy presentation inputs and are intentionally ignored here; logging policy is facade-owned (seePproxyArgs::default_log_level()). The legacy startup shim emits a single warning for non-default values.
Trait Implementations§
Source§impl Clone for CompatibilityRuntimeHooks
impl Clone for CompatibilityRuntimeHooks
Source§fn clone(&self) -> CompatibilityRuntimeHooks
fn clone(&self) -> CompatibilityRuntimeHooks
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more