summaryrefslogtreecommitdiff
path: root/package/open-iscsi/patches/patch-usr_mgmt_ipc_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/open-iscsi/patches/patch-usr_mgmt_ipc_c')
-rw-r--r--package/open-iscsi/patches/patch-usr_mgmt_ipc_c35
1 files changed, 35 insertions, 0 deletions
diff --git a/package/open-iscsi/patches/patch-usr_mgmt_ipc_c b/package/open-iscsi/patches/patch-usr_mgmt_ipc_c
new file mode 100644
index 000000000..bc29bd21b
--- /dev/null
+++ b/package/open-iscsi/patches/patch-usr_mgmt_ipc_c
@@ -0,0 +1,35 @@
+--- open-iscsi-2.0-871.orig/usr/mgmt_ipc.c 2009-07-11 05:55:58.000000000 +0200
++++ open-iscsi-2.0-871/usr/mgmt_ipc.c 2010-11-22 22:47:25.000000000 +0100
+@@ -341,31 +341,7 @@ mgmt_ipc_notify_del_portal(queue_task_t
+ static int
+ mgmt_peeruser(int sock, char *user)
+ {
+-#if defined(SO_PEERCRED)
+- /* Linux style: use getsockopt(SO_PEERCRED) */
+- struct ucred peercred;
+- socklen_t so_len = sizeof(peercred);
+- struct passwd *pass;
+-
+- errno = 0;
+- if (getsockopt(sock, SOL_SOCKET, SO_PEERCRED, &peercred,
+- &so_len) != 0 || so_len != sizeof(peercred)) {
+- /* We didn't get a valid credentials struct. */
+- log_error("peeruser_unux: error receiving credentials: %m");
+- return 0;
+- }
+-
+- pass = getpwuid(peercred.uid);
+- if (pass == NULL) {
+- log_error("peeruser_unix: unknown local user with uid %d",
+- (int) peercred.uid);
+- return 0;
+- }
+-
+- strlcpy(user, pass->pw_name, PEERUSER_MAX);
+- return 1;
+-
+-#elif defined(SCM_CREDS)
++#if defined(SCM_CREDS)
+ struct msghdr msg;
+ typedef struct cmsgcred Cred;
+ #define cruid cmcred_uid