changeset 6fc65191e784 in modules/ldap_authentication:default
details: 
https://hg.tryton.org/modules/ldap_authentication?cmd=changeset;node=6fc65191e784
description:
        Avoid resource warning by explicitly closing connection

        issue8682
        review255951002
diffstat:

 res.py |  26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

diffs (35 lines):

diff -r 1c4020447335 -r 6fc65191e784 res.py
--- a/res.py    Fri Aug 09 16:35:37 2019 +0200
+++ b/res.py    Tue Oct 08 18:06:14 2019 +0200
@@ -140,18 +140,18 @@
                 users = cls.ldap_search_user(login, server, attrs=[uid])
                 if users and len(users) == 1:
                     [(dn, attrs)] = users
-                    con = ldap3.Connection(server, dn, password)
-                    if (password and con.bind()):
-                        # Use ldap uid so we always get the right case
-                        login = attrs.get(uid, [login])[0]
-                        user_id = cls._get_login(login)[0]
-                        if user_id:
-                            return user_id
-                        elif config.getboolean(section, 'create_user'):
-                            user, = cls.create([{
-                                        'name': login,
-                                        'login': login,
-                                        }])
-                            return user.id
+                    with ldap3.Connection(server, dn, password) as con:
+                        if (password and con.bind()):
+                            # Use ldap uid so we always get the right case
+                            login = attrs.get(uid, [login])[0]
+                            user_id = cls._get_login(login)[0]
+                            if user_id:
+                                return user_id
+                            elif config.getboolean(section, 'create_user'):
+                                user, = cls.create([{
+                                            'name': login,
+                                            'login': login,
+                                            }])
+                                return user.id
         except LDAPException:
             logger.error('LDAPError when login', exc_info=True)

Reply via email to