Compare commits

...

5 Commits
master ... f21

Author SHA1 Message Date
Thomas Spura 7da250267f pip_version is 1.5.6 on f21 2015-09-24 22:32:58 +02:00
Thomas Spura 6414ffb8ae Remove non-existing patch 2015-09-24 21:50:44 +02:00
Thomas Spura aa20755792 Correct pip version and remove "disable threading test koji" 2015-09-24 21:21:01 +02:00
Matej Stuchlik 6413bb182e sync with master branch to backport some fixes
- Use 1024bit DH key in test_ssl (Matej Stuchlik)
- Use -O0 when compiling -debug build (Matej Stuchlik)
- Update pip version variable to the version we actually ship (Matej Stuchlik)
- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64
  (http://bugs.python.org/issue23433) (Matej Stuchlik)
2015-09-24 21:20:00 +02:00
Thomas Spura 2d6789b8d1 python3-devel: Require python-macros
This picks up version independant macros such as python_provide.
See fpc#281 and fpc#534 for more details.
2015-07-05 21:00:40 +02:00
4 changed files with 134 additions and 4 deletions

View File

@ -0,0 +1,41 @@
# HG changeset patch
# User Victor Stinner <victor.stinner@gmail.com>
# Date 1423661015 -3600
# Node ID 689092296ad31951f8f919fc06b49450e648e93d
# Parent 645f3d750be139ce0198e15e221da07b22289a92
Issue #23433: Fix faulthandler._stack_overflow()
Fix undefined behaviour: don't compare pointers. Use Py_uintptr_t type instead
of void*. It fixes test_faulthandler on Fedora 22 which now uses GCC 5.
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -911,12 +911,12 @@ faulthandler_fatal_error_py(PyObject *se
}
#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
-static void*
-stack_overflow(void *min_sp, void *max_sp, size_t *depth)
+static Py_uintptr_t
+stack_overflow(Py_uintptr_t min_sp, Py_uintptr_t max_sp, size_t *depth)
{
/* allocate 4096 bytes on the stack at each call */
unsigned char buffer[4096];
- void *sp = &buffer;
+ Py_uintptr_t sp = (Py_uintptr_t)&buffer;
*depth += 1;
if (sp < min_sp || max_sp < sp)
return sp;
@@ -929,7 +929,8 @@ static PyObject *
faulthandler_stack_overflow(PyObject *self)
{
size_t depth, size;
- char *sp = (char *)&depth, *stop;
+ Py_uintptr_t sp = (Py_uintptr_t)&depth;
+ Py_uintptr_t stop;
depth = 0;
stop = stack_overflow(sp - STACK_OVERFLOW_MAX_SIZE,

View File

@ -0,0 +1,49 @@
# HG changeset patch
# User Benjamin Peterson <benjamin@python.org>
# Date 1427947446 14400
# Node ID 1ad7c0253abe1252128d61c3d0127d22144cb354
# Parent 47451f6e7e7528a6647dbdc435e9a9f5c13c0080
replace 512 bit dh key with a 2014 bit one (closes #23844)
Patch by Cédric Krier.
diff --git a/Lib/test/dh1024.pem b/Lib/test/dh1024.pem
new file mode 100644
--- /dev/null
+++ b/Lib/test/dh1024.pem
@@ -0,0 +1,7 @@
+-----BEGIN DH PARAMETERS-----
+MIGHAoGBAIbzw1s9CT8SV5yv6L7esdAdZYZjPi3qWFs61CYTFFQnf2s/d09NYaJt
+rrvJhIzWavqnue71qXCf83/J3nz3FEwUU/L0mGyheVbsSHiI64wUo3u50wK5Igo0
+RNs/LD0irs7m0icZ//hijafTU+JOBiuA8zMI+oZfU7BGuc9XrUprAgEC
+-----END DH PARAMETERS-----
+
+Generated with: openssl dhparam -out dh1024.pem 1024
diff --git a/Lib/test/dh512.pem b/Lib/test/dh512.pem
deleted file mode 100644
--- a/Lib/test/dh512.pem
+++ /dev/null
@@ -1,9 +0,0 @@
------BEGIN DH PARAMETERS-----
-MEYCQQD1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWak
-XUGfnHy9iUsiGSa6q6Jew1XpKgVfAgEC
------END DH PARAMETERS-----
-
-These are the 512 bit DH parameters from "Assigned Number for SKIP Protocols"
-(http://www.skip-vpn.org/spec/numbers.html).
-See there for how they were generated.
-Note that g is not a generator, but this is not a problem since p is a safe prime.
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -64,7 +64,7 @@ BADKEY = data_file("badkey.pem")
NOKIACERT = data_file("nokia.pem")
NULLBYTECERT = data_file("nullbytecert.pem")
-DHFILE = data_file("dh512.pem")
+DHFILE = data_file("dh1024.pem")
BYTES_DHFILE = os.fsencode(DHFILE)

View File

@ -4,3 +4,13 @@
%python3_version %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3])")
%python3_version_nodots %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3].replace('.',''))")
%py3dir %{_builddir}/python3-%{name}-%{version}-%{release}
%py3_shbang_opts -s
%py3_build() %{expand:\
CFLAGS="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} build --executable="%{__python3} %{py3_shbang_opts}" %{?1}\
}
%py3_install() %{expand:\
CFLAGS="%{optflags}" %{__python3} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?1}\
}

View File

@ -140,7 +140,7 @@
Summary: Version 3 of the Python programming language aka Python 3000
Name: python3
Version: %{pybasever}.1
Release: 16%{?dist}
Release: 18%{?dist}
License: Python
Group: Development/Languages
@ -697,6 +697,13 @@ Patch196: 00196-test-gdb-match-addr-before-builtin.patch
# document root.
Patch197: 00197-fix-CVE-2014-4650.patch
# 00202 #
# Fixes undefined behaviour in faulthandler which caused test to hang on x86_64
# http://bugs.python.org/issue23433
Patch202: 00202-fix-undefined-behaviour-in-faulthandler.patch
# openssl requires DH keys to be > 768bits
Patch204: 00204-increase-dh-keys-size.patch
# (New patches go here ^^^)
#
@ -766,10 +773,12 @@ Summary: Libraries and header files needed for Python 3 development
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
BuildRequires: python-macros
Requires: python-macros
Conflicts: %{name} < %{version}-%{release}
%description devel
This package contains libraries and header files used to build applications
This package contains libraries and header files used to build applications
with and native libraries for Python 3
%package tools
@ -875,6 +884,11 @@ for f in md5module.c sha1module.c sha256module.c sha512module.c; do
rm Modules/$f
done
%if 0%{with_rewheel}
%global pip_version 1.5.6
sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/ensurepip/__init__.py
%endif
#
# Apply patches:
#
@ -976,6 +990,8 @@ done
%patch195 -p1
%patch196 -p1
%patch197 -p1
%patch202 -p1
%patch204 -p1
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
# are many differences between 2.6 and the Python 3 library.
@ -1093,7 +1109,8 @@ BuildPython debug \
%else
"--with-pydebug --with-count-allocs --with-call-profile --without-ensurepip" \
%endif
false
false \
-O0
%endif # with_debug_build
BuildPython optimized \
@ -1166,7 +1183,8 @@ make install DESTDIR=%{buildroot} INSTALL="install -p"
# Install the "debug" build first, so that we can move some files aside
%if 0%{?with_debug_build}
InstallPython debug \
%{py_INSTSONAME_debug}
%{py_INSTSONAME_debug} \
-O0
%endif # with_debug_build
# Now the optimized build:
@ -1865,6 +1883,18 @@ rm -fr %{buildroot}
# ======================================================
%changelog
* Thu Jul 09 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.1-18
- sync with master branch to backport some fixes
- Use 1024bit DH key in test_ssl (Matej Stuchlik)
- Use -O0 when compiling -debug build (Matej Stuchlik)
- Update pip version variable to the version we actually ship (Matej Stuchlik)
- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64
(http://bugs.python.org/issue23433) (Matej Stuchlik)
* Mon Jun 29 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.1-17
- python3-devel: Require python-macros for version independant macros such as
python_provide. See fpc#281 and fpc#534.
* Mon Nov 03 2014 Slavek Kabrda <bkabrda@redhat.com> - 3.4.1-16
- Fix CVE-2014-4650 - CGIHTTPServer URL handling
Resolves: rhbz#1113529