Author: cem
Date: Tue Nov 3 01:19:13 2020
New Revision: 367288
URL: https://svnweb.freebsd.org/changeset/base/367288
Log:
linux(4): Emulate Linux SOL_SOCKET:SO_PASSCRED
This is required by some major linux applications, such as Chrome and
Firefox. (As well as Electron-using applications, which are essentially
a bundled version of Chrome.)
Reviewed by: markj
Differential Revision:https://reviews.freebsd.org/D27012
Modified:
head/sys/compat/linux/linux_socket.c
Modified: head/sys/compat/linux/linux_socket.c
==
--- head/sys/compat/linux/linux_socket.cTue Nov 3 01:17:45 2020
(r367287)
+++ head/sys/compat/linux/linux_socket.cTue Nov 3 01:19:13 2020
(r367288)
@@ -222,6 +222,8 @@ linux_to_bsd_so_sockopt(int opt)
return (SO_LINGER);
case LINUX_SO_REUSEPORT:
return (SO_REUSEPORT_LB);
+ case LINUX_SO_PASSCRED:
+ return (LOCAL_CREDS_PERSISTENT);
case LINUX_SO_PEERCRED:
return (LOCAL_PEERCRED);
case LINUX_SO_RCVLOWAT:
@@ -1445,6 +1447,9 @@ linux_setsockopt(struct thread *td, struct linux_setso
case SOL_SOCKET:
name = linux_to_bsd_so_sockopt(args->optname);
switch (name) {
+ case LOCAL_CREDS_PERSISTENT:
+ level = SOL_LOCAL;
+ break;
case SO_RCVTIMEO:
/* FALLTHROUGH */
case SO_SNDTIMEO:
@@ -1522,6 +1527,9 @@ linux_getsockopt(struct thread *td, struct linux_getso
case SOL_SOCKET:
name = linux_to_bsd_so_sockopt(args->optname);
switch (name) {
+ case LOCAL_CREDS_PERSISTENT:
+ level = SOL_LOCAL;
+ break;
case SO_RCVTIMEO:
/* FALLTHROUGH */
case SO_SNDTIMEO:
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"