[pbs-devel] applied: [PATCH] api: RPC environment: add client IP getter/setter to trait
Thomas Lamprecht
t.lamprecht at proxmox.com
Wed Oct 14 17:33:15 CEST 2020
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 <t.lamprecht at proxmox.com>
---
preparatory to a proxmox-backup patch set I'm working on
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 1b68928..430f3a6 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<String>;
+
+ /// Set the client IP, should be re-set if a proxied connection was detected
+ fn set_client_ip(&mut self, _client_ip: Option<std::net::SocketAddr>) {
+ // dummy no-op implementation, as most environments don't need this
+ }
+
+ /// Get the (real) client IP
+ fn get_client_ip(&self) -> Option<std::net::SocketAddr> {
+ None // dummy no-op implementation, as most environments don't need this
+ }
}
/// Environment Type
--
2.27.0
More information about the pbs-devel
mailing list