[PATCH] delete udev_selinux as it doesn't work properly and is the wrong way to do it...
This commit is contained in:
parent
d7a4f62d3d
commit
bd2598afb6
|
@ -1,64 +0,0 @@
|
||||||
# Makefile for udev_selinux
|
|
||||||
#
|
|
||||||
# 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 control the use of syslog
|
|
||||||
# Set it to `false' to remove all logging
|
|
||||||
USE_LOG = true
|
|
||||||
|
|
||||||
# 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_selinux
|
|
||||||
|
|
||||||
DESTDIR =
|
|
||||||
|
|
||||||
# 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
|
|
||||||
hotplugdir = ${etcdir}/hotplug.d/default
|
|
||||||
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}
|
|
||||||
|
|
||||||
all: $(PROG)
|
|
||||||
|
|
||||||
OBJS = udev_selinux.o
|
|
||||||
|
|
||||||
override CFLAGS += -DUSE_SELINUX
|
|
||||||
override LIB_OBJS += -lselinux
|
|
||||||
|
|
||||||
$(PROG): $(OBJS)
|
|
||||||
$(LD) $(LDFLAGS) -o $(PROG) $(CRT0) $(OBJS) ../../udev_lib.o $(LIB_OBJS) $(ARCH_LIB_OBJS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(PROG) $(OBJS)
|
|
||||||
|
|
||||||
spotless: clean
|
|
||||||
|
|
||||||
install: all
|
|
||||||
$(INSTALL_PROGRAM) $(PROG) $(DESTDIR)$(sbindir)/$(PROG)
|
|
||||||
- ln -s -f $(DESTDIR)$(sbindir)/$(PROG) $(DESTDIR)$(devddir)/$(PROG).dev
|
|
||||||
|
|
||||||
uninstall:
|
|
||||||
- rm $(DESTDIR)$(devddir)/$(PROG).dev
|
|
||||||
- rm $(DESTDIR)$(sbindir)/$(PROG)
|
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
/*
|
|
||||||
* udev_selinux.c
|
|
||||||
*
|
|
||||||
* Copyright (C) 2004 Daniel J Walsh <dwalsh@redhat.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.
|
|
||||||
*
|
|
||||||
* 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 <errno.h>
|
|
||||||
#include <selinux/selinux.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
|
|
||||||
|
|
||||||
static void selinux_add_node(char *filename)
|
|
||||||
{
|
|
||||||
int retval;
|
|
||||||
|
|
||||||
if (is_selinux_enabled() > 0) {
|
|
||||||
security_context_t scontext;
|
|
||||||
retval = matchpathcon(filename, 0, &scontext);
|
|
||||||
if (retval < 0) {
|
|
||||||
dbg("matchpathcon(%s) failed\n", filename);
|
|
||||||
} else {
|
|
||||||
retval = setfilecon(filename,scontext);
|
|
||||||
if (retval < 0)
|
|
||||||
dbg("setfiles %s failed with error '%s'",
|
|
||||||
filename, strerror(errno));
|
|
||||||
free(scontext);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char *argv[], char *envp[])
|
|
||||||
{
|
|
||||||
char *action;
|
|
||||||
char *devname;
|
|
||||||
int retval = 0;
|
|
||||||
|
|
||||||
init_logging("udev_selinux");
|
|
||||||
|
|
||||||
action = get_action();
|
|
||||||
if (!action) {
|
|
||||||
dbg("no action?");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
devname = get_devname();
|
|
||||||
if (!devname) {
|
|
||||||
dbg("no devname?");
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcmp(action, "add") == 0)
|
|
||||||
selinux_add_node(devname);
|
|
||||||
|
|
||||||
exit:
|
|
||||||
return retval;
|
|
||||||
}
|
|
Loading…
Reference in a new issue