From 67bd45fa5fffd500d87f0e78dc49f17da2cac954 Mon Sep 17 00:00:00 2001
From: Davide Principi <davide.principi@nethesis.it>
Date: Tue, 26 Nov 2024 16:30:22 +0100
Subject: [PATCH] Fix add-relay-rule for non-sender rules

Settings must be copied across different rule types: in case of Default
and Recipient settings are shared. This aligns the add-relay-rule action
behavior to the correct behavior of alter-relay-rule.

Refs NethServer/dev#7069
---
 imageroot/actions/add-relay-rule/20add-relay-rule | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/imageroot/actions/add-relay-rule/20add-relay-rule b/imageroot/actions/add-relay-rule/20add-relay-rule
index ea355238..461edcc8 100755
--- a/imageroot/actions/add-relay-rule/20add-relay-rule
+++ b/imageroot/actions/add-relay-rule/20add-relay-rule
@@ -56,7 +56,7 @@ try:
         sys.exit(5)
     if rule_type != 'sender':
         # Copy auth and transport settings to existing rules with the same host:port key
-        cur.execute("""UPDATE relayrules SET transport=:transport, tls=:mandatory_tls, username=:username, password=:password WHERE host=:host AND port=:port AND rule_type=:rule_type""", values)
+        cur.execute("""UPDATE relayrules SET transport=:transport, tls=:mandatory_tls, username=:username, password=:password WHERE (rule_type != 'sender' AND host=:host AND port=:port)""", values)
     cur.execute("""INSERT INTO relayrules (rule_type, rule_subject, transport, host, port, tls, username, password, enabled) VALUES (:rule_type, :rule_subject, :transport, :host, :port, :mandatory_tls, :username, :password, :enabled)""", values)
 
 except Exception as err: