Blame SOURCES/0037-setfiles-drop-ABORT_ON_ERRORS-and-related-code.patch

d6d821
From 2f135022f4372dc34198c48cfd67b91044e6dfd7 Mon Sep 17 00:00:00 2001
d6d821
From: Petr Lautrbach <plautrba@redhat.com>
d6d821
Date: Wed, 13 Jan 2021 22:09:48 +0100
d6d821
Subject: [PATCH] setfiles: drop ABORT_ON_ERRORS and related code
d6d821
d6d821
`setfiles -d` doesn't have any impact on number of errors before it
d6d821
aborts. It always aborts on first invalid context in spec file.
d6d821
d6d821
Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
d6d821
---
d6d821
 policycoreutils/setfiles/Makefile      |  3 ---
d6d821
 policycoreutils/setfiles/ru/setfiles.8 |  2 +-
d6d821
 policycoreutils/setfiles/setfiles.8    |  3 +--
d6d821
 policycoreutils/setfiles/setfiles.c    | 18 ------------------
d6d821
 4 files changed, 2 insertions(+), 24 deletions(-)
d6d821
d6d821
diff --git a/policycoreutils/setfiles/Makefile b/policycoreutils/setfiles/Makefile
d6d821
index bc5a8db789a5..a3bbbe116b7f 100644
d6d821
--- a/policycoreutils/setfiles/Makefile
d6d821
+++ b/policycoreutils/setfiles/Makefile
d6d821
@@ -5,8 +5,6 @@ SBINDIR ?= /sbin
d6d821
 MANDIR = $(PREFIX)/share/man
d6d821
 AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y)
d6d821
 
d6d821
-ABORT_ON_ERRORS=$(shell grep "^\#define ABORT_ON_ERRORS" setfiles.c | awk -S '{ print $$3 }')
d6d821
-
d6d821
 CFLAGS ?= -g -Werror -Wall -W
d6d821
 override LDLIBS += -lselinux -lsepol
d6d821
 
d6d821
@@ -26,7 +24,6 @@ restorecon_xattr: restorecon_xattr.o restore.o
d6d821
 
d6d821
 man:
d6d821
 	@cp -af setfiles.8 setfiles.8.man
d6d821
-	@sed -i "s/ABORT_ON_ERRORS/$(ABORT_ON_ERRORS)/g" setfiles.8.man
d6d821
 
d6d821
 install: all
d6d821
 	[ -d $(DESTDIR)$(MANDIR)/man8 ] || mkdir -p $(DESTDIR)$(MANDIR)/man8
d6d821
diff --git a/policycoreutils/setfiles/ru/setfiles.8 b/policycoreutils/setfiles/ru/setfiles.8
d6d821
index 27815a3f1eee..910101452625 100644
d6d821
--- a/policycoreutils/setfiles/ru/setfiles.8
d6d821
+++ b/policycoreutils/setfiles/ru/setfiles.8
d6d821
@@ -47,7 +47,7 @@ setfiles \- установить SELinux-контексты безопаснос
d6d821
 проверить действительность контекстов относительно указанной двоичной политики.
d6d821
 .TP
d6d821
 .B \-d
d6d821
-показать, какая спецификация соответствует каждому из файлов (не прекращать проверку после получения ошибок ABORT_ON_ERRORS).
d6d821
+показать, какая спецификация соответствует каждому из файлов.
d6d821
 .TP
d6d821
 .BI \-e \ directory
d6d821
 исключить каталог (чтобы исключить более одного каталога, этот параметр необходимо использовать соответствующее количество раз).
d6d821
diff --git a/policycoreutils/setfiles/setfiles.8 b/policycoreutils/setfiles/setfiles.8
d6d821
index a8a76c860dac..b7d3cefb96ff 100644
d6d821
--- a/policycoreutils/setfiles/setfiles.8
d6d821
+++ b/policycoreutils/setfiles/setfiles.8
d6d821
@@ -56,8 +56,7 @@ option will force a replacement of the entire context.
d6d821
 check the validity of the contexts against the specified binary policy.
d6d821
 .TP
d6d821
 .B \-d
d6d821
-show what specification matched each file (do not abort validation
d6d821
-after ABORT_ON_ERRORS errors). Not affected by "\-q"
d6d821
+show what specification matched each file. Not affected by "\-q"
d6d821
 .TP
d6d821
 .BI \-e \ directory
d6d821
 directory to exclude (repeat option for more than one directory).
d6d821
diff --git a/policycoreutils/setfiles/setfiles.c b/policycoreutils/setfiles/setfiles.c
d6d821
index 68eab45aa2b4..bcbdfbfe53e2 100644
d6d821
--- a/policycoreutils/setfiles/setfiles.c
d6d821
+++ b/policycoreutils/setfiles/setfiles.c
d6d821
@@ -23,14 +23,6 @@ static int nerr;
d6d821
 
d6d821
 #define STAT_BLOCK_SIZE 1
d6d821
 
d6d821
-/* setfiles will abort its operation after reaching the
d6d821
- * following number of errors (e.g. invalid contexts),
d6d821
- * unless it is used in "debug" mode (-d option).
d6d821
- */
d6d821
-#ifndef ABORT_ON_ERRORS
d6d821
-#define ABORT_ON_ERRORS	10
d6d821
-#endif
d6d821
-
d6d821
 #define SETFILES "setfiles"
d6d821
 #define RESTORECON "restorecon"
d6d821
 static int iamrestorecon;
d6d821
@@ -57,15 +49,6 @@ static __attribute__((__noreturn__)) void usage(const char *const name)
d6d821
 	exit(-1);
d6d821
 }
d6d821
 
d6d821
-void inc_err(void)
d6d821
-{
d6d821
-	nerr++;
d6d821
-	if (nerr > ABORT_ON_ERRORS - 1 && !r_opts.debug) {
d6d821
-		fprintf(stderr, "Exiting after %d errors.\n", ABORT_ON_ERRORS);
d6d821
-		exit(-1);
d6d821
-	}
d6d821
-}
d6d821
-
d6d821
 void set_rootpath(const char *arg)
d6d821
 {
d6d821
 	if (strlen(arg) == 1 && strncmp(arg, "/", 1) == 0) {
d6d821
@@ -98,7 +81,6 @@ int canoncon(char **contextp)
d6d821
 		*contextp = tmpcon;
d6d821
 	} else if (errno != ENOENT) {
d6d821
 		rc = -1;
d6d821
-		inc_err();
d6d821
 	}
d6d821
 
d6d821
 	return rc;
d6d821
-- 
d6d821
2.30.0
d6d821