Compare commits

..

No commits in common. "501dd8843389d8e19751588179697360377e93f3" and "b37e08a1318e053e867b5383cd2cfbda9f81c4bc" have entirely different histories.

5 changed files with 10 additions and 106 deletions

View File

@ -1,42 +0,0 @@
From d2d0d010570160b3daddd754d22f80bf5e435b6f Mon Sep 17 00:00:00 2001
From: root <root@localhost.localdomain>
Date: Thu, 5 May 2022 10:38:57 +0800
Subject: [PATCH] fix a system error and optimize the checking of LDAP results
---
Modules/constants.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/Modules/constants.c b/Modules/constants.c
index 8b902e0..07d6065 100644
--- a/Modules/constants.c
+++ b/Modules/constants.c
@@ -31,7 +31,8 @@ static PyObject *errobjects[LDAP_ERROR_MAX - LDAP_ERROR_MIN + 1];
PyObject *
LDAPerr(int errnum)
{
- if (errnum >= LDAP_ERROR_MIN && errnum <= LDAP_ERROR_MAX) {
+ if (errnum >= LDAP_ERROR_MIN && errnum <= LDAP_ERROR_MAX &&
+ errobjects[errnum + LDAP_ERROR_OFFSET] != NULL) {
PyErr_SetNone(errobjects[errnum + LDAP_ERROR_OFFSET]);
}
else {
@@ -88,10 +89,13 @@ LDAPraise_for_message(LDAP *l, LDAPMessage *m)
ldap_get_option(l, LDAP_OPT_ERROR_STRING, &error);
}
- if (errnum >= LDAP_ERROR_MIN && errnum <= LDAP_ERROR_MAX)
+ if (errnum >= LDAP_ERROR_MIN && errnum <= LDAP_ERROR_MAX &&
+ errobjects[errnum + LDAP_ERROR_OFFSET] != NULL) {
errobj = errobjects[errnum + LDAP_ERROR_OFFSET];
- else
+ }
+ else {
errobj = LDAPexception_class;
+ }
info = PyDict_New();
if (info == NULL) {
--
2.23.0

View File

@ -1,22 +0,0 @@
From faa011b41f7141121546045925d809d54e70f5fd Mon Sep 17 00:00:00 2001
From: Kevin Backhouse <kevinbackhouse@github.com>
Date: Fri, 15 Oct 2021 15:21:37 +0100
Subject: [PATCH] Fix ReDoS in regex.
---
Lib/ldap/schema/tokenizer.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Lib/ldap/schema/tokenizer.py b/Lib/ldap/schema/tokenizer.py
index 69823f2b..623b86d5 100644
--- a/Lib/ldap/schema/tokenizer.py
+++ b/Lib/ldap/schema/tokenizer.py
@@ -13,7 +13,7 @@
r"|" # or
r"([^'$()\s]+)" # string of length >= 1 without '$() or whitespace
r"|" # or
- r"('(?:[^'\\]|\\\\|\\.)*?'(?!\w))"
+ r"('(?:[^'\\]|\\.)*'(?!\w))"
# any string or empty string surrounded by unescaped
# single quotes except if right quote is succeeded by
# alphanumeric char

BIN
python-ldap-3.1.0.tar.gz Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,16 +1,14 @@
Name: python-ldap
Version: 3.3.1
Release: 5
%define debug_package %{nil}
Name: python-ldap
Version: 3.1.0
Release: 4
Summary: An object-oriented API to access LDAP directory servers
License: Python-2.0
License: Python
URL: http://python-ldap.org/
Source0: https://files.pythonhosted.org/packages/source/p/%{name}/%{name}-%{version}.tar.gz
Patch0: Handle-unknown-LDAP-result-code.patch
Patch1: backport-CVE-2021-46823.patch
BuildRequires: gcc openldap-devel
BuildRequires: python3-devel python3-setuptools
BuildRequires: gcc openldap-devel openssl-devel cyrus-sasl-devel
BuildRequires: python3-devel python3-setuptools openldap-servers
%description
python-ldap provides an object-oriented API for working with LDAP within\
@ -37,11 +35,11 @@ OpenLDAP 2.x libraries, and contains modules for other LDAP-related tasks\
%package_help
%prep
%autosetup -p1 -n %{name}-%{version}
%autosetup -n %{name}-%{version}
find . -name '*.py' | xargs sed -i '1s|^#!/usr/bin/env python|#!%{__python3}|'
sed -i 's,-Werror,-Wignore,g' tox.ini
%build
%py3_build
%_bindir/python3 setup.py build '--executable=%_bindir/python3 -s'
%install
%_bindir/python3 setup.py install -O1 --skip-build --root %buildroot
@ -58,42 +56,12 @@ sed -i 's,-Werror,-Wignore,g' tox.ini
%doc CHANGES README TODO Demo
%changelog
* Fri Aug 05 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 3.3.1-5
- Type:requirements
- Id:NA
- SUG:NA
- DESC:remove some unnecessary buildrequires
* Tue Jul 26 2022 zhouwenpei <zhouwenpei1@h-partners.com> - 3.3.1-4
- Type:CVE
- Id:CVE-2021-46823
- SUG:NA
- DESC:fix CVE-2021-46823
* Fri May 06 2022 xingxing <xingxing9@h-partners.com> - 3.3.1-3
- Type:bugfix
- Id:NA
- SUG:NA
- DESC:fix a system error and optimize the checking of LDAP results
* Mon Sep 06 2021 gaihuiying <gaihuiying1@huawei.com> - 3.3.1-2
- Type:requirements
- Id:NA
- SUG:NA
- DESC:modify to generate debug rpms
* Tue Feb 02 2021 xihaochen <xihaochen@huawei.com> - 3.3.1-1
- Type:requirements
- Id:NA
- SUG:NA
- DESC:update python-ldap to 3.3.1
* Wed Oct 14 2020 shixuantong<shixuantong@huawei.com> - 3.1.0-4
- delete useless buildrequires
* Tue Jun 23 2020 wangchong <wangchong56@huawei.com> - 3.1.0-3
- replace numbers with macros
* Mon Jun 22 2020 wangchong <wangchong56@huawei.com> - 3.1.0-2
- fix the build error