Hello community,

here is the log from the commit of package python-ldap for openSUSE:Factory 
checked in at 2016-01-26 10:15:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  2015-10-25 
14:18:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-ldap.new/python-ldap.changes     
2016-01-26 10:15:28.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Jan 18 15:20:02 UTC 2016 - [email protected]
+
+- Update to upstream release 2.4.25
+
+-------------------------------------------------------------------

Old:
----
  python-ldap-2.4.22.tar.gz

New:
----
  python-ldap-2.4.25.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-ldap.spec ++++++
--- /var/tmp/diff_new_pack.1ND6Ll/_old  2016-01-26 10:15:28.000000000 +0100
+++ /var/tmp/diff_new_pack.1ND6Ll/_new  2016-01-26 10:15:28.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python-ldap
-Version:        2.4.22
+Version:        2.4.25
 Release:        0
 Summary:        Python LDAP interface
 License:        Python-2.0

++++++ python-ldap-2.4.22.tar.gz -> python-ldap-2.4.25.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/CHANGES 
new/python-ldap-2.4.25/CHANGES
--- old/python-ldap-2.4.22/CHANGES      2015-10-24 17:57:13.000000000 +0200
+++ new/python-ldap-2.4.25/CHANGES      2016-01-18 16:16:29.000000000 +0100
@@ -1,4 +1,23 @@
 ----------------------------------------------------------------
+Released 2.4.25 2016-01-18
+
+Changes since 2.4.23:
+(2.4.24 is missing because of foolish pypi version madness)
+
+Lib/
+* Fix for attrlist=None regression introduced in 2.4.23
+  by ref count patch
+
+----------------------------------------------------------------
+Released 2.4.23 2016-01-17
+
+Changes since 2.4.22:
+
+Modules/
+* Ref count issue in attrs_from_List() was fixed
+  (thanks to Elmir Jagudin)
+
+----------------------------------------------------------------
 Released 2.4.22 2015-10-25
 
 Changes since 2.4.21:
@@ -12,9 +31,9 @@
 * Hmmpf! Added missing self to LDAPObject.fileno().
 * ReconnectLDAPObject.sasl_bind_s() now correctly uses
   generic wrapper arguments *args,**kwargs
-* LDIFParser.parse_change_records() now correctly calls
-  LDIFParser.handle_change_modify()
-* Corrected ldap.controls.pwdpolicy.__all__
+* Correct method name LDIFParser.handle_modify()
+* Corrected __all__ in modules ldap.controls.pwdpolicy and 
+  ldap.controls.openldap
 
 Doc/
 * Started missing docs for sub-module ldap.sasl.
@@ -1216,4 +1235,4 @@
 ----------------------------------------------------------------
 Released 1.10alpha3 2000-09-19
 
-$Id: CHANGES,v 1.363 2015/10/24 15:55:07 stroeder Exp $
+$Id: CHANGES,v 1.370 2016/01/18 15:16:29 stroeder Exp $
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/Lib/dsml.py 
new/python-ldap-2.4.25/Lib/dsml.py
--- old/python-ldap-2.4.22/Lib/dsml.py  2015-10-24 17:57:14.000000000 +0200
+++ new/python-ldap-2.4.25/Lib/dsml.py  2016-01-18 16:16:29.000000000 +0100
@@ -4,13 +4,13 @@
 
 See http://www.python-ldap.org/ for details.
 
-$Id: dsml.py,v 1.39 2015/09/30 17:15:53 stroeder Exp $
+$Id: dsml.py,v 1.42 2016/01/18 15:16:29 stroeder Exp $
 
 Python compability note:
 Tested with Python 2.0+.
 """
 
-__version__ = '2.4.22'
+__version__ = '2.4.25'
 
 import string,base64
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/Lib/ldap/__init__.py 
new/python-ldap-2.4.25/Lib/ldap/__init__.py
--- old/python-ldap-2.4.22/Lib/ldap/__init__.py 2015-10-24 17:57:14.000000000 
+0200
+++ new/python-ldap-2.4.25/Lib/ldap/__init__.py 2016-01-18 16:17:30.000000000 
+0100
@@ -3,12 +3,12 @@
 
 See http://www.python-ldap.org/ for details.
 
-$Id: __init__.py,v 1.99 2015/09/30 17:15:53 stroeder Exp $
+$Id: __init__.py,v 1.102 2016/01/18 15:17:30 stroeder Exp $
 """
 
 # This is also the overall release version number
 
-__version__ = '2.4.22'
+__version__ = '2.4.25'
 
 import sys
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/Lib/ldap/ldapobject.py 
new/python-ldap-2.4.25/Lib/ldap/ldapobject.py
--- old/python-ldap-2.4.22/Lib/ldap/ldapobject.py       2015-10-24 
17:57:14.000000000 +0200
+++ new/python-ldap-2.4.25/Lib/ldap/ldapobject.py       2016-01-18 
13:32:34.000000000 +0100
@@ -3,7 +3,7 @@
 
 See http://www.python-ldap.org/ for details.
 
-\$Id: ldapobject.py,v 1.149 2015/10/24 15:46:12 stroeder Exp $
+\$Id: ldapobject.py,v 1.151 2016/01/18 10:38:26 stroeder Exp $
 
 Compability:
 - Tested with Python 2.0+ but should work with Python 1.5.x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/Lib/ldapurl.py 
new/python-ldap-2.4.25/Lib/ldapurl.py
--- old/python-ldap-2.4.22/Lib/ldapurl.py       2015-10-24 17:57:14.000000000 
+0200
+++ new/python-ldap-2.4.25/Lib/ldapurl.py       2016-01-18 16:16:29.000000000 
+0100
@@ -3,7 +3,7 @@
 
 See http://www.python-ldap.org/ for details.
 
-\$Id: ldapurl.py,v 1.74 2015/09/30 17:15:53 stroeder Exp $
+\$Id: ldapurl.py,v 1.77 2016/01/18 15:16:29 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.22'
+__version__ = '2.4.25'
 
 __all__ = [
   # constants
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/Lib/ldif.py 
new/python-ldap-2.4.25/Lib/ldif.py
--- old/python-ldap-2.4.22/Lib/ldif.py  2015-10-24 18:12:31.000000000 +0200
+++ new/python-ldap-2.4.25/Lib/ldif.py  2016-01-18 16:16:29.000000000 +0100
@@ -3,13 +3,13 @@
 
 See http://www.python-ldap.org/ for details.
 
-$Id: ldif.py,v 1.87 2015/10/24 16:12:31 stroeder Exp $
+$Id: ldif.py,v 1.90 2016/01/18 15:16:29 stroeder Exp $
 
 Python compability note:
 Tested with Python 2.0+, but should work with Python 1.5.2+.
 """
 
-__version__ = '2.4.22'
+__version__ = '2.4.25'
 
 __all__ = [
   # constants
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/Lib/python_ldap.egg-info/PKG-INFO 
new/python-ldap-2.4.25/Lib/python_ldap.egg-info/PKG-INFO
--- old/python-ldap-2.4.22/Lib/python_ldap.egg-info/PKG-INFO    2015-10-24 
18:26:45.000000000 +0200
+++ new/python-ldap-2.4.25/Lib/python_ldap.egg-info/PKG-INFO    2016-01-18 
16:18:23.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-ldap
-Version: 2.4.22
+Version: 2.4.25
 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.22/Modules/LDAPObject.c 
new/python-ldap-2.4.25/Modules/LDAPObject.c
--- old/python-ldap-2.4.22/Modules/LDAPObject.c 2015-06-05 23:34:52.000000000 
+0200
+++ new/python-ldap-2.4.25/Modules/LDAPObject.c 2016-01-18 13:33:13.000000000 
+0100
@@ -1,5 +1,5 @@
 /* See http://www.python-ldap.org/ for details.
- * $Id: LDAPObject.c,v 1.91 2015/05/02 16:19:23 stroeder Exp $ */
+ * $Id: LDAPObject.c,v 1.93 2016/01/18 12:33:07 stroeder Exp $ */
 
 #include "common.h"
 #include "patchlevel.h"
@@ -18,7 +18,7 @@
 #include <sasl.h>
 #endif
 
-static void free_attrs(char***);
+static void free_attrs(char***, PyObject*);
 
 /* constructor */
 
@@ -252,16 +252,17 @@
 /*
  * convert a python list of strings into an attr list (char*[]).
  * returns 1 if successful, 0 if not (with exception set)
- * XXX the strings should live longer than the resulting attrs pointer.
  */
 
 int
-attrs_from_List( PyObject *attrlist, char***attrsp ) {
+attrs_from_List( PyObject *attrlist, char***attrsp, PyObject** seq) {
 
     char **attrs = NULL;
     Py_ssize_t i, len;
     PyObject *item;
 
+    *seq = NULL;
+
     if (attrlist == Py_None) {
         /* None means a NULL attrlist */
     } else if (PyString_Check(attrlist)) {
@@ -269,31 +270,30 @@
         PyErr_SetObject( PyExc_TypeError, Py_BuildValue("sO",
                   "expected *list* of strings, not a string", attrlist ));
         goto error;
-    } else if (PySequence_Check(attrlist)) {
+    } else {
+        *seq = PySequence_Fast(attrlist, "expected list of strings or None");
+        if (*seq == NULL)
+            goto error;
+
         len = PySequence_Length(attrlist);
+
         attrs = PyMem_NEW(char *, len + 1);
         if (attrs == NULL)
-            goto nomem;
+                goto nomem;
 
         for (i = 0; i < len; i++) {
             attrs[i] = NULL;
-            item = PySequence_GetItem(attrlist, i);
+            item = PySequence_Fast_GET_ITEM(*seq, i);
             if (item == NULL)
                 goto error;
             if (!PyString_Check(item)) {
                 PyErr_SetObject(PyExc_TypeError, Py_BuildValue("sO",
                                 "expected string in list", item));
-                Py_DECREF(item);
                 goto error;
             }
             attrs[i] = PyString_AsString(item);
-            Py_DECREF(item);
         }
         attrs[len] = NULL;
-    } else {
-        PyErr_SetObject( PyExc_TypeError, Py_BuildValue("sO",
-                         "expected list of strings or None", attrlist ));
-        goto error;
     }
 
     *attrsp = attrs;
@@ -302,20 +302,22 @@
 nomem:
     PyErr_NoMemory();
 error:
-    free_attrs(&attrs);
+    free_attrs(&attrs, *seq);
     return 0;
 }
 
 /* free memory allocated from above routine */
 
 static void
-free_attrs( char*** attrsp ) {
+free_attrs( char*** attrsp, PyObject* seq ) {
     char **attrs = *attrsp;
 
     if (attrs != NULL) {
         PyMem_DEL(attrs);
         *attrsp = NULL;
     }
+
+    Py_XDECREF(seq);
 }
 
 /*------------------------------------------------------------
@@ -1107,6 +1109,7 @@
 
     PyObject *serverctrls = Py_None;
     PyObject *clientctrls = Py_None;
+    PyObject *attrs_seq = NULL;
     LDAPControl** server_ldcs = NULL;
     LDAPControl** client_ldcs = NULL;
 
@@ -1124,7 +1127,7 @@
                            &serverctrls, &clientctrls, &timeout, &sizelimit )) 
return NULL;
     if (not_valid(self)) return NULL;
 
-    if (!attrs_from_List( attrlist, &attrs )) 
+    if (!attrs_from_List( attrlist, &attrs, &attrs_seq ))
          return NULL;
 
     if (timeout >= 0) {
@@ -1149,7 +1152,7 @@
                              server_ldcs, client_ldcs, tvp, sizelimit, &msgid 
);
     LDAP_END_ALLOW_THREADS( self );
 
-    free_attrs( &attrs );
+    free_attrs( &attrs,  attrs_seq);
     LDAPControl_List_DEL( server_ldcs );
     LDAPControl_List_DEL( client_ldcs );
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/python-ldap-2.4.22/PKG-INFO 
new/python-ldap-2.4.25/PKG-INFO
--- old/python-ldap-2.4.22/PKG-INFO     2015-10-24 18:26:45.000000000 +0200
+++ new/python-ldap-2.4.25/PKG-INFO     2016-01-18 16:18:23.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: python-ldap
-Version: 2.4.22
+Version: 2.4.25
 Summary: Python modules for implementing LDAP clients
 Home-page: http://www.python-ldap.org/
 Author: python-ldap project


Reply via email to