- Stop outputing error messages

This commit is contained in:
Daniel J Walsh 2005-02-25 18:44:18 +00:00
parent d6aaae05d2
commit 20144787f3
2 changed files with 256 additions and 1 deletions

250
libsepol-rhat.patch Normal file
View File

@ -0,0 +1,250 @@
diff --exclude-from=exclude -N -u -r nsalibsepol/include/sepol/sepol.h libsepol-1.3.6/include/sepol/sepol.h
--- nsalibsepol/include/sepol/sepol.h 2005-02-17 17:55:48.000000000 -0500
+++ libsepol-1.3.6/include/sepol/sepol.h 2005-02-25 10:18:10.000000000 -0500
@@ -32,5 +32,6 @@
/* Check context validity against currently set binary policy. */
extern int sepol_check_context(char *context);
-
+/* Turn on or off sepol error messages. */
+extern void sepol_debug(int on);
#endif
diff --exclude-from=exclude -N -u -r nsalibsepol/src/genbools.c libsepol-1.3.6/src/genbools.c
--- nsalibsepol/src/genbools.c 2005-02-25 09:44:03.000000000 -0500
+++ libsepol-1.3.6/src/genbools.c 2005-02-25 09:50:17.000000000 -0500
@@ -87,7 +87,7 @@
pf.data = data;
pf.len = len;
if (policydb_read(&policydb,&pf, 0)) {
- fprintf(stderr, "Can't read binary policy: %s\n",
+ __sepol_debug_printf("Can't read binary policy: %s\n",
strerror(errno));
return -1;
}
@@ -97,12 +97,12 @@
sepol_set_policyvers(policydb.policyvers);
if (load_booleans(&policydb, booleans) < 0) {
- fprintf(stderr, "Warning! Error while reading %s: %s\n",
+ __sepol_debug_printf("Warning! Error while reading %s: %s\n",
booleans, strerror(errno));
}
if (evaluate_conds(&policydb) < 0) {
- fprintf(stderr, "Error while re-evaluating conditionals: %s\n",
+ __sepol_debug_printf("Error while re-evaluating conditionals: %s\n",
strerror(errno));
return -1;
}
@@ -111,7 +111,7 @@
pf.len = len;
rc = policydb_write(&policydb, &pf);
if (rc) {
- fprintf(stderr, "Can't write binary policy: %s\n",
+ __sepol_debug_printf("Can't write binary policy: %s\n",
strerror(errno));
return -1;
}
@@ -129,7 +129,7 @@
pf.data = data;
pf.len = len;
if (policydb_read(&policydb,&pf, 0)) {
- fprintf(stderr, "Can't read binary policy: %s\n",
+ __sepol_debug_printf("Can't read binary policy: %s\n",
strerror(errno));
return -1;
}
@@ -154,7 +154,7 @@
}
if (evaluate_conds(&policydb) < 0) {
- fprintf(stderr, "Error while re-evaluating conditionals: %s\n",
+ __sepol_debug_printf("Error while re-evaluating conditionals: %s\n",
strerror(errno));
return -1;
}
@@ -163,7 +163,7 @@
pf.len = len;
rc = policydb_write(&policydb, &pf);
if (rc) {
- fprintf(stderr, "Can't write binary policy: %s\n",
+ __sepol_debug_printf("Can't write binary policy: %s\n",
strerror(errno));
return -1;
}
diff --exclude-from=exclude -N -u -r nsalibsepol/src/genusers.c libsepol-1.3.6/src/genusers.c
--- nsalibsepol/src/genusers.c 2005-02-25 09:44:03.000000000 -0500
+++ libsepol-1.3.6/src/genusers.c 2005-02-25 09:59:11.000000000 -0500
@@ -7,12 +7,25 @@
#include <sepol/policydb.h>
#include <sepol/mls.h>
+#include <stdarg.h>
#include "private.h"
+static int gdebug=1;
+
+void sepol_debug(int on) { gdebug=on; };
+
+void __sepol_debug_printf(const char *fmt, ...) {
+ if (gdebug) {
+ va_list ap;
+ va_start(ap, fmt);
+ vfprintf (stderr, fmt, ap);
+ va_end(ap);
+ }
+}
#undef BADLINE
#define BADLINE() { \
- fprintf(stderr, "%s: invalid entry %s on line %u\n", \
+ __sepol_debug_printf("%s: invalid entry %s on line %u\n", \
path, buffer, lineno); \
continue; \
}
@@ -68,7 +81,7 @@
/* Adding a new user definition. */
usrdatum = (user_datum_t *) malloc(sizeof(user_datum_t));
if (!id || !usrdatum) {
- fprintf(stderr, "%s: out of memory for %s on line %u\n",
+ __sepol_debug_printf("%s: out of memory for %s on line %u\n",
path, buffer, lineno);
errno = ENOMEM;
free(buffer);
@@ -81,7 +94,7 @@
rc = hashtab_insert(policydb->p_users.table,
id, (hashtab_datum_t) usrdatum);
if (rc) {
- fprintf(stderr, "%s: out of memory for %s on line %u\n",
+ __sepol_debug_printf("%s: out of memory for %s on line %u\n",
path, buffer, lineno);
errno = ENOMEM;
free(buffer);
@@ -128,7 +141,7 @@
roldatum = hashtab_search(policydb->p_roles.table, q);
if (!roldatum) {
- fprintf(stderr, "%s: undefined role %s in %s on line %u\n",
+ __sepol_debug_printf("%s: undefined role %s in %s on line %u\n",
path, q, buffer, lineno);
continue;
}
@@ -136,7 +149,7 @@
for (bit = ebitmap_startbit(&roldatum->dominates); bit < ebitmap_length(&roldatum->dominates); bit++) {
if (ebitmap_get_bit(&roldatum->dominates, bit))
if (ebitmap_set_bit(&usrdatum->roles, bit, 1)) {
- fprintf(stderr, "%s: out of memory for %s on line %u\n",
+ __sepol_debug_printf("%s: out of memory for %s on line %u\n",
path, buffer, lineno);
errno = ENOMEM;
free(buffer);
@@ -172,7 +185,7 @@
scontext = malloc(p - q);
if (!scontext) {
- fprintf(stderr, "%s: out of memory for %s on line %u\n",
+ __sepol_debug_printf("%s: out of memory for %s on line %u\n",
path, buffer, lineno);
errno = ENOMEM;
free(buffer);
@@ -191,7 +204,7 @@
context_init(&context);
rc = mls_context_to_sid(policydb, oldc, &r, &context);
if (rc) {
- fprintf(stderr, "%s: invalid level %s in %s on line %u\n",
+ __sepol_debug_printf("%s: invalid level %s in %s on line %u\n",
path, scontext, buffer, lineno);
free(scontext);
continue;
@@ -218,7 +231,7 @@
scontext = malloc(p - q);
if (!scontext) {
- fprintf(stderr, "%s: out of memory for %s on line %u\n",
+ __sepol_debug_printf("%s: out of memory for %s on line %u\n",
path, buffer, lineno);
errno = ENOMEM;
free(buffer);
@@ -237,7 +250,7 @@
context_init(&context);
rc = mls_context_to_sid(policydb, oldc, &r, &context);
if (rc) {
- fprintf(stderr, "%s: invalid range %s in %s on line %u\n",
+ __sepol_debug_printf("%s: invalid range %s in %s on line %u\n",
path, scontext, buffer, lineno);
free(scontext);
continue;
@@ -334,7 +347,7 @@
pf.data = data;
pf.len = len;
if (policydb_read(&policydb,&pf, 0)) {
- fprintf(stderr, "%s: Can't read binary policy: %s\n",
+ __sepol_debug_printf("%s: Can't read binary policy: %s\n",
__FUNCTION__, strerror(errno));
return -1;
}
@@ -342,7 +355,7 @@
/* Load base set of system users from the policy package. */
snprintf(path, sizeof path, "%s/system.users", usersdir);
if (load_users(&policydb, path) < 0) {
- fprintf(stderr, "%s: Can't load system.users: %s\n",
+ __sepol_debug_printf("%s: Can't load system.users: %s\n",
__FUNCTION__, strerror(errno));
return -1;
}
@@ -350,7 +363,7 @@
/* Load locally defined users. */
snprintf(path, sizeof path, "%s/local.users", usersdir);
if (load_users(&policydb, path) < 0) {
- fprintf(stderr, "%s: Can't load local.users: %s\n",
+ __sepol_debug_printf("%s: Can't load local.users: %s\n",
__FUNCTION__, strerror(errno));
return -1;
}
@@ -374,7 +387,7 @@
pf.len = 0;
rc = policydb_write(&policydb, &pf);
if (rc) {
- fprintf(stderr, "Can't compute length of binary policy: %s\n",
+ __sepol_debug_printf("Can't compute length of binary policy: %s\n",
strerror(errno));
return -1;
}
@@ -383,7 +396,7 @@
pf.type = PF_USE_MEMORY;
pf.data = malloc(pf.len);
if (!pf.data) {
- fprintf(stderr, "%s: %s\n", __FUNCTION__, strerror(errno));
+ __sepol_debug_printf("%s: %s\n", __FUNCTION__, strerror(errno));
return -1;
}
@@ -394,7 +407,7 @@
/* Write out the new binary policy image. */
rc = policydb_write(&policydb, &pf);
if (rc) {
- fprintf(stderr, "Can't write binary policy: %s\n",
+ __sepol_debug_printf("Can't write binary policy: %s\n",
strerror(errno));
free(pf.data);
return -1;
diff --exclude-from=exclude -N -u -r nsalibsepol/src/libsepol.map libsepol-1.3.6/src/libsepol.map
--- nsalibsepol/src/libsepol.map 2005-02-17 17:55:49.000000000 -0500
+++ libsepol-1.3.6/src/libsepol.map 2005-02-25 10:19:28.000000000 -0500
@@ -1,4 +1,4 @@
{
- global: sepol_genbools*; sepol_set_policydb_from_file; sepol_check_context; sepol_genusers;
+ global: sepol_genbools*; sepol_set_policydb_from_file; sepol_check_context; sepol_genusers; sepol_debug;
local: *;
};
diff --exclude-from=exclude -N -u -r nsalibsepol/src/private.h libsepol-1.3.6/src/private.h
--- nsalibsepol/src/private.h 2005-02-07 10:23:04.000000000 -0500
+++ libsepol-1.3.6/src/private.h 2005-02-25 10:20:39.000000000 -0500
@@ -25,6 +25,7 @@
};
extern struct policydb_compat_info *policydb_lookup_compat(int version);
+extern void __sepol_debug_printf(const char *fmt, ...);
/* Reading from a policy "file". */
static inline void *next_entry(struct policy_file * fp, size_t bytes)

View File

@ -1,10 +1,11 @@
Summary: SELinux binary policy manipulation library
Name: libsepol
Version: 1.3.6
Release: 1
Release: 2
License: GPL
Group: System Environment/Libraries
Source: http://www.nsa.gov/selinux/archives/libsepol-%{version}.tgz
Patch: libsepol-rhat.patch
Prefix: %{_prefix}
BuildRoot: %{_tmppath}/%{name}-buildroot
Provides: libsepol.so
@ -36,6 +37,7 @@ needed for developing applications that manipulate binary policies.
%prep
%setup -q
%patch -p1 -b .rhat
%build
make CFLAGS="%{optflags}"
@ -71,6 +73,9 @@ rm -rf ${RPM_BUILD_ROOT}
/%{_lib}/libsepol.so.1
%changelog
* Fri Feb 18 2005 Dan Walsh <dwalsh@redhat.com> 1.3.6-2
- Stop outputing error messages
* Thu Feb 17 2005 Dan Walsh <dwalsh@redhat.com> 1.3.6-1
- Update to latest from NSA
* Changed sepol_genusers to also use getline and correctly handle