• Joe Conway's avatar
    Fix sepgsql regression tests. · 794e2558
    Joe Conway authored
    The regression tests for sepgsql were broken by changes in the
    base distro as-shipped policies. Specifically, definition of
    unconfined_t in the system default policy was changed to bypass
    multi-category rules, which the regression test depended on.
    Fix that by defining a custom privileged domain
    (sepgsql_regtest_superuser_t) and using it instead of system's
    unconfined_t domain. The new sepgsql_regtest_superuser_t domain
    performs almost like the current unconfined_t, but restricted by
    multi-category policy as the traditional unconfined_t was.
    
    The custom policy module is a self defined domain, and so should not
    be affected by related future system policy changes. However, it still
    uses the unconfined_u:unconfined_r pair for selinux-user and role.
    Those definitions have not been changed for several years and seem
    less risky to rely on than the unconfined_t domain. Additionally, if
    we define custom user/role, they would need to be manually defined
    at the operating system level, adding more complexity to an already
    non-standard and complex regression test.
    
    Back-patch to 9.3. The regression tests will need more work before
    working correctly on 9.2. Starting with 9.2, sepgsql has had dependencies
    on libselinux versions that are only available on newer distros with
    the changed set of policies (e.g. RHEL 7.x). On 9.1 sepgsql works
    fine with the older distros with original policy set (e.g. RHEL 6.x),
    and on which the existing regression tests work fine. We might want
    eventually change 9.1 sepgsql regression tests to be more independent
    from the underlying OS policies, however more work will be needed to
    make that happen and it is not clear that it is worth the effort.
    
    Kohei KaiGai with review by Adam Brightwell and me, commentary by
    Stephen, Alvaro, Tom, Robert, and others.
    794e2558
misc.out 5.32 KB