Blame SOURCES/0113-TESTS-Allow-adding-sshPublicKey-for-users.patch

75e304
From db4a80c1e798872d4b1196ef9a768b35e7962d28 Mon Sep 17 00:00:00 2001
75e304
From: Jakub Hrozek <jhrozek@redhat.com>
75e304
Date: Sun, 17 Jun 2018 22:06:22 +0200
75e304
Subject: [PATCH] TESTS: Allow adding sshPublicKey for users
75e304
MIME-Version: 1.0
75e304
Content-Type: text/plain; charset=UTF-8
75e304
Content-Transfer-Encoding: 8bit
75e304
75e304
Adds the objectclass and allows storing a list of sshPublicKey
75e304
attributes for users. Since there is no harm in adding the extra
75e304
objectclass, we can do it unconditionally.
75e304
75e304
Related to:
75e304
https://pagure.io/SSSD/sssd/issue/3747
75e304
75e304
Reviewed-by: Fabiano FidĂȘncio <fidencio@redhat.com>
75e304
(cherry picked from commit 56cda832e9f61c52e9cfde1f0864507de718ffbb)
75e304
---
75e304
 src/tests/intg/ldap_ent.py | 15 +++++++++++----
75e304
 1 file changed, 11 insertions(+), 4 deletions(-)
75e304
75e304
diff --git a/src/tests/intg/ldap_ent.py b/src/tests/intg/ldap_ent.py
75e304
index 6b6d8f903cbcc277d892c3212ca382f4aaadc671..a4c987969d3dcefba2af69e095b220180e0fa54c 100644
75e304
--- a/src/tests/intg/ldap_ent.py
75e304
+++ b/src/tests/intg/ldap_ent.py
75e304
@@ -24,7 +24,8 @@ def user(base_dn, uid, uidNumber, gidNumber,
75e304
          homeDirectory=None,
75e304
          loginShell=None,
75e304
          cn=None,
75e304
-         sn=None):
75e304
+         sn=None,
75e304
+         sshPubKey=()):
75e304
     """
75e304
     Generate an RFC2307(bis) user add-modlist for passing to ldap.add*
75e304
     """
75e304
@@ -33,7 +34,8 @@ def user(base_dn, uid, uidNumber, gidNumber,
75e304
     user = (
75e304
         "uid=" + uid + ",ou=Users," + base_dn,
75e304
         [
75e304
-            ('objectClass', [b'top', b'inetOrgPerson', b'posixAccount']),
75e304
+            ('objectClass', [b'top', b'inetOrgPerson',
75e304
+                             b'posixAccount', b'ldapPublicKey']),
75e304
             ('cn', [uidNumber if cn is None else cn.encode('utf-8')]),
75e304
             ('sn', [b'User' if sn is None else sn.encode('utf-8')]),
75e304
             ('uidNumber', [uidNumber]),
75e304
@@ -51,6 +53,9 @@ def user(base_dn, uid, uidNumber, gidNumber,
75e304
     )
75e304
     if gecos is not None:
75e304
         user[1].append(('gecos', [gecos.encode('utf-8')]))
75e304
+    if len(sshPubKey) > 0:
75e304
+        pubkeys = [key.encode('utf-8') for key in sshPubKey]
75e304
+        user[1].append(('sshPublicKey', pubkeys))
75e304
     return user
75e304
 
75e304
 
75e304
@@ -118,7 +123,8 @@ class List(list):
75e304
                  homeDirectory=None,
75e304
                  loginShell=None,
75e304
                  cn=None,
75e304
-                 sn=None):
75e304
+                 sn=None,
75e304
+                 sshPubKey=()):
75e304
         """Add an RFC2307(bis) user add-modlist."""
75e304
         self.append(user(base_dn or self.base_dn,
75e304
                          uid, uidNumber, gidNumber,
75e304
@@ -127,7 +133,8 @@ class List(list):
75e304
                          homeDirectory=homeDirectory,
75e304
                          loginShell=loginShell,
75e304
                          cn=cn,
75e304
-                         sn=sn))
75e304
+                         sn=sn,
75e304
+                         sshPubKey=sshPubKey))
75e304
 
75e304
     def add_group(self, cn, gidNumber, member_uids=[],
75e304
                   base_dn=None):
75e304
-- 
75e304
2.14.4
75e304