fdaed91e49
- Dont report errors on glob match and multiple links
210 lines
8.5 KiB
Diff
210 lines
8.5 KiB
Diff
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/audit2allow/audit2allow.1 policycoreutils-2.0.61/audit2allow/audit2allow.1
|
|
--- nsapolicycoreutils/audit2allow/audit2allow.1 2009-01-13 08:45:35.000000000 -0500
|
|
+++ policycoreutils-2.0.61/audit2allow/audit2allow.1 2009-01-20 09:49:03.000000000 -0500
|
|
@@ -75,9 +75,6 @@
|
|
Generate reference policy using installed macros.
|
|
This attempts to match denials against interfaces and may be inaccurate.
|
|
.TP
|
|
-.B "\-t " | "\-\-tefile"
|
|
-Indicates input file is a te (type enforcement) file. This can be used to translate old te format to new policy format.
|
|
-.TP
|
|
.B "\-w" | "\-\-why"
|
|
Translates SELinux audit messages into a description of why the access was denied
|
|
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/Makefile policycoreutils-2.0.61/Makefile
|
|
--- nsapolicycoreutils/Makefile 2008-08-28 09:34:24.000000000 -0400
|
|
+++ policycoreutils-2.0.61/Makefile 2009-01-20 09:49:03.000000000 -0500
|
|
@@ -1,4 +1,4 @@
|
|
-SUBDIRS = setfiles semanage load_policy newrole run_init secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps setsebool po
|
|
+SUBDIRS = setfiles semanage load_policy newrole run_init secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps setsebool po gui
|
|
|
|
INOTIFYH = $(shell ls /usr/include/sys/inotify.h 2>/dev/null)
|
|
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/Makefile policycoreutils-2.0.61/restorecond/Makefile
|
|
--- nsapolicycoreutils/restorecond/Makefile 2008-08-28 09:34:24.000000000 -0400
|
|
+++ policycoreutils-2.0.61/restorecond/Makefile 2009-01-30 11:22:46.000000000 -0500
|
|
@@ -20,7 +20,7 @@
|
|
install -m 755 restorecond $(SBINDIR)
|
|
install -m 644 restorecond.8 $(MANDIR)/man8
|
|
-mkdir -p $(INITDIR)
|
|
- install -m 644 restorecond.init $(INITDIR)/restorecond
|
|
+ install -m 755 restorecond.init $(INITDIR)/restorecond
|
|
-mkdir -p $(SELINUXDIR)
|
|
install -m 600 restorecond.conf $(SELINUXDIR)/restorecond.conf
|
|
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/restorecond.c policycoreutils-2.0.61/restorecond/restorecond.c
|
|
--- nsapolicycoreutils/restorecond/restorecond.c 2008-08-28 09:34:24.000000000 -0400
|
|
+++ policycoreutils-2.0.61/restorecond/restorecond.c 2009-01-30 11:21:09.000000000 -0500
|
|
@@ -1,7 +1,7 @@
|
|
/*
|
|
* restorecond
|
|
*
|
|
- * Copyright (C) 2006 Red Hat
|
|
+ * Copyright (C) 2006-2009 Red Hat
|
|
* see file 'COPYING' for use and warranty information
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
@@ -75,7 +75,7 @@
|
|
static int debug_mode = 0;
|
|
static int verbose_mode = 0;
|
|
|
|
-static void restore(const char *filename);
|
|
+static void restore(const char *filename, int exact);
|
|
|
|
struct watchList {
|
|
struct watchList *next;
|
|
@@ -113,12 +113,13 @@
|
|
printf("%d: File=%s\n", wd, file);
|
|
while (ptr != NULL) {
|
|
if (ptr->wd == wd) {
|
|
- if (strings_list_find(ptr->files, file) == 0) {
|
|
+ int exact=0;
|
|
+ if (strings_list_find(ptr->files, file, &exact) == 0) {
|
|
char *path = NULL;
|
|
if (asprintf(&path, "%s/%s", ptr->dir, file) <
|
|
0)
|
|
exitApp("Error allocating memory.");
|
|
- restore(path);
|
|
+ restore(path, exact);
|
|
free(path);
|
|
return 0;
|
|
}
|
|
@@ -155,7 +156,7 @@
|
|
Set the file context to the default file context for this system.
|
|
Same as restorecon.
|
|
*/
|
|
-static void restore(const char *filename)
|
|
+static void restore(const char *filename, int exact)
|
|
{
|
|
int retcontext = 0;
|
|
security_context_t scontext = NULL;
|
|
@@ -181,9 +182,11 @@
|
|
}
|
|
|
|
if (!(st.st_mode & S_IFDIR) && st.st_nlink > 1) {
|
|
- syslog(LOG_ERR,
|
|
- "Will not restore a file with more than one hard link (%s) %s\n",
|
|
- filename, strerror(errno));
|
|
+ if (exact) {
|
|
+ syslog(LOG_ERR,
|
|
+ "Will not restore a file with more than one hard link (%s) %s\n",
|
|
+ filename, strerror(errno));
|
|
+ }
|
|
close(fd);
|
|
return;
|
|
}
|
|
@@ -283,6 +286,8 @@
|
|
inotify_rm_watch(fd, master_wd);
|
|
master_wd =
|
|
inotify_add_watch(fd, watch_file_path, IN_MOVED_FROM | IN_MODIFY);
|
|
+ if (master_wd == -1)
|
|
+ exitApp("Error watching config file.");
|
|
}
|
|
|
|
/*
|
|
@@ -396,7 +401,7 @@
|
|
char *file = basename(path);
|
|
ptr = firstDir;
|
|
|
|
- restore(path);
|
|
+ restore(path, 1);
|
|
|
|
while (ptr != NULL) {
|
|
if (strcmp(dir, ptr->dir) == 0) {
|
|
@@ -411,7 +416,14 @@
|
|
|
|
if (!ptr)
|
|
exitApp("Out of Memory");
|
|
+
|
|
ptr->wd = inotify_add_watch(fd, dir, IN_CREATE | IN_MOVED_TO);
|
|
+ if (ptr->wd == -1) {
|
|
+ free(ptr);
|
|
+ syslog(LOG_ERR, "Unable to watch (%s) %s\n",
|
|
+ path, strerror(errno));
|
|
+ return;
|
|
+ }
|
|
|
|
ptr->dir = strdup(dir);
|
|
if (!ptr->dir)
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/restorecond.conf policycoreutils-2.0.61/restorecond/restorecond.conf
|
|
--- nsapolicycoreutils/restorecond/restorecond.conf 2008-09-12 11:48:15.000000000 -0400
|
|
+++ policycoreutils-2.0.61/restorecond/restorecond.conf 2009-01-30 11:10:14.000000000 -0500
|
|
@@ -5,4 +5,3 @@
|
|
/var/run/utmp
|
|
/var/log/wtmp
|
|
~/*
|
|
-~/.mozilla/plugins/libflashplayer.so
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/stringslist.c policycoreutils-2.0.61/restorecond/stringslist.c
|
|
--- nsapolicycoreutils/restorecond/stringslist.c 2008-09-12 11:48:15.000000000 -0400
|
|
+++ policycoreutils-2.0.61/restorecond/stringslist.c 2009-01-30 11:20:48.000000000 -0500
|
|
@@ -55,9 +55,10 @@
|
|
*list = newptr;
|
|
}
|
|
|
|
-int strings_list_find(struct stringsList *ptr, const char *string)
|
|
+int strings_list_find(struct stringsList *ptr, const char *string, int *exact)
|
|
{
|
|
while (ptr) {
|
|
+ *exact = strcmp(ptr->string, string) == 0;
|
|
int cmp = fnmatch(ptr->string, string, 0);
|
|
if (cmp == 0)
|
|
return 0; /* Match found */
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/stringslist.h policycoreutils-2.0.61/restorecond/stringslist.h
|
|
--- nsapolicycoreutils/restorecond/stringslist.h 2008-08-28 09:34:24.000000000 -0400
|
|
+++ policycoreutils-2.0.61/restorecond/stringslist.h 2009-01-30 11:27:00.000000000 -0500
|
|
@@ -31,7 +31,7 @@
|
|
void strings_list_free(struct stringsList *list);
|
|
void strings_list_add(struct stringsList **list, const char *string);
|
|
void strings_list_print(struct stringsList *list);
|
|
-int strings_list_find(struct stringsList *list, const char *string);
|
|
+int strings_list_find(struct stringsList *list, const char *string, int *exact);
|
|
int strings_list_diff(struct stringsList *from, struct stringsList *to);
|
|
|
|
#endif
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/utmpwatcher.c policycoreutils-2.0.61/restorecond/utmpwatcher.c
|
|
--- nsapolicycoreutils/restorecond/utmpwatcher.c 2008-08-28 09:34:24.000000000 -0400
|
|
+++ policycoreutils-2.0.61/restorecond/utmpwatcher.c 2009-01-20 09:49:03.000000000 -0500
|
|
@@ -57,7 +57,7 @@
|
|
utmp_ptr = NULL;
|
|
FILE *cfg = fopen(utmp_path, "r");
|
|
if (!cfg)
|
|
- exitApp("Error reading config file.");
|
|
+ exitApp("Error reading utmp file.");
|
|
|
|
while (fread(&u, sizeof(struct utmp), 1, cfg) > 0) {
|
|
if (u.ut_type == USER_PROCESS)
|
|
@@ -69,6 +69,9 @@
|
|
|
|
utmp_wd =
|
|
inotify_add_watch(inotify_fd, utmp_path, IN_MOVED_FROM | IN_MODIFY);
|
|
+ if (utmp_wd == -1)
|
|
+ exitApp("Error watching utmp file.");
|
|
+
|
|
if (prev_utmp_ptr) {
|
|
changed = strings_list_diff(prev_utmp_ptr, utmp_ptr);
|
|
strings_list_free(prev_utmp_ptr);
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semanage/semanage policycoreutils-2.0.61/semanage/semanage
|
|
--- nsapolicycoreutils/semanage/semanage 2008-11-14 17:10:15.000000000 -0500
|
|
+++ policycoreutils-2.0.61/semanage/semanage 2009-01-20 09:49:03.000000000 -0500
|
|
@@ -219,6 +219,7 @@
|
|
'seuser=',
|
|
'store=',
|
|
'range=',
|
|
+ 'locallist=',
|
|
'level=',
|
|
'roles=',
|
|
'type=',
|
|
diff --exclude-from=exclude --exclude=sepolgen-1.0.14 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semodule/semodule.c policycoreutils-2.0.61/semodule/semodule.c
|
|
--- nsapolicycoreutils/semodule/semodule.c 2009-01-13 08:45:35.000000000 -0500
|
|
+++ policycoreutils-2.0.61/semodule/semodule.c 2009-01-28 16:52:58.000000000 -0500
|
|
@@ -359,6 +363,9 @@
|
|
mode_arg);
|
|
}
|
|
result = semanage_module_remove(sh, mode_arg);
|
|
+ if ( result == -2 ) {
|
|
+ continue;
|
|
+ }
|
|
break;
|
|
}
|
|
case LIST_M:{
|