From 0e0c191d20157ea573aace5d11383184220f8c95 Mon Sep 17 00:00:00 2001 From: stroeder Date: Mon, 29 May 2017 09:00:15 +0000 Subject: [PATCH] fixed errno-related ldap.TIMEOUT regression --- CHANGES | 8 +++++++- Lib/ldap/ldapobject.py | 7 +++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 83569eb..df6fa92 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,12 @@ Released 2.4.39 2017-05-xx Changes since 2.4.38: +Lib/ +* fixed errno-related ldap.TIMEOUT regression + +Lib/slapdtest.py +* Removed obsolete assert statements + ---------------------------------------------------------------- Released 2.4.38 2017-04-28 @@ -1437,4 +1443,4 @@ Released 2.0.0pre02 2002-02-01 ---------------------------------------------------------------- Released 1.10alpha3 2000-09-19 -$Id: CHANGES,v 1.444 2017/04/28 20:03:52 stroeder Exp $ +$Id: CHANGES,v 1.446 2017/05/29 09:00:15 stroeder Exp $ diff --git a/Lib/ldap/ldapobject.py b/Lib/ldap/ldapobject.py index ae52733..40bb016 100644 --- a/Lib/ldap/ldapobject.py +++ b/Lib/ldap/ldapobject.py @@ -3,7 +3,7 @@ See http://www.python-ldap.org/ for details. -\$Id: ldapobject.py,v 1.162 2017/04/27 08:40:10 stroeder Exp $ +\$Id: ldapobject.py,v 1.163 2017/05/29 09:00:15 stroeder Exp $ Compability: - Tested with Python 2.0+ but should work with Python 1.5.x @@ -112,8 +112,11 @@ def _ldap_call(self,func,*args,**kwargs): finally: self._ldap_object_lock.release() except LDAPError, e: - if not e.args[0].has_key('info') and e.args[0].has_key('errno'): + try: + if not e.args[0].has_key('info') and e.args[0].has_key('errno'): e.args[0]['info'] = strerror(e.args[0]['errno']) + except IndexError: + pass if __debug__ and self._trace_level>=2: self._trace_file.write('=> LDAPError - %s: %s\n' % (e.__class__.__name__,str(e))) raise