linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* $local user
@ 2004-10-18 19:10 Kay Sievers
  2004-10-18 19:55 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Kay Sievers @ 2004-10-18 19:10 UTC (permalink / raw)
  To: linux-hotplug

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

We once implemented the devfsd feature to set the owner of a device node
to the "local" user. This was before we had the dev.d/ scripts. We discussed
a similar issue with D-BUS recently and this should be better handled depending
on the distributions way to do such a thing.

I'm for removing this here as this can be easily covered by a dev.d/
script.

Here is the patch if nobody objects :)

Thanks,
Kay

[-- Attachment #2: udev-local_user-01.patch --]
[-- Type: text/plain, Size: 3091 bytes --]

===== klibc_fixups.c 1.11 vs edited =====
--- 1.11/klibc_fixups.c	2004-09-05 11:41:34 +02:00
+++ edited/klibc_fixups.c	2004-10-18 20:55:31 +02:00
@@ -125,38 +125,4 @@
 		return &gr;
 }
 
-
-int ufd = -1;
-
-void setutent()
-{
-	if (ufd < 0)
-		ufd = open(UTMP_FILE, O_RDONLY);
-	fcntl(ufd, F_SETFD, FD_CLOEXEC);
-	lseek(ufd, 0, SEEK_SET);
-}
-
-void endutent() {
-	if (ufd < 0)
-		return;
-	close(ufd);
-	ufd = -1;
-}
-
-struct utmp *getutent(void)
-{
-	static struct utmp utmp;
-	int retval;
-
-	if (ufd < 0) {
-		setutent();
-		if (ufd < 0)
-			return NULL;
-	}
-	retval = read(ufd, &utmp, sizeof(struct utmp));
-	if (retval < 1)
-		return NULL;
-	return &utmp;
-}
-
 #endif
===== klibc_fixups.h 1.8 vs edited =====
--- 1.8/klibc_fixups.h	2004-05-21 06:17:58 +02:00
+++ edited/klibc_fixups.h	2004-10-18 20:55:40 +02:00
@@ -62,10 +62,5 @@
 	char __unused[20];		/* reserved for future use */
 };
 
-struct utmp *getutent(void);
-void setutent(void);
-void endutent(void);
-
-
 #endif /* KLIBC_FIXUPS_H */
 #endif /* __KLIBC__ */
===== udev.8.in 1.61 vs edited =====
--- 1.61/udev.8.in	2004-10-14 03:14:12 +02:00
+++ edited/udev.8.in	2004-10-18 20:57:42 +02:00
@@ -335,17 +335,6 @@
 dsp1:::0666
 .fi
 .P
-The value
-.I $local
-can be used instead of a specific username.  In that case, udev will determine
-the current local user at the time of device node creation and substitute
-that username as the owner of the new device node.  This is useful, for
-example, to let hot-plugged devices, such as cameras, be owned by the user at
-the current console.  Note that if no user is currently logged in, or if udev
-otherwise fails to determine a current user, the
-.I default_owner
-value is used in lieu.
-.P
 A number of different fields in the above configuration files support a simple
 form of shell style pattern matching. It supports the following pattern characters:
 .TP
===== udev_add.c 1.79 vs edited =====
--- 1.79/udev_add.c	2004-10-18 19:48:33 +02:00
+++ edited/udev_add.c	2004-10-18 20:56:27 +02:00
@@ -48,8 +48,6 @@
 #include "udevdb.h"
 #include "klibc_fixups.h"
 
-#define LOCAL_USER "$local"
-
 #include "selinux.h"
 
 /*
@@ -155,37 +153,6 @@
 	return retval;
 }
 
-/* get the local logged in user */
-static void set_to_local_user(char *user)
-{
-	struct utmp *u;
-	time_t recent = 0;
-
-	strfieldcpymax(user, default_owner_str, OWNER_SIZE);
-	setutent();
-	while (1) {
-		u = getutent();
-		if (u == NULL)
-			break;
-
-		/* is this a user login ? */
-		if (u->ut_type != USER_PROCESS)
-			continue;
-
-		/* is this a local login ? */
-		if (strcmp(u->ut_host, ""))
-			continue;
-
-		if (u->ut_time > recent) {
-			recent = u->ut_time;
-			strfieldcpymax(user, u->ut_user, OWNER_SIZE);
-			dbg("local user is '%s'", user);
-			break;
-		}
-	}
-	endutent();
-}
-
 static int create_node(struct udevice *udev)
 {
 	char filename[NAME_SIZE];
@@ -229,8 +196,6 @@
 			uid = (uid_t) id;
 		else {
 			struct passwd *pw;
-			if (strncmp(udev->owner, LOCAL_USER, sizeof(LOCAL_USER)) == 0)
-				set_to_local_user(udev->owner);
 
 			pw = getpwnam(udev->owner);
 			if (pw == NULL)

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-10-18 19:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-18 19:10 $local user Kay Sievers
2004-10-18 19:55 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).