public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] applied: [PATCH] api: RPC environment: add client IP getter/setter to trait
@ 2020-10-14 15:33 Thomas Lamprecht
  0 siblings, 0 replies; only message in thread
From: Thomas Lamprecht @ 2020-10-14 15:33 UTC (permalink / raw)
  To: pbs-devel

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@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





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-10-14 15:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-14 15:33 [pbs-devel] applied: [PATCH] api: RPC environment: add client IP getter/setter to trait Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal