all lists on 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal