From 0d1753ac747c43b9f48310c4f7be284fdc6ee669 Mon Sep 17 00:00:00 2001
From: sirux88 <sirux88@gmail.com>
Date: Sun, 5 Feb 2023 16:47:23 +0100
Subject: [PATCH] completly hide reset password policy on email disabled
 instances

---
 src/api/core/organizations.rs | 4 ----
 src/db/models/organization.rs | 4 ++--
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs
index 3b0d5fad..9250f929 100644
--- a/src/api/core/organizations.rs
+++ b/src/api/core/organizations.rs
@@ -1585,10 +1585,6 @@ async fn put_policy(
         }
     }
 
-    if pol_type_enum == OrgPolicyType::ResetPassword && data.enabled && !CONFIG.mail_enabled() {
-        err!("Due to potential security flaws and/or misuse reset password policy is disabled on mail disabled instances")
-    }
-
     let mut policy = match OrgPolicy::find_by_org_and_type(&org_id, pol_type_enum, &mut conn).await {
         Some(p) => p,
         None => OrgPolicy::new(org_id.clone(), pol_type_enum, "{}".to_string()),
diff --git a/src/db/models/organization.rs b/src/db/models/organization.rs
index 1de321bd..a6e4be21 100644
--- a/src/db/models/organization.rs
+++ b/src/db/models/organization.rs
@@ -159,7 +159,7 @@ impl Organization {
             "SelfHost": true,
             "UseApi": false, // Not supported
             "HasPublicAndPrivateKeys": self.private_key.is_some() && self.public_key.is_some(),
-            "UseResetPassword": true,
+            "UseResetPassword": CONFIG.mail_enabled(),
 
             "BusinessName": null,
             "BusinessAddress1": null,
@@ -314,7 +314,7 @@ impl UserOrganization {
             "SelfHost": true,
             "HasPublicAndPrivateKeys": org.private_key.is_some() && org.public_key.is_some(),
             "ResetPasswordEnrolled": self.reset_password_key.is_some(),
-            "UseResetPassword": true,
+            "UseResetPassword": CONFIG.mail_enabled(),
             "SsoBound": false, // Not supported
             "UseSso": false, // Not supported
             "ProviderId": null,