]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-124944: Add socket.SO_ORIGINAL_DST (#124945)
authorSteven Jin <stevenjin8@gmail.com>
Mon, 14 Oct 2024 22:36:38 +0000 (18:36 -0400)
committerGitHub <noreply@github.com>
Mon, 14 Oct 2024 22:36:38 +0000 (00:36 +0200)
Misc/NEWS.d/next/Library/2024-10-03-17-13-22.gh-issue-124944.YyLAzf.rst [new file with mode: 0644]
Modules/socketmodule.c
Modules/socketmodule.h
configure
configure.ac
pyconfig.h.in

diff --git a/Misc/NEWS.d/next/Library/2024-10-03-17-13-22.gh-issue-124944.YyLAzf.rst b/Misc/NEWS.d/next/Library/2024-10-03-17-13-22.gh-issue-124944.YyLAzf.rst
new file mode 100644 (file)
index 0000000..66af712
--- /dev/null
@@ -0,0 +1 @@
+Add ``SO_ORIGINAL_DST`` to the :mod:`socket` module.
index 0829d2358129d28bcb6217d2b376d2d31089a450..744e5e0c0b2b54d529626e349b5211a9b69828b8 100644 (file)
@@ -7921,6 +7921,9 @@ socket_exec(PyObject *m)
 #ifdef  SO_OOBINLINE
     ADD_INT_MACRO(m, SO_OOBINLINE);
 #endif
+#ifdef  SO_ORIGINAL_DST
+    ADD_INT_MACRO(m, SO_ORIGINAL_DST);
+#endif
 #ifndef __GNU__
 #ifdef  SO_REUSEPORT
     ADD_INT_MACRO(m, SO_REUSEPORT);
index a77c620c2ef630b706ab884fa91b642c19698b1f..e1d96377728eb97bd5951b57d8c5f031efad711d 100644 (file)
@@ -172,6 +172,10 @@ typedef int socklen_t;
 # undef AF_VSOCK
 #endif
 
+#ifdef HAVE_LINUX_NETFILTER_IPV4_H
+# include <linux/netfilter_ipv4.h>
+#endif
+
 #ifdef HAVE_SOCKADDR_ALG
 
 # include <linux/if_alg.h>
index 0cc73e4e66552d13c4f328aaa30b2a6bd749f954..c5bec6a1b0d7c2966f2098f88e91d9e4e81c7245 100755 (executable)
--- a/configure
+++ b/configure
@@ -11092,6 +11092,12 @@ if test "x$ac_cv_header_linux_memfd_h" = xyes
 then :
   printf "%s\n" "#define HAVE_LINUX_MEMFD_H 1" >>confdefs.h
 
+fi
+ac_fn_c_check_header_compile "$LINENO" "linux/netfilter_ipv4.h" "ac_cv_header_linux_netfilter_ipv4_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_netfilter_ipv4_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_LINUX_NETFILTER_IPV4_H 1" >>confdefs.h
+
 fi
 ac_fn_c_check_header_compile "$LINENO" "linux/random.h" "ac_cv_header_linux_random_h" "$ac_includes_default"
 if test "x$ac_cv_header_linux_random_h" = xyes
index 1864e94ace92432b342279a7df02dc5bb2040880..d4b7942190207afc709364b97924ace02bd6f341 100644 (file)
@@ -3013,7 +3013,7 @@ AC_DEFINE([STDC_HEADERS], [1],
 AC_CHECK_HEADERS([ \
   alloca.h asm/types.h bluetooth.h conio.h direct.h dlfcn.h endian.h errno.h fcntl.h grp.h \
   io.h langinfo.h libintl.h libutil.h linux/auxvec.h sys/auxv.h linux/fs.h linux/limits.h linux/memfd.h \
-  linux/random.h linux/soundcard.h \
+  linux/netfilter_ipv4.h linux/random.h linux/soundcard.h \
   linux/tipc.h linux/wait.h netdb.h net/ethernet.h netinet/in.h netpacket/packet.h poll.h process.h pthread.h pty.h \
   sched.h setjmp.h shadow.h signal.h spawn.h stropts.h sys/audioio.h sys/bsdtty.h sys/devpoll.h \
   sys/endian.h sys/epoll.h sys/event.h sys/eventfd.h sys/file.h sys/ioctl.h sys/kern_control.h \
index 7f02603e26f5d09c21e6a725c46abae0e1deb906..1947d8ee14f83e0e46b43a31d97ed18183a021e7 100644 (file)
 /* Define to 1 if you have the <linux/memfd.h> header file. */
 #undef HAVE_LINUX_MEMFD_H
 
+/* Define to 1 if you have the <linux/netfilter_ipv4.h> header file. */
+#undef HAVE_LINUX_NETFILTER_IPV4_H
+
 /* Define to 1 if you have the <linux/netlink.h> header file. */
 #undef HAVE_LINUX_NETLINK_H