FreeBSD Bugzilla – Attachment 149974 Details for
Bug 192511
lang/python27: Fix build with LibreSSL
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Single patch for this PR for the source tree
patch-pr192511 (text/plain), 5.20 KB, created by
Bernard Spil
on 2014-11-28 20:47:32 UTC
(
hide
)
Description:
Single patch for this PR for the source tree
Filename:
MIME Type:
Creator:
Bernard Spil
Created:
2014-11-28 20:47:32 UTC
Size:
5.20 KB
patch
obsolete
>### Fix build with LibreSSL (does not have RAND_egd) >### PR192511, http://bugs.python.org/issue21356 >### Backported from upstream patch by Victor Stinner > >--- pyconfig.h.in.orig 2014-06-30 04:05:48.000000000 +0200 >+++ pyconfig.h.in 2014-11-28 20:41:31.020342971 +0100 >@@ -544,6 +544,12 @@ > /* Define to 1 if you have the `putenv' function. */ > #undef HAVE_PUTENV > >+/* ### Fix build with LibreSSL (does not have RAND_egd) >+ ### PR192511, http://bugs.python.org/issue21356 */ >+/* Define if the libcrypto has RAND_egd */ >+#undef HAVE_RAND_EGD >+ >+/* ### End PR192511 */ > /* Define to 1 if you have the `readlink' function. */ > #undef HAVE_READLINK > >--- Lib/test/test_ssl.py.orig 2014-06-30 04:05:36.000000000 +0200 >+++ Lib/test/test_ssl.py 2014-11-28 20:33:55.598364999 +0100 >@@ -96,8 +96,12 @@ > sys.stdout.write("\n RAND_status is %d (%s)\n" > % (v, (v and "sufficient randomness") or > "insufficient randomness")) >- self.assertRaises(TypeError, ssl.RAND_egd, 1) >- self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1) >+### Fix build with LibreSSL (does not have RAND_egd) >+### PR192511, http://bugs.python.org/issue21356 >+ if hasattr(ssl, 'RAND_egd'): >+ self.assertRaises(TypeError, ssl.RAND_egd, 1) >+ self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1) >+### End PR192511 > ssl.RAND_add("this is a random string", 75.0) > > def test_parse_cert(self): >--- Lib/ssl.py.orig 2014-11-28 20:45:51.341319838 +0100 >+++ Lib/ssl.py 2014-11-28 20:59:10.373259128 +0100 >@@ -62,10 +62,15 @@ > from _ssl import OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_INFO, OPENSSL_VERSION > from _ssl import SSLError > from _ssl import CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED >+### Fix build with LibreSSL (does not have RAND_egd) >+### PR192511, http://bugs.python.org/issue21356 >+from _ssl import RAND_status, RAND_add > try: >- from _ssl import RAND_status, RAND_egd, RAND_add >+ from _ssl import RAND_egd > except ImportError: >- from _ssl import RAND_status, RAND_add >+ # LibreSSL does not provide RAND_egd >+ pass >+### End PR192511 > from _ssl import \ > SSL_ERROR_ZERO_RETURN, \ > SSL_ERROR_WANT_READ, \ >--- configure.ac.orig 2014-11-28 21:02:44.159242000 +0100 >+++ configure.ac 2014-11-28 21:03:23.311244025 +0100 >@@ -2216,6 +2216,13 @@ > AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV > AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX > >+### Fix build with LibreSSL (does not have RAND_egd) >+### PR192511, http://bugs.python.org/issue21356 >+AC_CHECK_LIB(crypto, RAND_egd, >+ AC_DEFINE(HAVE_RAND_EGD, 1, >+ [Define if the libcrypto has RAND_egd])) >+### End PR192511 >+ > # only check for sem_init if thread support is requested > if test "$with_threads" = "yes" -o -z "$with_threads"; then > AC_SEARCH_LIBS(sem_init, pthread rt posix4) # 'Real Time' functions on Solaris >--- configure.orig 2014-11-28 21:01:17.338249000 +0100 >+++ configure 2014-11-28 21:04:01.067237069 +0100 >@@ -8529,6 +8529,52 @@ > fi > # Dynamic linking for HP-UX > >+### Fix build with LibreSSL (does not have RAND_egd) >+### PR192511, http://bugs.python.org/issue21356 >+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RAND_egd in -lcrypto" >&5 >+$as_echo_n "checking for RAND_egd in -lcrypto... " >&6; } >+if ${ac_cv_lib_crypto_RAND_egd+:} false; then : >+ $as_echo_n "(cached) " >&6 >+else >+ ac_check_lib_save_LIBS=$LIBS >+LIBS="-lcrypto $LIBS" >+cat confdefs.h - <<_ACEOF >conftest.$ac_ext >+/* end confdefs.h. */ >+ >+/* Override any GCC internal prototype to avoid an error. >+ Use char because int might match the return type of a GCC >+ builtin and then its argument prototype would still apply. */ >+#ifdef __cplusplus >+extern "C" >+#endif >+char RAND_egd (); >+int >+main () >+{ >+return RAND_egd (); >+ ; >+ return 0; >+} >+_ACEOF >+if ac_fn_c_try_link "$LINENO"; then : >+ ac_cv_lib_crypto_RAND_egd=yes >+else >+ ac_cv_lib_crypto_RAND_egd=no >+fi >+rm -f core conftest.err conftest.$ac_objext \ >+ conftest$ac_exeext conftest.$ac_ext >+LIBS=$ac_check_lib_save_LIBS >+fi >+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_RAND_egd" >&5 >+$as_echo "$ac_cv_lib_crypto_RAND_egd" >&6; } >+if test "x$ac_cv_lib_crypto_RAND_egd" = xyes; then : >+ >+$as_echo "#define HAVE_RAND_EGD 1" >>confdefs.h >+ >+fi >+ >+### End PR192511 >+ > # only check for sem_init if thread support is requested > if test "$with_threads" = "yes" -o -z "$with_threads"; then > { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sem_init" >&5 >--- Lib/socket.py.orig 2014-06-30 04:05:30.000000000 +0200 >+++ Lib/socket.py 2014-11-28 21:37:35.552098186 +0100 >@@ -67,7 +67,6 @@ > from _ssl import SSLError as sslerror > from _ssl import \ > RAND_add, \ >- RAND_egd, \ > RAND_status, \ > SSL_ERROR_ZERO_RETURN, \ > SSL_ERROR_WANT_READ, \ >@@ -78,6 +77,14 @@ > SSL_ERROR_WANT_CONNECT, \ > SSL_ERROR_EOF, \ > SSL_ERROR_INVALID_ERROR_CODE >+### Fix build with LibreSSL (does not have RAND_egd) >+### PR192511, http://bugs.python.org/issue21356 >+ try: >+ from _ssl import RAND_egd >+ # LibreSSL does not provide RAND_egd >+ except ImportError: >+ pass >+### End PR192511 > > import os, sys, warnings >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 192511
:
145517
|
149952
|
149974
|
149975
|
149976
|
149998
|
149999
|
150000
|
150909
|
150910
|
150944
|
151207
|
151208
|
153781
|
153782
|
153783
|
153820
|
153828
|
154266
|
154280
|
154281
|
154282
|
154283
|
154342
|
154344
|
154345
|
155432
|
157097
|
157316