From af8957fae85b9bca38dd7b75ed00d8b47d25e575 Mon Sep 17 00:00:00 2001 From: Fabian Chong Date: Thu, 22 Oct 2020 19:30:46 +0800 Subject: [PATCH 1/6] convert mail attributes to string --- src/oncall/user_sync/ldap_sync.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oncall/user_sync/ldap_sync.py b/src/oncall/user_sync/ldap_sync.py index fe8c28c8..8ca51841 100644 --- a/src/oncall/user_sync/ldap_sync.py +++ b/src/oncall/user_sync/ldap_sync.py @@ -145,7 +145,7 @@ def fetch_ldap(): mobile = None if mail: - mail = mail[0] + mail = str(mail[0]) slack = mail.split('@')[0] else: slack = None From e6400835ddc80901be35516ff81bcec361274763 Mon Sep 17 00:00:00 2001 From: Fabian Chong Date: Thu, 22 Oct 2020 19:35:14 +0800 Subject: [PATCH 2/6] convert ldap attribute to string --- src/oncall/auth/modules/ldap_import.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/oncall/auth/modules/ldap_import.py b/src/oncall/auth/modules/ldap_import.py index 59b102cd..e2e400ba 100644 --- a/src/oncall/auth/modules/ldap_import.py +++ b/src/oncall/auth/modules/ldap_import.py @@ -61,11 +61,11 @@ def ldap_auth(self, username, password): for key, val in self.attrs.items(): if ldap_attrs.get(val): if type(ldap_attrs.get(val)) == list: - ldap_contacts[key] = ldap_attrs.get(val)[0] + ldap_contacts[key] = str(ldap_attrs.get(val)[0]) else: - ldap_contacts[key] = ldap_attrs.get(val) + ldap_contacts[key] = str(ldap_attrs.get(val)) else: - ldap_contacts[key] = val + ldap_contacts[key] = str(val) connection.simple_bind_s(auth_user, password) From 9ffef568d7a4be2d1bf9f018664efc37a3eab122 Mon Sep 17 00:00:00 2001 From: Fabian Chong Date: Thu, 22 Oct 2020 19:42:24 +0800 Subject: [PATCH 3/6] more fields need to convert to string --- src/oncall/user_sync/ldap_sync.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/oncall/user_sync/ldap_sync.py b/src/oncall/user_sync/ldap_sync.py index 8ca51841..f98970d9 100644 --- a/src/oncall/user_sync/ldap_sync.py +++ b/src/oncall/user_sync/ldap_sync.py @@ -130,11 +130,11 @@ def fetch_ldap(): except KeyError: username_field = "sAMAccountName" - username = ldap_dict[username_field][0] + username = str(ldap_dict[username_field][0]) - mobile = ldap_dict.get(LDAP_SETTINGS['attrs']['mobile']) - mail = ldap_dict.get(LDAP_SETTINGS['attrs']['mail']) - name = ldap_dict.get(LDAP_SETTINGS['attrs']['full_name'])[0] + mobile = str(ldap_dict.get(LDAP_SETTINGS['attrs']['mobile'])) + mail = str(ldap_dict.get(LDAP_SETTINGS['attrs']['mail'])) + name = str(ldap_dict.get(LDAP_SETTINGS['attrs']['full_name'])[0]) if mobile: try: From 8fac8b7b6dde22e8dc6dc8e0d9ccfd0bc6d8bd97 Mon Sep 17 00:00:00 2001 From: Fabian Chong Date: Thu, 22 Oct 2020 19:50:17 +0800 Subject: [PATCH 4/6] do not convert mobile to str --- src/oncall/user_sync/ldap_sync.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oncall/user_sync/ldap_sync.py b/src/oncall/user_sync/ldap_sync.py index f98970d9..01760a70 100644 --- a/src/oncall/user_sync/ldap_sync.py +++ b/src/oncall/user_sync/ldap_sync.py @@ -132,7 +132,7 @@ def fetch_ldap(): username = str(ldap_dict[username_field][0]) - mobile = str(ldap_dict.get(LDAP_SETTINGS['attrs']['mobile'])) + mobile = ldap_dict.get(LDAP_SETTINGS['attrs']['mobile']) mail = str(ldap_dict.get(LDAP_SETTINGS['attrs']['mail'])) name = str(ldap_dict.get(LDAP_SETTINGS['attrs']['full_name'])[0]) From a94170e968e661ba3ea7549717dda526dc6c37e8 Mon Sep 17 00:00:00 2001 From: Fabian Chong Date: Thu, 22 Oct 2020 20:28:41 +0800 Subject: [PATCH 5/6] change to utf8 --- src/oncall/auth/modules/ldap_import.py | 6 +++--- src/oncall/user_sync/ldap_sync.py | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/oncall/auth/modules/ldap_import.py b/src/oncall/auth/modules/ldap_import.py index e2e400ba..3c273842 100644 --- a/src/oncall/auth/modules/ldap_import.py +++ b/src/oncall/auth/modules/ldap_import.py @@ -61,11 +61,11 @@ def ldap_auth(self, username, password): for key, val in self.attrs.items(): if ldap_attrs.get(val): if type(ldap_attrs.get(val)) == list: - ldap_contacts[key] = str(ldap_attrs.get(val)[0]) + ldap_contacts[key] = ldap_attrs.get(val)[0].decode("utf-8") else: - ldap_contacts[key] = str(ldap_attrs.get(val)) + ldap_contacts[key] = ldap_attrs.get(val).decode("utf-8") else: - ldap_contacts[key] = str(val) + ldap_contacts[key] = val.decode("utf-8") connection.simple_bind_s(auth_user, password) diff --git a/src/oncall/user_sync/ldap_sync.py b/src/oncall/user_sync/ldap_sync.py index 01760a70..9ef88985 100644 --- a/src/oncall/user_sync/ldap_sync.py +++ b/src/oncall/user_sync/ldap_sync.py @@ -130,11 +130,11 @@ def fetch_ldap(): except KeyError: username_field = "sAMAccountName" - username = str(ldap_dict[username_field][0]) + username = ldap_dict[username_field][0].decode("utf-8") - mobile = ldap_dict.get(LDAP_SETTINGS['attrs']['mobile']) - mail = str(ldap_dict.get(LDAP_SETTINGS['attrs']['mail'])) - name = str(ldap_dict.get(LDAP_SETTINGS['attrs']['full_name'])[0]) + mobile = ldap_dict.get(LDAP_SETTINGS['attrs']['mobile'].decode("utf-8") + mail = ldap_dict.get(LDAP_SETTINGS['attrs']['mail']).decode("utf-8") + name = ldap_dict.get(LDAP_SETTINGS['attrs']['full_name'])[0].decode("utf-8") if mobile: try: @@ -145,7 +145,7 @@ def fetch_ldap(): mobile = None if mail: - mail = str(mail[0]) + mail = mail[0].decode("utf-8") slack = mail.split('@')[0] else: slack = None From 719002badf4cb50ecb336fa48cf2ef958ad89a01 Mon Sep 17 00:00:00 2001 From: Fabian Chong Date: Thu, 22 Oct 2020 21:22:27 +0800 Subject: [PATCH 6/6] missing bracket --- src/oncall/user_sync/ldap_sync.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oncall/user_sync/ldap_sync.py b/src/oncall/user_sync/ldap_sync.py index 9ef88985..955a20b7 100644 --- a/src/oncall/user_sync/ldap_sync.py +++ b/src/oncall/user_sync/ldap_sync.py @@ -132,7 +132,7 @@ def fetch_ldap(): username = ldap_dict[username_field][0].decode("utf-8") - mobile = ldap_dict.get(LDAP_SETTINGS['attrs']['mobile'].decode("utf-8") + mobile = ldap_dict.get(LDAP_SETTINGS['attrs']['mobile']).decode("utf-8") mail = ldap_dict.get(LDAP_SETTINGS['attrs']['mail']).decode("utf-8") name = ldap_dict.get(LDAP_SETTINGS['attrs']['full_name'])[0].decode("utf-8")