- Apply Karl MacMillan patch to get proper error codes.

This commit is contained in:
Daniel J Walsh 2006-12-22 16:50:50 +00:00
parent bc624cc139
commit 7ccc8bd470
2 changed files with 74 additions and 12 deletions

View File

@ -1,13 +1,70 @@
--- libsemanage-1.6.16/src/semanage_store.c~ 2006-08-23 13:57:48.000000000 -0400
+++ libsemanage-1.6.16/src/semanage_store.c 2006-09-29 10:41:08.000000000 -0400
@@ -1106,6 +1106,10 @@
goto skip_reload;
}
}
+ else
+ if (errno == ENOENT &&
+ strcmp(really_active_store, storepath) != 0)
+ goto skip_reload;
diff --exclude-from=exclude -N -u -r nsalibsemanage/src/direct_api.c libsemanage-1.9.1/src/direct_api.c
--- nsalibsemanage/src/direct_api.c 2006-11-16 17:14:02.000000000 -0500
+++ libsemanage-1.9.1/src/direct_api.c 2006-12-22 11:36:55.000000000 -0500
@@ -603,7 +603,8 @@
if (semanage_reload_policy(sh)) {
/* Create new policy object, then attach to policy databases
* that work with a policydb */
- if (semanage_expand_sandbox(sh, base, &out) < 0)
+ retval = semanage_expand_sandbox(sh, base, &out);
+ if (retval < 0)
goto cleanup;
dbase_policydb_attach((dbase_policydb_t *) pusers_base->dbase,
@@ -615,13 +616,16 @@
/* ============= Apply changes, and verify =============== */
- if (semanage_base_merge_components(sh) < 0)
+ retval = semanage_base_merge_components(sh);
+ if (retval < 0)
goto cleanup;
-
- if (semanage_write_policydb(sh, out) < 0)
+
+ retval = semanage_write_policydb(sh, out);
+ if (retval < 0)
goto cleanup;
-
- if (semanage_verify_kernel(sh) != 0)
+
+ retval = semanage_verify_kernel(sh);
+ if (retval < 0)
goto cleanup;
}
@@ -635,26 +639,30 @@
* merged into the main file_contexts. We won't check the
* large file_contexts - checked at compile time */
if (sh->do_rebuild || modified || fcontexts_modified) {
- if (semanage_fcontext_validate_local(sh, out) < 0)
+ retval = semanage_fcontext_validate_local(sh, out);
+ if (retval < 0)
goto cleanup;
}
/* Validate local seusers against policy */
if (sh->do_rebuild || modified || seusers_modified) {
- if (semanage_seuser_validate_local(sh, out) < 0)
+ retval = semanage_seuser_validate_local(sh, out);
+ if (retval < 0)
goto cleanup;
}
/* Validate local ports for overlap */
if (sh->do_rebuild || ports_modified) {
- if (semanage_port_validate_local(sh) < 0)
+ retval = semanage_port_validate_local(sh);
+ if (retval < 0)
goto cleanup;
}
/* ================== Write non-policydb components ========= */
/* Commit changes to components */
- if (semanage_commit_components(sh) < 0)
+ retval = semanage_commit_components(sh);
+ if (retval < 0)
goto cleanup;
retval = semanage_install_sandbox(sh);

View File

@ -3,10 +3,11 @@
Summary: SELinux binary policy manipulation library
Name: libsemanage
Version: 1.9.1
Release: 2
Release: 3%{?dist}
License: GPL
Group: System Environment/Libraries
Source: http://www.nsa.gov/selinux/archives/libsemanage-%{version}.tgz
Patch: libsemanage-rhat.patch
BuildRoot: %{_tmppath}/%{name}-buildroot
BuildRequires: libselinux-devel >= %{libselinuxver} swig
@ -40,6 +41,7 @@ needed for developing applications that manipulate binary policies.
%prep
%setup -q
%patch -p1 -b .rhat
%build
make clean
@ -75,6 +77,9 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man3/*
%changelog
* Fri Dec 22 2006 Dan Walsh <dwalsh@redhat.com> - 1.9.1-3
- Apply Karl MacMillan patch to get proper error codes.
* Thu Dec 7 2006 Jeremy Katz <katzj@redhat.com> - 1.9.1-2
- rebuild against python 2.5