Re: [PATCH] Fix semanage_direct_commit() to notice disable_dontaudit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/31/2009 08:22 AM, Shintaro Fujiwara wrote:
> Thanks digging in topic that I pinted some time ago.
> 
> Why don't you fix semodule to notice which module has permissive.
> 
> I notice administrators in my program, i.e. segatex, when listing
> modules, list permissive modules.
> 
> We tend to forget after we set some module permissive and it's quite
> convenient to set permissive when we get certain denied messages, but
> it's sad when we forgot we set certain module permissive.
> 
> So, I think it's better to let administrators know which module has
> permissive module now when he typed "semodule -l ".
> 
> Can anybody fix semodule to echo permissive module at the top and
> still echo list ?
> 
> 
> 2009/8/21 Chad Sellers <csellers@xxxxxxxxxx>:
>> Add code to semanage_direct_commit() to notice that the disable_dontaudit
>> flag has been changed and rebuild the policy if so.
>>
>> Currently, libsemanage doesn't notice that the disable_dontaudit flag is
>> set so it does not rebuild the policy. semodule got around this by calling
>> semanage_set_rebuild() explicitly, but libsemanage should really notice
>> that this has changed and rebuild appropriately.
>> ---
>>  libsemanage/src/direct_api.c |    7 ++++++-
>>  1 files changed, 6 insertions(+), 1 deletions(-)
>>
>> diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
>> index d563841..0eab399 100644
>> --- a/libsemanage/src/direct_api.c
>> +++ b/libsemanage/src/direct_api.c
>> @@ -675,7 +675,7 @@ static int semanage_direct_commit(semanage_handle_t * sh)
>>
>>        /* Declare some variables */
>>        int modified = 0, fcontexts_modified, ports_modified,
>> -           seusers_modified, users_extra_modified;
>> +           seusers_modified, users_extra_modified, dontaudit_modified;
>>        dbase_config_t *users = semanage_user_dbase_local(sh);
>>        dbase_config_t *users_base = semanage_user_base_dbase_local(sh);
>>        dbase_config_t *pusers_base = semanage_user_base_dbase_policy(sh);
>> @@ -694,6 +694,10 @@ static int semanage_direct_commit(semanage_handle_t * sh)
>>
>>        /* Create or remove the disable_dontaudit flag file. */
>>        path = semanage_path(SEMANAGE_TMP, SEMANAGE_DISABLE_DONTAUDIT);
>> +       if (access(path, F_OK) == 0)
>> +               dontaudit_modified = !(sepol_get_disable_dontaudit(sh->sepolh) == 1);
>> +       else
>> +               dontaudit_modified = (sepol_get_disable_dontaudit(sh->sepolh) == 1);
>>        if (sepol_get_disable_dontaudit(sh->sepolh) == 1) {
>>                FILE *touch;
>>                touch = fopen(path, "w");
>> @@ -734,6 +738,7 @@ static int semanage_direct_commit(semanage_handle_t * sh)
>>        modified |= bools->dtable->is_modified(bools->dbase);
>>        modified |= ifaces->dtable->is_modified(ifaces->dbase);
>>        modified |= nodes->dtable->is_modified(nodes->dbase);
>> +       modified |= dontaudit_modified;
>>
>>        /* If there were policy changes, or explicitly requested, rebuild the policy */
>>        if (sh->do_rebuild || modified) {
>> --
>> 1.6.2.5
>>
>>
>> --
>> This message was distributed to subscribers of the selinux mailing list.
>> If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
>> the words "unsubscribe selinux" without quotes as the message.
>>
> 
> 
> 
seinfo --permissive

Will do this.

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux