summaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
Diffstat (limited to 'extras')
-rw-r--r--extras/dbus/Makefile68
-rw-r--r--extras/dbus/dbus-listen-test.py26
-rw-r--r--extras/dbus/etc/dbus-1/system.d/udev_sysbus_policy.conf23
-rw-r--r--extras/dbus/udev_dbus.c195
4 files changed, 0 insertions, 312 deletions
diff --git a/extras/dbus/Makefile b/extras/dbus/Makefile
deleted file mode 100644
index 0cfc650c4b..0000000000
--- a/extras/dbus/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# Makefile for udev_dbus
-#
-# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-
-# Set the following to `true' to log the debug
-# and make a unstripped, unoptimized binary.
-# Leave this set to `false' for production use.
-DEBUG = false
-
-PROG = udev_dbus
-
-all: $(PROG)
-
-# override this to make udev look in a different location for it's config files
-prefix =
-exec_prefix = ${prefix}
-etcdir = ${prefix}/etc
-sbindir = ${exec_prefix}/sbin
-usrbindir = ${exec_prefix}/usr/bin
-usrsbindir = ${exec_prefix}/usr/sbin
-mandir = ${prefix}/usr/share/man
-devddir = ${etcdir}/dev.d/default
-dbusdir = ${etcdir}/dbus-1/system.d
-configdir = ${etcdir}/udev/
-initdir = ${etcdir}/init.d/
-srcdir = .
-
-INSTALL = /usr/bin/install -c
-INSTALL_PROGRAM = ${INSTALL}
-INSTALL_DATA = ${INSTALL} -m 644
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
-
-override CFLAGS+=-Wall -fno-builtin
-
-override CFLAGS += -DUSE_DBUS
-override CFLAGS += $(shell pkg-config --cflags dbus-1)
-override LDFLAGS += $(shell pkg-config --libs dbus-1)
-OBJS = udev_dbus.o
-
-$(PROG): $(OBJS)
- $(LD) $(LDFLAGS) -o $(PROG) $(CRT0) $(OBJS) ../../udev_lib.o $(LIB_OBJS) $(ARCH_LIB_OBJS)
-
-clean:
- rm -f $(PROG) $(OBJS)
-
-spotless: clean
-
-
-install-dbus-policy:
- $(INSTALL) -d $(DESTDIR)$(dbusdir)
-
-uninstall-dbus-policy:
- - rm $(DESTDIR)$(dbusdir)/udev_sysbus_policy.conf
-
-install: install-dbus-policy all
- $(INSTALL_DATA) etc/dbus-1/system.d/udev_sysbus_policy.conf $(DESTDIR)$(dbusdir)
- $(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(usrsbindir)/$(PROG)
- - ln -s -f $(DESTDIR)$(usrsbindir)/$(PROG) $(DESTDIR)$(devddir)/$(PROG).dev
-
-uninstall: uninstall-dbus-policy
- - rm $(DESTDIR)$(devddir)/$(PROG).dev
- - rm $(DESTDIR)$(usrsbindir)/$(PROG)
-
diff --git a/extras/dbus/dbus-listen-test.py b/extras/dbus/dbus-listen-test.py
deleted file mode 100644
index 6a68b5d2aa..0000000000
--- a/extras/dbus/dbus-listen-test.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/python
-
-# receives and prints the messages udev_dbus sent
-# to the org.kernel.udev.NodeMonitor interface
-
-import dbus
-import gtk
-
-def udev_signal_received(dbus_iface, member, service, object_path, message):
- [filename, sysfs_path] = message.get_args_list()
- if member=='NodeCreated':
- print 'Node %s created for %s'%(filename, sysfs_path)
- elif member=='NodeDeleted':
- print 'Node %s deleted for %s'%(filename, sysfs_path)
-
-def main():
- bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM)
- bus.add_signal_receiver(udev_signal_received,
- 'org.kernel.udev.NodeMonitor', # interface
- 'org.kernel.udev', # service
- '/org/kernel/udev/NodeMonitor') # object
- gtk.mainloop()
-
-if __name__ == '__main__':
- main()
-
diff --git a/extras/dbus/etc/dbus-1/system.d/udev_sysbus_policy.conf b/extras/dbus/etc/dbus-1/system.d/udev_sysbus_policy.conf
deleted file mode 100644
index b2660e65cf..0000000000
--- a/extras/dbus/etc/dbus-1/system.d/udev_sysbus_policy.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE busconfig PUBLIC
- "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-<busconfig>
-
- <!-- This configuration file specifies the required security policies
- for udev to work. -->
-
- <!-- Only root can own the udev service and only root can use the
- org.kernel.udev.NodeMonitor interface to send signals -->
- <policy user="root">
- <allow own="org.kernel.udev"/>
-
- <allow send_interface="org.kernel.udev.NodeMonitor"/>
- </policy>
-
- <!-- Allow anyone to listen to the org.kernel.udev.NodeMonitor interface
- for messages send from the owner of the org.kernel.udev service -->
- <policy context="default">
- <allow receive_interface="org.kernel.udev.NodeMonitor"/>
- </policy>
-</busconfig>
-
diff --git a/extras/dbus/udev_dbus.c b/extras/dbus/udev_dbus.c
deleted file mode 100644
index 4852d429f8..0000000000
--- a/extras/dbus/udev_dbus.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * udev_dbus.c
- *
- * Copyright (C) 2003 David Zeuthen <david@fubar.dk>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.h>
-#include <ctype.h>
-
-#define DBUS_API_SUBJECT_TO_CHANGE
-#include <dbus/dbus.h>
-
-#include "../../udev_lib.h"
-#include "../../logging.h"
-
-#ifdef LOG
-unsigned char logname[LOGNAME_SIZE];
-void log_message(int level, const char *format, ...)
-{
- va_list args;
-
- va_start(args, format);
- vsyslog(level, format, args);
- va_end(args);
-}
-#endif
-
-/* Variable for the connection the to system message bus or NULL
- * if we cannot connect or acquire the org.kernel.udev service
- */
-static DBusConnection* sysbus_connection;
-
-/* Disconnect from the system message bus */
-static void sysbus_disconnect(void)
-{
- if (sysbus_connection == NULL)
- return;
-
- dbus_connection_disconnect(sysbus_connection);
- sysbus_connection = NULL;
-}
-
-/* Connect to the system message bus */
-static void sysbus_connect(void)
-{
- DBusError error;
-
- /* Connect to a well-known bus instance, the system bus */
- dbus_error_init(&error);
- sysbus_connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
- if (sysbus_connection == NULL) {
- dbg("cannot connect to system message bus, error %s: %s",
- error.name, error.message);
- dbus_error_free(&error);
- return;
- }
-
- /* Acquire the org.kernel.udev service such that listeners
- * know that the message is really from us and not from a
- * random attacker. See the file udev_sysbus_policy.conf for
- * details.
- *
- * Note that a service can have multiple owners (though there
- * is a concept of a primary owner for reception of messages)
- * so no race is introduced if two copies of udev is running
- * at the same time.
- */
- dbus_bus_acquire_service(sysbus_connection, "org.kernel.udev", 0,
- &error);
- if (dbus_error_is_set(&error)) {
- dbg("cannot acquire org.kernel.udev service, error %s: %s'",
- error.name, error.message);
- sysbus_disconnect();
- return;
- }
-}
-
-
-/* Send out a signal that a device node is created
- *
- * @param devname Name of the device node, e.g. /dev/sda1
- * @param path Sysfs path of device
- */
-static void sysbus_send_create(const char *devname, const char *path)
-{
- DBusMessage* message;
- DBusMessageIter iter;
-
- /* object, interface, member */
- message = dbus_message_new_signal("/org/kernel/udev/NodeMonitor",
- "org.kernel.udev.NodeMonitor",
- "NodeCreated");
-
- dbus_message_iter_init(message, &iter);
- dbus_message_iter_append_string(&iter, devname);
- dbus_message_iter_append_string(&iter, path);
-
- if ( !dbus_connection_send(sysbus_connection, message, NULL) )
- dbg("error sending d-bus signal");
-
- dbus_message_unref(message);
-
- dbus_connection_flush(sysbus_connection);
-}
-
-/* Send out a signal that a device node is deleted
- *
- * @param devname Name of the device node, e.g. /udev/sda1
- * @param path Sysfs path of device
- */
-static void sysbus_send_remove(const char *devname, const char *path)
-{
- DBusMessage* message;
- DBusMessageIter iter;
-
- /* object, interface, member */
- message = dbus_message_new_signal("/org/kernel/udev/NodeMonitor",
- "org.kernel.udev.NodeMonitor",
- "NodeDeleted");
-
- dbus_message_iter_init(message, &iter);
- dbus_message_iter_append_string(&iter, devname);
- dbus_message_iter_append_string(&iter, path);
-
- if ( !dbus_connection_send(sysbus_connection, message, NULL) )
- dbg("error sending d-bus signal");
-
- dbus_message_unref(message);
-
- dbus_connection_flush(sysbus_connection);
-}
-
-int main(int argc, char *argv[], char *envp[])
-{
- char *action;
- char *devpath;
- char *devname;
- int retval = 0;
-
- init_logging("udev_dbus");
-
- sysbus_connect();
- if (sysbus_connection == NULL)
- return 0;
-
- action = get_action();
- if (!action) {
- dbg("no action?");
- goto exit;
- }
- devpath = get_devpath();
- if (!devpath) {
- dbg("no devpath?");
- goto exit;
- }
- devname = get_devname();
- if (!devname) {
- dbg("no devname?");
- goto exit;
- }
-
- if (strcmp(action, "add") == 0) {
- sysbus_send_create(devname, devpath);
- } else {
- if (strcmp(action, "remove") == 0) {
- sysbus_send_remove(devname, devpath);
- } else {
- dbg("unknown action '%s'", action);
- retval = -EINVAL;
- }
- }
-
-exit:
- sysbus_disconnect();
- return retval;
-}