mirror of
https://github.com/systemd/systemd.git
synced 2025-03-19 22:50:17 +03:00
[PATCH] DEVNODE -> DEVNAME transition fixes
It seems that the transition from DEVNODE to DEVNAME wasn't done everywhere. This broke udev_dbus for me. Attached patch does the transition in the places it wasn't done yet.
This commit is contained in:
parent
1321258af5
commit
4b06c852cb
4
dev_d.c
4
dev_d.c
@ -11,8 +11,8 @@
|
||||
/*
|
||||
* This essentially emulates the following shell script logic in C:
|
||||
* DIR="/etc/dev.d"
|
||||
* export DEVNODE="whatever_dev_name_udev_just_gave"
|
||||
* for I in "${DIR}/$DEVNODE/"*.dev "${DIR}/$1/"*.dev "${DIR}/default/"*.dev ; do
|
||||
* export DEVNAME="whatever_dev_name_udev_just_gave"
|
||||
* for I in "${DIR}/$DEVNAME/"*.dev "${DIR}/$1/"*.dev "${DIR}/default/"*.dev ; do
|
||||
* if [ -f $I ]; then $I $1 ; fi
|
||||
* done
|
||||
* exit 1;
|
||||
|
@ -80,10 +80,10 @@ static void sysbus_connect(void)
|
||||
|
||||
/** Send out a signal that a device node is created
|
||||
*
|
||||
* @param devnode name of the device node, e.g. /dev/sda1
|
||||
* @param devname name of the device node, e.g. /dev/sda1
|
||||
* @param path Sysfs path of device
|
||||
*/
|
||||
static void sysbus_send_create(const char *devnode, const char *path)
|
||||
static void sysbus_send_create(const char *devname, const char *path)
|
||||
{
|
||||
DBusMessage* message;
|
||||
DBusMessageIter iter;
|
||||
@ -94,7 +94,7 @@ static void sysbus_send_create(const char *devnode, const char *path)
|
||||
"NodeCreated");
|
||||
|
||||
dbus_message_iter_init(message, &iter);
|
||||
dbus_message_iter_append_string(&iter, devnode);
|
||||
dbus_message_iter_append_string(&iter, devname);
|
||||
dbus_message_iter_append_string(&iter, path);
|
||||
|
||||
if ( !dbus_connection_send(sysbus_connection, message, NULL) )
|
||||
@ -107,10 +107,10 @@ static void sysbus_send_create(const char *devnode, const char *path)
|
||||
|
||||
/** Send out a signal that a device node is deleted
|
||||
*
|
||||
* @param devnode Name of the device node, e.g. /udev/sda1
|
||||
* @param devname Name of the device node, e.g. /udev/sda1
|
||||
* @param path Sysfs path of device
|
||||
*/
|
||||
static void sysbus_send_remove(const char *devnode, const char *path)
|
||||
static void sysbus_send_remove(const char *devname, const char *path)
|
||||
{
|
||||
DBusMessage* message;
|
||||
DBusMessageIter iter;
|
||||
@ -121,7 +121,7 @@ static void sysbus_send_remove(const char *devnode, const char *path)
|
||||
"NodeDeleted");
|
||||
|
||||
dbus_message_iter_init(message, &iter);
|
||||
dbus_message_iter_append_string(&iter, devnode);
|
||||
dbus_message_iter_append_string(&iter, devname);
|
||||
dbus_message_iter_append_string(&iter, path);
|
||||
|
||||
if ( !dbus_connection_send(sysbus_connection, message, NULL) )
|
||||
@ -136,7 +136,7 @@ int main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
char *action;
|
||||
char *devpath;
|
||||
char *devnode;
|
||||
char *devname;
|
||||
int retval = 0;
|
||||
|
||||
init_logging("udev_dbus");
|
||||
@ -155,17 +155,17 @@ int main(int argc, char *argv[], char *envp[])
|
||||
dbg("no devpath?");
|
||||
goto exit;
|
||||
}
|
||||
devnode = get_devnode();
|
||||
if (!devnode) {
|
||||
dbg("no devnode?");
|
||||
devname = get_devname();
|
||||
if (!devname) {
|
||||
dbg("no devname?");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (strcmp(action, "add") == 0) {
|
||||
sysbus_send_create(devnode, devpath);
|
||||
sysbus_send_create(devname, devpath);
|
||||
} else {
|
||||
if (strcmp(action, "remove") == 0) {
|
||||
sysbus_send_remove(devnode, devpath);
|
||||
sysbus_send_remove(devname, devpath);
|
||||
} else {
|
||||
dbg("unknown action '%s'", action);
|
||||
retval = -EINVAL;
|
||||
|
@ -48,7 +48,7 @@ int main(int argc, char *argv[], char *envp[])
|
||||
{
|
||||
char *action;
|
||||
char *devpath;
|
||||
char *devnode;
|
||||
char *devname;
|
||||
int retval = 0;
|
||||
|
||||
init_logging("udev_selinux");
|
||||
@ -58,14 +58,14 @@ int main(int argc, char *argv[], char *envp[])
|
||||
dbg("no action?");
|
||||
goto exit;
|
||||
}
|
||||
devnode = get_devnode();
|
||||
if (!devnode) {
|
||||
dbg("no devnode?");
|
||||
devname = get_devname();
|
||||
if (!devname) {
|
||||
dbg("no devname?");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (strcmp(action, "add") == 0)
|
||||
selinux_add_node(devnode);
|
||||
selinux_add_node(devname);
|
||||
|
||||
exit:
|
||||
return retval;
|
||||
|
12
udev_lib.c
12
udev_lib.c
@ -58,15 +58,15 @@ char *get_devpath(void)
|
||||
return devpath;
|
||||
}
|
||||
|
||||
char *get_devnode(void)
|
||||
char *get_devname(void)
|
||||
{
|
||||
char *devnode;
|
||||
char *devname;
|
||||
|
||||
devnode = getenv("DEVNODE");
|
||||
if (devnode != NULL && strlen(devnode) > NAME_SIZE)
|
||||
devnode[NAME_SIZE-1] = '\0';
|
||||
devname = getenv("DEVNAME");
|
||||
if (devname != NULL && strlen(devname) > NAME_SIZE)
|
||||
devname[NAME_SIZE-1] = '\0';
|
||||
|
||||
return devnode;
|
||||
return devname;
|
||||
}
|
||||
|
||||
char *get_seqnum(void)
|
||||
|
@ -68,7 +68,7 @@ do { \
|
||||
|
||||
extern char *get_action(void);
|
||||
extern char *get_devpath(void);
|
||||
extern char *get_devnode(void);
|
||||
extern char *get_devname(void);
|
||||
extern char *get_seqnum(void);
|
||||
extern char *get_subsystem(char *subsystem);
|
||||
extern char get_device_type(const char *path, const char *subsystem);
|
||||
|
Loading…
x
Reference in New Issue
Block a user