Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F111313251
D23234.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D23234.diff
View Options
Index: head/sys/compat/linux/linux_mib.h
===================================================================
--- head/sys/compat/linux/linux_mib.h
+++ head/sys/compat/linux/linux_mib.h
@@ -62,6 +62,7 @@
#define linux_use26(t) (linux_kernver(t) >= LINUX_KERNVER_2006000)
+extern int linux_ignore_ip_recverr;
extern int linux_preserve_vstatus;
#endif /* _LINUX_MIB_H_ */
Index: head/sys/compat/linux/linux_mib.c
===================================================================
--- head/sys/compat/linux/linux_mib.c
+++ head/sys/compat/linux/linux_mib.c
@@ -62,6 +62,10 @@
SYSCTL_NODE(_compat, OID_AUTO, linux, CTLFLAG_RW, 0, "Linux mode");
+int linux_ignore_ip_recverr = 1;
+SYSCTL_INT(_compat_linux, OID_AUTO, ignore_ip_recverr, CTLFLAG_RWTUN,
+ &linux_ignore_ip_recverr, 0, "Ignore enabling IP_RECVERR");
+
int linux_preserve_vstatus = 0;
SYSCTL_INT(_compat_linux, OID_AUTO, preserve_vstatus, CTLFLAG_RWTUN,
&linux_preserve_vstatus, 0, "Preserve VSTATUS termios(4) flag");
Index: head/sys/compat/linux/linux_socket.h
===================================================================
--- head/sys/compat/linux/linux_socket.h
+++ head/sys/compat/linux/linux_socket.h
@@ -202,6 +202,7 @@
#define LINUX_IP_TTL 2
#define LINUX_IP_HDRINCL 3
#define LINUX_IP_OPTIONS 4
+#define LINUX_IP_RECVERR 11
#define LINUX_IP_MULTICAST_IF 32
#define LINUX_IP_MULTICAST_TTL 33
Index: head/sys/compat/linux/linux_socket.c
===================================================================
--- head/sys/compat/linux/linux_socket.c
+++ head/sys/compat/linux/linux_socket.c
@@ -72,6 +72,7 @@
#endif
#include <compat/linux/linux_common.h>
#include <compat/linux/linux_file.h>
+#include <compat/linux/linux_mib.h>
#include <compat/linux/linux_socket.h>
#include <compat/linux/linux_timer.h>
#include <compat/linux/linux_util.h>
@@ -1424,6 +1425,14 @@
}
break;
case IPPROTO_IP:
+ if (args->optname == LINUX_IP_RECVERR &&
+ linux_ignore_ip_recverr) {
+ /*
+ * XXX: This is a hack to unbreak DNS resolution
+ * with glibc 2.30 and above.
+ */
+ return (0);
+ }
name = linux_to_bsd_ip_sockopt(args->optname);
break;
case IPPROTO_IPV6:
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Mar 3, 5:24 AM (3 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16940677
Default Alt Text
D23234.diff (2 KB)
Attached To
Mode
D23234: Add compat.linux.ignore_ip_recverr sysctl
Attached
Detach File
Event Timeline
Log In to Comment