diff options
Diffstat (limited to 'dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch')
-rw-r--r-- | dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch b/dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch new file mode 100644 index 000000000000..2e094a2b2f1c --- /dev/null +++ b/dev-python/pycares/files/pycares-4.2.0-c-ares-1.18.patch @@ -0,0 +1,37 @@ +From 72202e0bc135e360102371708e83334856d485cc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Wed, 22 Jun 2022 07:38:33 +0200 +Subject: [PATCH] core: add flexible member to ares_addrinfo to fix c-ares 1.18 + +Add a flexible member to account for c-ares 1.18 adding an additional +`name` member to `struct ares_addrinfo`. This fixes the following +exception from cffi, and the resulting test_getaddrinfo* failures: + +``` +Exception ignored from cffi callback <function _addrinfo_cb at 0x7f5fa890d040>: +Traceback (most recent call last): + File "/tmp/pycares/.tox/py39/lib/python3.9/site-packages/pycares/__init__.py", line 162, in _addrinfo_cb + result = ares_addrinfo_result(res) + File "/tmp/pycares/.tox/py39/lib/python3.9/site-packages/pycares/__init__.py", line 841, in __init__ + cname_ptr = ares_addrinfo.cnames +ffi.error: struct ares_addrinfo: wrong total size (cdef says 16, but C compiler says 24). fix it or use "...;" as the last field in the cdef for struct ares_addrinfo to make it flexible +``` +--- + src/_cffi_src/build_cares.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/_cffi_src/build_cares.py b/src/_cffi_src/build_cares.py +index 77f03aa..dec42c9 100644 +--- a/src/_cffi_src/build_cares.py ++++ b/src/_cffi_src/build_cares.py +@@ -337,6 +337,7 @@ struct ares_addrinfo_cname { + struct ares_addrinfo { + struct ares_addrinfo_cname *cnames; + struct ares_addrinfo_node *nodes; ++ ...; + }; + + struct ares_addrinfo_hints { +-- +2.35.1 + |