mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 12:17:45 +00:00
Ports: Use sendfd()/recvfd() for mm_send_fd()/mm_receive_fd()
This commit is contained in:
parent
17e5ba70b1
commit
e69b729733
3 changed files with 37 additions and 0 deletions
35
Ports/openssh/patches/scm-rights.patch
Normal file
35
Ports/openssh/patches/scm-rights.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
diff -Naur openssh-portable-9ca7e9c861775dd6c6312bc8aaab687403d24676/monitor_fdpass.c openssh-portable-9ca7e9c861775dd6c6312bc8aaab687403d24676.serenity/monitor_fdpass.c
|
||||
--- openssh-portable-9ca7e9c861775dd6c6312bc8aaab687403d24676/monitor_fdpass.c 2020-05-27 02:38:00.000000000 +0200
|
||||
+++ openssh-portable-9ca7e9c861775dd6c6312bc8aaab687403d24676.serenity/monitor_fdpass.c 2021-05-01 12:32:21.145854477 +0200
|
||||
@@ -51,6 +51,7 @@
|
||||
int
|
||||
mm_send_fd(int sock, int fd)
|
||||
{
|
||||
+#ifndef __serenity__
|
||||
#if defined(HAVE_SENDMSG) && (defined(HAVE_ACCRIGHTS_IN_MSGHDR) || defined(HAVE_CONTROL_IN_MSGHDR))
|
||||
struct msghdr msg;
|
||||
#ifndef HAVE_ACCRIGHTS_IN_MSGHDR
|
||||
@@ -107,11 +108,15 @@
|
||||
error("%s: file descriptor passing not supported", __func__);
|
||||
return -1;
|
||||
#endif
|
||||
+#else
|
||||
+ return sendfd(sock, fd);
|
||||
+#endif
|
||||
}
|
||||
|
||||
int
|
||||
mm_receive_fd(int sock)
|
||||
{
|
||||
+#ifndef __serenity__
|
||||
#if defined(HAVE_RECVMSG) && (defined(HAVE_ACCRIGHTS_IN_MSGHDR) || defined(HAVE_CONTROL_IN_MSGHDR))
|
||||
struct msghdr msg;
|
||||
#ifndef HAVE_ACCRIGHTS_IN_MSGHDR
|
||||
@@ -184,4 +189,7 @@
|
||||
error("%s: file descriptor passing not supported", __func__);
|
||||
return -1;
|
||||
#endif
|
||||
+#else
|
||||
+ return recvfd(sock, 0);
|
||||
+#endif
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue