Hello community, here is the log from the commit of package python-ldap for openSUSE:Factory checked in at 2013-07-01 15:59:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-ldap (Old) and /work/SRC/openSUSE:Factory/.python-ldap.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-ldap" Changes: -------- --- /work/SRC/openSUSE:Factory/python-ldap/python-ldap.changes 2013-06-19 17:03:42.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-ldap.new/python-ldap.changes 2013-07-01 15:59:42.000000000 +0200 @@ -1,0 +2,6 @@ +Thu Jun 27 15:50:55 UTC 2013 - michael@stroeder.com + +- Update to upstream release 2.4.13 + * mainly important fixes for ReconnectLDAPObject + +------------------------------------------------------------------- Old: ---- python-ldap-2.4.10.tar.gz New: ---- python-ldap-2.4.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-ldap.spec ++++++ --- /var/tmp/diff_new_pack.ftKkIb/_old 2013-07-01 15:59:43.000000000 +0200 +++ /var/tmp/diff_new_pack.ftKkIb/_new 2013-07-01 15:59:43.000000000 +0200 @@ -17,7 +17,7 @@ Name: python-ldap -Version: 2.4.10 +Version: 2.4.13 Release: 0 Summary: Python LDAP interface License: SUSE-Public-Domain ++++++ python-ldap-2.4.10.tar.gz -> python-ldap-2.4.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/CHANGES new/python-ldap-2.4.13/CHANGES --- old/python-ldap-2.4.10/CHANGES 2012-06-07 20:39:42.000000000 +0200 +++ new/python-ldap-2.4.13/CHANGES 2013-06-27 10:49:25.000000000 +0200 @@ -1,4 +1,39 @@ ---------------------------------------------------------------- +Released 2.4.13 2013-06-27 + +Changes since 2.4.12: + +Lib/ +* ldapobject.ReconnectLDAPObject._apply_last_bind() now sends + anonymous simple bind request even if the calling application + did not to provoke ldap.SERVER_DOWN in method reconnect() +* ldapobject.ReconnectLDAPObject.reconnect() now also catches + ldap.TIMEOUT exception after reconnection attempt +* Several other fixes for ldapobject.ReconnectLDAPObject + (thanks to Jonathan Giannuzzi) + +---------------------------------------------------------------- +Released 2.4.12 2013-06-01 + +Changes since 2.4.11: + +Lib/ +* Truly optional import of PyAsn1Error exception which should + not fail anymore if pyasn1 is not installed + +---------------------------------------------------------------- +Released 2.4.11 2013-05-27 + +Changes since 2.4.10: + +Lib/ +* ldap.controls.DecodeControlTuples() now simply ignores + PyAsn1Error exception raised during decoding malformed + response control values in case of non-critical controls. +* ldif.LDIFWriter.unparse() does not simply skip empty + records anymore. + +---------------------------------------------------------------- Released 2.4.10 2012-06-07 Changes since 2.4.9: @@ -1018,4 +1053,4 @@ ---------------------------------------------------------------- Released 1.10alpha3 2000-09-19 -$Id: CHANGES,v 1.291 2012/06/07 18:38:47 stroeder Exp $ +$Id: CHANGES,v 1.301 2013/06/27 08:49:25 stroeder Exp $ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Demo/paged_search_ext_s.py new/python-ldap-2.4.13/Demo/paged_search_ext_s.py --- old/python-ldap-2.4.10/Demo/paged_search_ext_s.py 2012-01-14 15:02:17.000000000 +0100 +++ new/python-ldap-2.4.13/Demo/paged_search_ext_s.py 2013-05-27 10:06:05.000000000 +0200 @@ -82,8 +82,6 @@ return result_pages,all_results - - class MyLDAPObject(ReconnectLDAPObject,PagedResultsSearchObject): pass diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Doc/conf.py new/python-ldap-2.4.13/Doc/conf.py --- old/python-ldap-2.4.10/Doc/conf.py 2011-11-15 17:54:09.000000000 +0100 +++ new/python-ldap-2.4.13/Doc/conf.py 2013-03-25 19:17:58.000000000 +0100 @@ -11,7 +11,7 @@ # All configuration values have a default value; values that are commented out # serve to show the default value. # -# $Id: conf.py,v 1.17 2011/10/14 11:48:31 stroeder Exp $ +# $Id: conf.py,v 1.18 2012/08/09 07:19:12 stroeder Exp $ import sys @@ -44,7 +44,7 @@ # The short X.Y version. version = '2.4' # The full version, including alpha/beta/rc tags. -release = '2.4.4.0' +release = '2.4.10.0' # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Doc/ldap-controls.rst new/python-ldap-2.4.13/Doc/ldap-controls.rst --- old/python-ldap-2.4.10/Doc/ldap-controls.rst 2012-01-19 20:42:43.000000000 +0100 +++ new/python-ldap-2.4.13/Doc/ldap-controls.rst 2013-03-25 19:17:58.000000000 +0100 @@ -1,4 +1,4 @@ -.. % $Id: ldap-controls.rst,v 1.10 2011/07/23 08:15:38 stroeder Exp $ +.. % $Id: ldap-controls.rst,v 1.11 2012/08/09 07:19:30 stroeder Exp $ ********************************************************************* @@ -100,7 +100,14 @@ :rfc:`4370` - Lightweight Directory Access Protocol (LDAP): Proxied Authorization Control -.. autoclass:: ldap.controls.simple.AuthorizationIdentityControl +.. autoclass:: ldap.controls.simple.AuthorizationIdentityRequestControl + :members: + + .. seealso:: + + :rfc:`3829` - Lightweight Directory Access Protocol (LDAP): Authorization Identity Request and Response Controls + +.. autoclass:: ldap.controls.simple.AuthorizationIdentityResponseControl :members: .. seealso:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/dsml.py new/python-ldap-2.4.13/Lib/dsml.py --- old/python-ldap-2.4.10/Lib/dsml.py 2012-06-07 20:41:12.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/dsml.py 2013-06-27 10:48:43.000000000 +0200 @@ -4,13 +4,13 @@ See http://www.python-ldap.org/ for details. -$Id: dsml.py,v 1.27 2012/06/07 18:40:59 stroeder Exp $ +$Id: dsml.py,v 1.30 2013/06/22 18:35:30 stroeder Exp $ Python compability note: Tested with Python 2.0+. """ -__version__ = '2.4.10' +__version__ = '2.4.13' import string,base64 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldap/__init__.py new/python-ldap-2.4.13/Lib/ldap/__init__.py --- old/python-ldap-2.4.10/Lib/ldap/__init__.py 2012-06-07 20:41:12.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldap/__init__.py 2013-06-27 10:48:43.000000000 +0200 @@ -3,12 +3,12 @@ See http://www.python-ldap.org/ for details. -$Id: __init__.py,v 1.83 2012/06/07 18:40:59 stroeder Exp $ +$Id: __init__.py,v 1.86 2013/06/22 18:35:30 stroeder Exp $ """ # This is also the overall release version number -__version__ = '2.4.10' +__version__ = '2.4.13' import sys diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldap/controls/__init__.py new/python-ldap-2.4.13/Lib/ldap/controls/__init__.py --- old/python-ldap-2.4.10/Lib/ldap/controls/__init__.py 2012-06-07 20:39:43.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldap/controls/__init__.py 2013-05-29 22:28:03.000000000 +0200 @@ -4,7 +4,7 @@ See http://www.python-ldap.org/ for details. -$Id: __init__.py,v 1.7 2012/04/11 13:31:01 stroeder Exp $ +$Id: __init__.py,v 1.9 2013/05/29 20:27:32 stroeder Exp $ Description: The ldap.controls module provides LDAPControl classes. @@ -36,6 +36,11 @@ import _ldap,ldap +try: + from pyasn1.error import PyAsn1Error +except ImportError: + PyAsn1Error = None + class RequestControl: """ @@ -138,8 +143,13 @@ raise ldap.UNAVAILABLE_CRITICAL_EXTENSION('Received unexpected critical response control with controlType %s' % (repr(controlType))) else: control.controlType,control.criticality = controlType,criticality - control.decodeControlValue(encodedControlValue) - result.append(control) + try: + control.decodeControlValue(encodedControlValue) + except PyAsn1Error,e: + if criticality: + raise e + else: + result.append(control) return result diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldap/controls/simple.py new/python-ldap-2.4.13/Lib/ldap/controls/simple.py --- old/python-ldap-2.4.10/Lib/ldap/controls/simple.py 2012-06-07 20:39:43.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldap/controls/simple.py 2013-03-25 19:17:58.000000000 +0100 @@ -4,7 +4,7 @@ See http://www.python-ldap.org/ for details. -$Id: simple.py,v 1.8 2012/02/21 16:50:36 stroeder Exp $ +$Id: simple.py,v 1.9 2012/08/09 07:01:20 stroeder Exp $ """ import struct,ldap @@ -113,11 +113,6 @@ class AuthorizationIdentityRequestControl(ValueLessRequestControl): """ Authorization Identity Request and Response Controls - - Class attributes: - - authzId - decoded authorization identity """ controlType = '2.16.840.1.113730.3.4.16' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldap/ldapobject.py new/python-ldap-2.4.13/Lib/ldap/ldapobject.py --- old/python-ldap-2.4.10/Lib/ldap/ldapobject.py 2012-06-07 20:39:43.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldap/ldapobject.py 2013-06-27 10:48:43.000000000 +0200 @@ -3,7 +3,7 @@ See http://www.python-ldap.org/ for details. -\$Id: ldapobject.py,v 1.133 2012/06/02 10:23:15 stroeder Exp $ +\$Id: ldapobject.py,v 1.135 2013/06/25 17:36:03 stroeder Exp $ Compability: - Tested with Python 2.0+ but should work with Python 1.5.x @@ -753,7 +753,10 @@ def _apply_last_bind(self): if self._last_bind!=None: func,args,kwargs = self._last_bind - func(*args,**kwargs) + func(self,*args,**kwargs) + else: + # Send explicit anon simple bind request to provoke ldap.SERVER_DOWN in method reconnect() + SimpleLDAPObject.simple_bind_s(self,'','') def _restore_options(self): """Restore all recorded options""" @@ -782,9 +785,7 @@ self.start_tls_s() # Repeat last simple or SASL bind self._apply_last_bind() - except ldap.SERVER_DOWN,e: - SimpleLDAPObject.unbind_s(self) - del self._l + except (ldap.SERVER_DOWN,ldap.TIMEOUT),e: if __debug__ and self._trace_level>=1: self._trace_file.write('*** %d. reconnect to %s failed\n' % ( self._retry_max-reconnect_counter+1,uri @@ -795,6 +796,8 @@ if __debug__ and self._trace_level>=1: self._trace_file.write('=> delay %s...\n' % (self._retry_delay)) time.sleep(self._retry_delay) + SimpleLDAPObject.unbind_s(self) + del self._l else: if __debug__ and self._trace_level>=1: self._trace_file.write('*** %d. reconnect to %s successful, last operation will be repeated\n' % ( @@ -829,7 +832,7 @@ def simple_bind_s(self,*args,**kwargs): res = self._apply_method_s(SimpleLDAPObject.simple_bind_s,*args,**kwargs) - self._last_bind = (self.simple_bind_s,args,kwargs) + self._last_bind = (SimpleLDAPObject.simple_bind_s,args,kwargs) return res def start_tls_s(self,*args,**kwargs): @@ -842,7 +845,7 @@ sasl_interactive_bind_s(who, auth) -> None """ res = self._apply_method_s(SimpleLDAPObject.sasl_interactive_bind_s,*args,**kwargs) - self._last_bind = (self.sasl_interactive_bind_s,args,kwargs) + self._last_bind = (SimpleLDAPObject.sasl_interactive_bind_s,args,kwargs) return res def add_ext_s(self,*args,**kwargs): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldap/schema/models.py new/python-ldap-2.4.13/Lib/ldap/schema/models.py --- old/python-ldap-2.4.10/Lib/ldap/schema/models.py 2012-06-07 20:39:43.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldap/schema/models.py 2013-03-25 19:17:59.000000000 +0100 @@ -3,7 +3,7 @@ See http://www.python-ldap.org/ for details. -\$Id: models.py,v 1.45 2012/03/07 19:07:15 stroeder Exp $ +\$Id: models.py,v 1.46 2012/12/13 08:22:48 stroeder Exp $ """ import UserDict,ldap.cidict @@ -124,8 +124,8 @@ an entry of the object class may have kind Kind of an object class: - 0 = ABSTRACT, - 1 = STRUCTURAL, + 0 = STRUCTURAL, + 1 = ABSTRACT, 2 = AUXILIARY sup This list of strings contains NAMEs or OIDs of object classes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldap/syncrepl.py new/python-ldap-2.4.13/Lib/ldap/syncrepl.py --- old/python-ldap-2.4.10/Lib/ldap/syncrepl.py 2011-10-26 21:40:17.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldap/syncrepl.py 2013-03-25 19:17:58.000000000 +0100 @@ -4,7 +4,7 @@ See http://www.python-ldap.org/ for project details. -$Id: syncrepl.py,v 1.2 2011/10/26 19:40:17 stroeder Exp $ +$Id: syncrepl.py,v 1.3 2012/08/09 07:18:31 stroeder Exp $ """ #__all__ = [ @@ -295,14 +295,13 @@ class SyncreplConsumer: """ SyncreplConsumer - LDAP syncrepl consumer object. - """ def syncrepl_search(self, base, scope, mode='refreshOnly', cookie=None, **search_args): """ Starts syncrepl search operation. - base, scope, and **search_args are passed along to + base, scope, and search_args are passed along to self.search_ext unmodified (aside from adding a Sync Request control to any serverctrls provided). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldapurl.py new/python-ldap-2.4.13/Lib/ldapurl.py --- old/python-ldap-2.4.10/Lib/ldapurl.py 2012-06-07 20:41:12.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldapurl.py 2013-06-27 10:48:43.000000000 +0200 @@ -3,7 +3,7 @@ See http://www.python-ldap.org/ for details. -\$Id: ldapurl.py,v 1.58 2012/06/07 18:40:59 stroeder Exp $ +\$Id: ldapurl.py,v 1.61 2013/06/22 18:35:30 stroeder Exp $ Python compability note: This module only works with Python 2.0+ since @@ -11,7 +11,7 @@ 2. list comprehensions are used. """ -__version__ = '2.4.10' +__version__ = '2.4.13' __all__ = [ # constants diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/ldif.py new/python-ldap-2.4.13/Lib/ldif.py --- old/python-ldap-2.4.10/Lib/ldif.py 2012-06-07 20:41:12.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/ldif.py 2013-06-27 10:48:43.000000000 +0200 @@ -3,13 +3,13 @@ See http://www.python-ldap.org/ for details. -$Id: ldif.py,v 1.67 2012/06/07 18:40:59 stroeder Exp $ +$Id: ldif.py,v 1.72 2013/06/22 18:35:30 stroeder Exp $ Python compability note: Tested with Python 2.0+, but should work with Python 1.5.2+. """ -__version__ = '2.4.10' +__version__ = '2.4.13' __all__ = [ # constants @@ -189,9 +189,6 @@ Either a dictionary holding the LDAP entry {attrtype:record} or a list with a modify list like for LDAPObject.modify(). """ - if not record: - # Simply ignore empty records - return # Start with line containing the distinguished name self._unparseAttrTypeandValue('dn',dn) # Dispatch to record type specific writers @@ -238,6 +235,7 @@ class and override method handle() to implement something meaningful. Public class attributes: + records_read Counter for records processed so far """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/Lib/python_ldap.egg-info/PKG-INFO new/python-ldap-2.4.13/Lib/python_ldap.egg-info/PKG-INFO --- old/python-ldap-2.4.10/Lib/python_ldap.egg-info/PKG-INFO 2012-06-07 20:41:33.000000000 +0200 +++ new/python-ldap-2.4.13/Lib/python_ldap.egg-info/PKG-INFO 2013-06-27 10:50:01.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-ldap -Version: 2.4.10 +Version: 2.4.13 Summary: Python modules for implementing LDAP clients Home-page: http://www.python-ldap.org/ Author: python-ldap project diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-ldap-2.4.10/PKG-INFO new/python-ldap-2.4.13/PKG-INFO --- old/python-ldap-2.4.10/PKG-INFO 2012-06-07 20:41:34.000000000 +0200 +++ new/python-ldap-2.4.13/PKG-INFO 2013-06-27 10:50:01.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: python-ldap -Version: 2.4.10 +Version: 2.4.13 Summary: Python modules for implementing LDAP clients Home-page: http://www.python-ldap.org/ Author: python-ldap project -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org