pgreco / rpms / ipa

Forked from forks/areguera/rpms/ipa 4 years ago
Clone

Blame SOURCES/0010-Fixing-replica-install-fix-ldap-connection-in-domlvl.patch

ac7d03
From 175c29c7b57a0ab48d1371c199e70f3435a0ead7 Mon Sep 17 00:00:00 2001
ac7d03
From: felipe <fbarreto@localhost.localdomain>
ac7d03
Date: Tue, 21 Mar 2017 09:05:56 -0300
ac7d03
Subject: [PATCH] Fixing replica install: fix ldap connection in domlvl 0
ac7d03
ac7d03
Now, at the domain level 0, the replica install always uses
ac7d03
Directory Manager credentials to create the LDAP connection.
ac7d03
Since ACIs permitting hosts to manage their own services were
ac7d03
added in 4.2 release,  the old master denies this operations.
ac7d03
ac7d03
https://pagure.io/freeipa/issue/6549
ac7d03
ac7d03
Reviewed-By: Martin Basti <mbasti@redhat.com>
ac7d03
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
ac7d03
---
ac7d03
 ipaserver/install/server/replicainstall.py | 11 ++++++++++-
ac7d03
 1 file changed, 10 insertions(+), 1 deletion(-)
ac7d03
ac7d03
diff --git a/ipaserver/install/server/replicainstall.py b/ipaserver/install/server/replicainstall.py
ac7d03
index b4463fd4066efbc68f22e4f8f3175b59cb20b103..f489e691999fd9d6e82879341922510e56eac47d 100644
ac7d03
--- a/ipaserver/install/server/replicainstall.py
ac7d03
+++ b/ipaserver/install/server/replicainstall.py
ac7d03
@@ -1391,7 +1391,16 @@ def install(installer):
ac7d03
     dsinstance.create_ds_user()
ac7d03
 
ac7d03
     try:
ac7d03
-        conn.connect(ccache=ccache)
ac7d03
+        if promote:
ac7d03
+            conn.connect(ccache=ccache)
ac7d03
+        else:
ac7d03
+            # dmlvl 0 replica install should always use DM credentials
ac7d03
+            # to create remote LDAP connection. Since ACIs permitting hosts
ac7d03
+            # to manage their own services were added in 4.2 release,
ac7d03
+            # the master denies this operations.
ac7d03
+            conn.connect(bind_dn=ipaldap.DIRMAN_DN, cacert=cafile,
ac7d03
+                         bind_pw=config.dirman_password)
ac7d03
+
ac7d03
         # Update and istall updated CA file
ac7d03
         cafile = install_ca_cert(conn, api.env.basedn, api.env.realm, cafile)
ac7d03
 
ac7d03
-- 
ac7d03
2.12.1
ac7d03