From 88586e9343fb58ed7dc2083c7ad3bd75f3078e0c Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Tue, 13 Oct 2020 11:25:37 +0200 Subject: [PATCH] api: RPC environment: add client IP getter/setter to trait This is similar to what we have in PVE and PMG now. Will be used to set the real client IP for proxied connections. with a dummy implementation, which avoids the need to implement it for the CLI or Backup environments, which do not have or care for a client IP Signed-off-by: Thomas Lamprecht --- proxmox/src/api/rpc_environment.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/proxmox/src/api/rpc_environment.rs b/proxmox/src/api/rpc_environment.rs index 1b689289..430f3a6c 100644 --- a/proxmox/src/api/rpc_environment.rs +++ b/proxmox/src/api/rpc_environment.rs @@ -19,6 +19,16 @@ pub trait RpcEnvironment: std::any::Any + AsAny + Send { /// Get user name fn get_user(&self) -> Option; + + /// Set the client IP, should be re-set if a proxied connection was detected + fn set_client_ip(&mut self, _client_ip: Option) { + // dummy no-op implementation, as most environments don't need this + } + + /// Get the (real) client IP + fn get_client_ip(&self) -> Option { + None // dummy no-op implementation, as most environments don't need this + } } /// Environment Type