Commit graph

369 commits

Author SHA1 Message Date
Pablo Galindo
4defba3b95 bpo-31368: Expose preadv and pwritev in the os module (#5239) 2018-01-27 17:16:37 +01:00
stratakis
e768c86ef4 bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. (#5284)
glibc is deprecating libcrypt in favor of libxcrypt, however python assumes
that crypt.h will always be included. This change makes the header inclusion
explicit when libxcrypt is present on the system.
2018-01-23 16:11:24 +01:00
Christian Heimes
ff5be6e810
bpo-32598: Use autoconf to detect usable OpenSSL (#5242)
Add https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html
to auto-detect compiler flags, linker flags and libraries to compile
OpenSSL extensions. The M4 macro uses pkg-config and falls back to
manual detection.

Add autoconf magic to detect usable X509_VERIFY_PARAM_set1_host()
and related functions.

Refactor setup.py to use new config vars to compile _ssl and _hashlib
modules.

Signed-off-by: Christian Heimes <christian@python.org>
2018-01-20 13:19:21 +01:00
David Carlier
b4ebaa7099 bpo-32493: Not only AIX, but FreeBSD has uuid_create support (#5089)
Allow building the _uuid extension module on FreeBSD and OpenBSD.
2018-01-09 20:38:07 +01:00
Nathaniel J. Smith
735ae8d139 bpo-29137: Remove fpectl module (#4789)
This module has never been enabled by default, never worked correctly
on x86-64, and caused ABI problems that caused C extension
compatibility. See bpo-29137 for details/discussion.
2018-01-05 23:15:34 -08:00
Michael Felt
0d3ccb4395 bpo-32399: Starting with AIX6.1 there is support in libc.a for uuid (RFC4122) (#4974)
Starting with AIX6.1 there is support in libc.a for uuid (RFC4122)
This patch provides the changes needed for this integration with the OS.

On AIX the base function is uuid_create() rather than uuid_generate_time()
The AIX uuid_t typedef is more aligned to the UUID field based definition
while the Linux typedef that is more aligned with UUID bytes
(or perhaps UUID bytes_le) definitions.
2017-12-30 22:39:20 +01:00
Michael Felt
c5ae169e1b bpo-26439 Fix ctypes.util.find_library failure on AIX (#4507)
Implement find_library() support in ctypes/util for AIX.

Add some AIX specific tests.
2017-12-19 13:58:49 +01:00
xdegaye
5ce1069a6f
bpo-28762: Revert last commit (now using Android Unified Headers) (GH-4488) 2017-11-23 12:01:36 +01:00
Berker Peksag
9a10ff4deb
bpo-11063: Add a configure check for uuid_generate_time_safe (GH-4287) 2017-11-08 23:09:16 +03:00
Serhiy Storchaka
894ebd065e
bpo-31919: Fix building the curses module on OpenIndiana. (#4211) 2017-11-01 14:34:20 +02:00
Masayuki Yamamoto
8bc7d63560 bpo-25720: Fix the method for checking pad state of curses WINDOW (#4164)
Modify the code to use ncurses is_pad() instead of checking WINDOW
_flags field.  If your platform does not provide the is_pad(), the
existing way that checks the field will be enabled.

Note: This change does not drop support for platforms where do not
have both WINDOW _flags field and is_pad().
2017-11-01 14:05:26 +02:00
Serhiy Storchaka
baac01e629
bpo-31891: Fix building the curses module on NetBSD. (#4165) 2017-10-31 13:56:44 +02:00
Benjamin Peterson
24c4d046c4 drop unused configure check for pthread_atfork (#4046) 2017-10-18 23:39:01 -07:00
Masayuki Yamamoto
731e189014 bpo-25658: Implement PEP 539 for Thread Specific Storage (TSS) API (GH-1362)
See PEP 539 for details.

Highlights of changes:

- Add Thread Specific Storage (TSS) API
- Document the Thread Local Storage (TLS) API as deprecated
- Update code that used TLS API to use TSS API
2017-10-06 20:41:34 +10:00
pdox
e14679c784 closes bpo-31596: Add an interface for pthread_getcpuclockid(3) (#3756) 2017-10-05 00:01:56 -07:00
Benjamin Peterson
b1d1c422cc remove configure check for memmove (#3716)
Python requires C implementations provide memmove, so we shouldn't need to check for it. The only place using this configure check was expat, where we can simply always define HAVE_MEMMOVE.
2017-09-24 12:08:40 -07:00
Antoine Pitrou
a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
caavery
effc12f8e9 bpo-27584: New addition of vSockets to the python socket module (#2489)
* bpo-27584: New addition of vSockets to the python socket module

Support for AF_VSOCK on Linux only

* bpo-27584: Fixes for V2

Fixed syntax and naming problems.
Fixed #ifdef AF_VSOCK checking
Restored original aclocal.m4

* bpo-27584: Fixes for V3

Added checking for fcntl and thread modules.

* bpo-27584: Fixes for V4

Fixed white space error

* bpo-27584: Fixes for V5

Added back comma in (CID, port).

* bpo-27584: Fixes for V6

Added news file.
socket.rst now reflects first Linux introduction of AF_VSOCK.
Fixed get_cid in test_socket.py.
Replaced PyLong_FromLong with PyLong_FromUnsignedLong in socketmodule.c
Got rid of extra AF_VSOCK #define.
Added sockaddr_vm to sock_addr.

* bpo-27584: Fixes for V7

Minor cleanup.

* bpo-27584: Fixes for V8

Put back #undef AF_VSOCK as it is  necessary when vm_sockets.h is not installed.
2017-09-06 15:18:10 -07:00
Christian Heimes
75b961869a bpo-31343: Include sys/sysmacros.h (#3318)
Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
plans to remove the functions from sys/types.h.

Signed-off-by: Christian Heimes <christian@python.org>
2017-09-05 15:53:09 +02:00
Benjamin Peterson
069306312a remove IRIX support (closes bpo-31341) (#3310)
See PEP 11.
2017-09-04 16:36:05 -07:00
Benjamin Peterson
a2344851ab remove autoconf check for select() (#3283)
We never actually check HAVE_SELECT.
2017-09-04 10:21:42 -07:00
Benjamin Peterson
fc96f1e95e remove configure check for 'volatile' (#3281)
This is a required feature is C99, which we require.
2017-09-04 10:09:12 -07:00
Antoine Pitrou
f474c5a3f3 bpo-30946: Remove obsolete fallback code in readline module (#2738)
* Remove obsolete fallback code in readline module

* Add NEWS

* Remove obsolete include

* Fix macro on Windows
2017-07-18 17:05:03 +02:00
INADA Naoki
6b42eb1764 bpo-29585: Fix sysconfig.get_config_var("PYTHONFRAMEWORK") (GH-2483)
`PYTHONFRAMEWORK` is defined in `Makefile` and it shoulnd't be used
in `pyconfig.h`.

`sysconfig.py --generate-posix-vars` reads config vars from Makefile
and `pyconfig.h`.  Conflicting variables should be avoided.

Especially, string config variables in Makefile are unquoted, but
in `pyconfig.h` are keep quoted.  So it should be private (starts with
underscore).
2017-06-29 15:31:38 +09:00
INADA Naoki
a8f8d5b4bd bpo-29585: optimize site.py startup time (GH-136)
Avoid importing `sysconfig` from `site` by copying minimum code.
Python startup is 5% faster on Linux and 30% faster on macOS
2017-06-29 00:31:53 +09:00
Nick Coghlan
6ea4186de3 bpo-28180: Implementation for PEP 538 (#659)
- new PYTHONCOERCECLOCALE config setting
- coerces legacy C locale to C.UTF-8, C.utf8 or UTF-8 by default
- always uses C.UTF-8 on Android
- uses `surrogateescape` on stdin and stdout in the coercion
  target locales
- configure option to disable locale coercion at build time
- configure option to disable C locale warning at build time
2017-06-11 13:16:15 +10:00
Benjamin Peterson
791dc83119 remove configure test for inline keyword (#1231)
We require C99, so a configure test for this standard feature is not needed.
2017-04-20 23:52:19 -07:00
Xavier de Gaye
507cbb0c0c Issue #28762: Merge 3.6. 2016-12-22 10:40:44 +01:00
Xavier de Gaye
bdf0d0f039 Issue #28762: lockf() is available on Android API level 24, but the
F_LOCK macro is not defined in android-ndk-r13.
2016-12-22 10:38:59 +01:00
Benjamin Peterson
38f225dd48 merge 3.6 (#28932) 2016-12-19 23:55:24 -08:00
Benjamin Peterson
b0eb986eb2 merge 3.5 (#28932) 2016-12-19 23:54:57 -08:00
Benjamin Peterson
fb2ae15c67 add a specific configure check for sys/random.h (closes #28932) 2016-12-19 23:54:25 -08:00
Zachary Ware
6a6967e827 Issue #21085: add configure check for siginfo_t.si_band
Patch by Masayuki Yamamoto, reviewed and rebased by Erik Bray.

This is a first step on the long road toward resupporting Cygwin, which does
not provide siginfo_t.si_band.
2016-10-01 00:47:27 -05:00
Benjamin Peterson
0c21214f3e replace usage of Py_VA_COPY with the (C99) standard va_copy 2016-09-20 20:39:33 -07:00
Benjamin Peterson
37098cd584 more granular configure checks for clock_* functions (closes #28081) 2016-09-13 22:55:09 -07:00
Łukasz Langa
a785c87d6e DTrace support: function calls, GC activity, line execution
Tested on macOS 10.11 dtrace, Ubuntu 16.04 SystemTap, and libbcc.

Largely based by an initial patch by Jesús Cea Avión, with some
influence from Dave Malcolm's SystemTap patch and Nikhil Benesch's
unification patch.

Things deliberately left out for simplicity:
- ustack helpers, I have no way of testing them at this point since
they are Solaris-specific
- PyFrameObject * in function__entry/function__return, this is
SystemTap-specific
- SPARC support
- dynamic tracing
- sys module dtrace facility introspection

All of those might be added later.
2016-09-09 17:37:37 -07:00
Benjamin Peterson
4fd64b9a6a remove ceval timestamp support 2016-09-09 14:57:58 -07:00
Benjamin Peterson
a845a81e42 remove unused osx10.5 sdk check 2016-09-09 11:37:58 -07:00
Benjamin Peterson
47ff0734b8 more PY_LONG_LONG to long long 2016-09-08 09:15:54 -07:00
Benjamin Peterson
a9296e7f3b require C99 bool 2016-09-07 11:06:17 -07:00
Benjamin Peterson
df6ff7bcca add back SIZEOF_UINTPTR_T 2016-09-06 13:53:14 -07:00
Benjamin Peterson
b9d9eeda2a require uintptr_t to exist 2016-09-06 13:33:56 -07:00
Benjamin Peterson
4fe55106d1 require standard int types to be defined (#17884) 2016-09-06 11:58:01 -07:00
Benjamin Peterson
ed4aa83ff7 require a long long data type (closes #27961) 2016-09-05 17:44:18 -07:00
Christian Heimes
dffa3949c7 Issue #27744: Add AF_ALG (Linux Kernel crypto) to socket module. 2016-09-05 23:54:41 +02:00
Xavier de Gaye
95750b1ca5 Issue #27442: Expose the Android API level in sysconfig.get_config_vars()
as 'ANDROID_API_LEVEL'.
2016-07-09 11:05:42 +02:00
Benjamin Peterson
50600a78cb merge 3.5 (#24557) 2016-07-06 23:58:16 -07:00
Benjamin Peterson
b8a2f51ceb assume egd unless OPENSSL_NO_EGD is defined—remove configure check (closes #24557) 2016-07-06 23:55:15 -07:00
Victor Stinner
9ff9cbd600 Merge 3.5 (os.urandom) 2016-06-07 11:25:43 +02:00
Victor Stinner
dddf4849ec os.urandom() doesn't block on Linux anymore
Issue #26839: On Linux, os.urandom() now calls getrandom() with GRND_NONBLOCK
to fall back on reading /dev/urandom if the urandom entropy pool is not
initialized yet. Patch written by Colm Buckley.
2016-06-07 11:21:42 +02:00
Serhiy Storchaka
c2f7d87897 Issue #26932: Fixed support of RTLD_* constants defined as enum values,
not via macros (in particular on Android).  Patch by Chi Hsuan Yen.
2016-05-04 09:44:44 +03:00
Stefan Krah
267b639a26 Issue #20306: The pw_gecos and pw_passwd fields are not required by POSIX.
If they aren't present, set them to an empty string.
2016-04-26 01:09:18 +02:00
Martin Panter
5dbbf1abba Issue #23735: Add SIGWINCH handler for Readline 6.3+ support, by Eric Price 2016-04-03 02:54:58 +00:00
Martin Panter
d887d1f365 Issue #17603: Check for st_blocks field without requiring fileblocks.o 2016-03-18 02:36:41 +00:00
Victor Stinner
bae2d6203f Issue #25003: On Solaris 11.3 or newer, os.urandom() now uses the getrandom()
function instead of the getentropy() function. The getentropy() function is
blocking to generate very good quality entropy, os.urandom() doesn't need such
high-quality entropy.
2015-10-01 09:47:30 +02:00
Larry Hastings
a6cc551502 Issue #22631: Added Linux-specific socket constant CAN_RAW_FD_FRAMES.
Patch courtesy of Joe Jevnik.
2015-04-13 17:48:40 -04:00
Victor Stinner
9eb57c5fa5 Issue #22181: The availability of the getrandom() is now checked in configure,
and stored in pyconfig.h as the new HAVE_GETRANDOM_SYSCALL define.

Fix os.urandom() tests using file descriptors if os.urandom() uses getrandom().
2015-03-19 22:21:49 +01:00
Victor Stinner
35a97c0bed Issue #22524: Fix os.scandir() for platforms which don't have a d_type field in
the dirent structure (ex: OpenIndiana).
2015-03-08 02:59:09 +01:00
Victor Stinner
923e06f77d Issue #22038, configure: HAVE_STD_ATOMIC now also check that "atomic_int" and
"_Atomic void*" types work. Change needed on FreeBSD 10 where stdatomic.h is
available but the compiler fails on "_Atomic void*" with "_Atomic cannot be
applied to incomplete type 'void'".
2015-01-14 16:01:46 +01:00
Victor Stinner
4f5366e65a Issue #22038: pyatomic.h now uses stdatomic.h or GCC built-in functions for
atomic memory access if available. Patch written by Vitor de Lima and Gustavo
Temple.
2015-01-09 02:13:19 +01:00
Victor Stinner
4d6a3d6c01 Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
instead of reading /dev/urandom, to get pseudo-random bytes.
2014-12-21 01:16:38 +01:00
Victor Stinner
beeb512fe1 Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The
availability of the function is checked during the compilation.

Patch written by Bernard Spil.
2014-11-28 13:28:25 +01:00
Benjamin Peterson
d1e22ba7db only support append_history if readline has it 2014-11-26 14:35:12 -06:00
Benjamin Peterson
8bdeb1672c support setting fpu precision on m68k (closes #20904)
Patch from Andreas Schwab.
2014-04-17 00:00:31 -04:00
Christian Heimes
647cd87169 Issue #19922: define _INCLUDE__STDC_A1_SOURCE in HP-UX to include mbstate_t
for mbrtowc().
2013-12-07 23:39:33 +01:00
Christian Heimes
985ecdcfc2 ssue #19183: Implement PEP 456 'secure and interchangeable hash algorithm'.
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Christian Heimes
b7bd5df809 Issue #16595: Add prlimit() to resource module
prlimit() is a Linux specific command that combines setrlimit, getrlimit and can set the limit
of other processes.
2013-10-22 11:21:54 +02:00
Victor Stinner
daf455554b Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Benjamin Peterson
3a7dffa4ce remove support for compiling on systems without getcwd()
Do we need a fallback implementation of getcwd() from 1991 that claims to
support "really old Unix systems"? I don't think so.
2013-08-23 21:01:48 -05:00
Christian Heimes
6acbe2aaa3 Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork.
A pthread_atfork() child handler is used to seeded the PRNG with pid, time
and some stack data.
2013-08-21 13:26:34 +02:00
Christian Heimes
f77b4b20e9 Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork.
A pthread_atfork() child handler is used to seeded the PRNG with pid, time
and some stack data.
2013-08-21 13:26:05 +02:00
Christian Heimes
360b89ca5e Fix for r84195: add HAVE_ALLOCA_H to configure and only include alloca.h if it's available 2013-06-18 13:22:37 +02:00
Christian Heimes
f0400baba8 Fix for r84195: add HAVE_ALLOCA_H to configure and only include alloca.h if it's available 2013-06-18 13:22:17 +02:00
Benjamin Peterson
f6b687fcd4 remove support GCC PyArg_ParseTuple format patch, last seen in 2006 2013-05-12 23:08:28 -05:00
Benjamin Peterson
feb5149244 -Wformat is needed by gcc 4.8 (closes #17547) 2013-05-11 13:00:05 -05:00
Victor Stinner
cd777eaf53 Issue #17615: Comparing two Unicode strings now uses wmemcmp() when possible
wmemcmp() is twice faster than a dummy loop (342 usec vs 744 usec) on Fedora
18/x86_64, GCC 4.7.2.
2013-04-08 22:43:44 +02:00
Charles-François Natali
773e42dff8 Issue #15359: Add CAN_BCM protocol support to the socket module. Patch by Brian
Thorne.
2013-02-05 19:42:01 +01:00
Mark Dickinson
6e61d18891 Issue 10052: merge fix from 3.2. 2012-12-02 13:21:37 +00:00
Mark Dickinson
ce31f66a6d Issue 10052: fix failed uint32_t / uint64_t / int32_t / int64_t detection on some platforms. 2012-12-02 13:20:22 +00:00
Mark Dickinson
983bc16c15 Issue 10052: fix failed uint32_t / uint64_t / int32_t / int64_t detection on some platforms. 2012-12-02 12:11:38 +00:00
doko@ubuntu.com
b457b9be4d - Issue #3754: Fix /dev/ptmx, /dev/ptc file checks for cross builds,
require values set in CONFIG_SITE.
2012-06-30 19:28:16 +02:00
Stefan Krah
1919b7e72b Issue #7652: Integrate the decimal floating point libmpdec library to speed
up the decimal module. Performance gains of the new C implementation are
between 12x and 80x, depending on the application.
2012-03-21 18:25:23 +01:00
Matthias Klose
5ce31cc4fc merge 3.2 2012-03-14 23:17:31 +01:00
Matthias Klose
d83be23689 merge 3.1 2012-03-14 23:14:35 +01:00
Matthias Klose
0f4c16e29c - rename configure.in to configure.ac
- change references from configure.in to configure.ac
2012-03-14 23:10:15 +01:00
Antoine Pitrou
bcf2b59fb5 Issue #13609: Add two functions to query the terminal size:
os.get_terminal_size (low level) and shutil.get_terminal_size (high level).
Patch by Zbigniew Jędrzejewski-Szmek.
2012-02-08 23:28:36 +01:00
Martin v. Löwis
9d6c66933a Issue #13777: Add PF_SYSTEM sockets on OS X.
Patch by Michael Goderbauer.
2012-02-03 17:44:58 +01:00
Gregory P. Smith
1577cf758b Improve the test for dirfd(). Some systems #define it rather than
have it as a library function.
2012-01-21 18:21:56 -08:00
Gregory P. Smith
df300d5062 Improve the test for dirfd(), some systems #define it rather than have
an actual function.
2012-01-21 18:20:15 -08:00
Gregory P. Smith
d635af5a61 Fixes issue #8052: The posix subprocess module's close_fds behavior was
suboptimal by closing all possible file descriptors rather than just
the open ones in the child process before exec().

It now closes only the open fds when it is possible to safely determine what
those are.
2012-01-21 14:39:29 -08:00
Gregory P. Smith
8facece99a Fixes issue #8052: The posix subprocess module's close_fds behavior was
suboptimal by closing all possible file descriptors rather than just
the open ones in the child process before exec().

It now closes only the open fds when it is possible to safely determine what
those are.
2012-01-21 14:01:08 -08:00
Gregory P. Smith
30c8a11836 Add a test for the dirfd library function (to be used in an upcoming
change).  configure will be regenerated in the next commit.
2012-01-16 02:09:11 -08:00
Gregory P. Smith
4188441f96 Test for the dirfd library function (for use in some upcoming
changes).
2012-01-16 02:05:23 -08:00
Benjamin Peterson
95c16629d3 fix for old kernels which don't have epoll_create1 2011-12-27 15:36:32 -06:00
Antoine Pitrou
f0effe6379 Better resolution for issue #11849: Ensure that free()d memory arenas are really released
on POSIX systems supporting anonymous memory mappings.  Patch by Charles-François Natali.
2011-11-26 01:11:02 +01:00
Victor Stinner
984890fcbb Close #13415: Test in configure if unsetenv() has a return value or not.
Patch written by Charles-François Natali.
2011-11-24 13:53:38 +01:00
Jesus Cea
d8b9ae6e8f Issue #6397: Support '/dev/poll' polling objects in select module, under Solaris & derivatives. 2011-11-14 19:07:41 +01:00
Victor Stinner
e0be423297 Close #10278: Add clock_getres(), clock_gettime() and CLOCK_xxx constants to
the time module. time.clock_gettime(time.CLOCK_MONOTONIC) provides a monotonic
clock
2011-10-25 13:06:09 +02:00
Antoine Pitrou
2c3b2302ad Issue #13134: optimize finding single-character strings using memchr 2011-10-11 20:29:21 +02:00
Charles-François Natali
47413c1171 Issue #10141: socket: add SocketCAN (PF_CAN) support. Initial patch by Matthias
Fuchs, updated by Tiago Gonçalves.
2011-10-06 19:47:44 +02:00