aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Burton <paul@archlinuxmips.org>2014-06-22 11:25:36 +0100
committerRiku Voipio <riku.voipio@linaro.org>2014-06-29 14:19:59 +0300
commit82d0fe6b7a7384ed442b6a481ab33d442a06f5f1 (patch)
treeb728cb6621e4e92170e366e3ba11d7e7c3b5ce60
parentd79b6cc4350a1c8debab8ae9a60ea745ea7ef036 (diff)
linux-user: support SO_PASSSEC setsockopt option
Translate the SO_PASSSEC option to setsockopt to the host value & perform the syscall as expected, allowing use of the option by target programs. Signed-off-by: Paul Burton <paul@archlinuxmips.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
-rw-r--r--linux-user/socket.h5
-rw-r--r--linux-user/syscall.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/linux-user/socket.h b/linux-user/socket.h
index ae17959902..4dacae6127 100644
--- a/linux-user/socket.h
+++ b/linux-user/socket.h
@@ -63,6 +63,7 @@
#define TARGET_SO_PEERSEC 30
#define TARGET_SO_SNDBUFFORCE 31
#define TARGET_SO_RCVBUFFORCE 33
+ #define TARGET_SO_PASSSEC 34
/** sock_type - Socket types
*
@@ -242,6 +243,10 @@
#define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1)
#define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */
+
+ #define TARGET_SO_PASSSEC 31
+#else
+ #define TARGET_SO_PASSSEC 34
#endif
/* For setsockopt(2) */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index bdc60fe0ee..3971cb51d6 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1531,6 +1531,9 @@ set_timeout:
case TARGET_SO_PASSCRED:
optname = SO_PASSCRED;
break;
+ case TARGET_SO_PASSSEC:
+ optname = SO_PASSSEC;
+ break;
case TARGET_SO_TIMESTAMP:
optname = SO_TIMESTAMP;
break;