All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christopher Pardy <cpardy@redhat.com>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: selinux@tycho.nsa.gov
Subject: Re: [Patch 2/2 v3] libsemanage: maintain disable dontaudit state between handle commits
Date: Tue, 07 Jul 2009 08:47:59 -0400	[thread overview]
Message-ID: <4A5343FF.4040103@redhat.com> (raw)
In-Reply-To: <1246967153.28321.152.camel@moss-pluto.epoch.ncsc.mil>

On 07/07/2009 07:45 AM, Stephen Smalley wrote:
> On Mon, 2009-07-06 at 15:30 -0400, Stephen Smalley wrote:
>> On Mon, 2009-07-06 at 15:10 -0400, Christopher Pardy wrote:
>>> Currently any changes made to the policy which require committing a handle cause dontaudit rules to be disabled. This is confusing, and frustrating for users who want to edit policy with dontaudit rules turned off. This patch allows semanage to remember the last state of the dontaudit rules and apply them as default whenever a handle is created. Additionally other functions may check for the file semanage creates to determine if dontaudit rules are turned on. This knowledge can be useful for tools like SETroubleshoot which may want to change their behavior depending on the state of the dontaudit rules.
>>>  
>>> Stephen Smalley: No longer attempt to create or destroy the file in the handle create, all store functionality has been moved to direct_api.c all functions now use sepol versions. The reason for needing to create the file in the commit statement is because changes to the flag in sepol directly may be reflected in the commited policy but not the flags.
>>>
>>> Signed-off-by: Christopher Pardy <cpardy@redhat.com>
>>>
>>> ---
>>>  libsemanage/include/semanage/handle.h |    3 +++
>>>  libsemanage/src/direct_api.c          |   33 +++++++++++++++++++++++++++++++++
>>>  libsemanage/src/direct_api.h          |    4 ++++
>>>  libsemanage/src/handle.c              |   19 +++++++++++++++++--
>>>  libsemanage/src/libsemanage.map       |    2 +-
>>>  libsemanage/src/semanage_store.c      |    1 +
>>>  libsemanage/src/semanage_store.h      |    1 +
>>>  7 files changed, 60 insertions(+), 3 deletions(-)
> 
>>> +{
>>> +	const char *path;
>>> +
>>> +	path = semanage_fname(SEMANAGE_DISABLE_DONTAUDIT);
>>> +	if(setting == 1){
>>> +		FILE *touch;
>>> +		touch = fopen(path,"w");
>> I suspect we want to log an ERR() if this fails.
> 
> Actually, I think we want to not only log an error (via ERR) but also
> return an error to the caller (i.e. the function needs to return an
> error status) so that we can ultimately indicate to semodule that
> semodule -DB or semodule -B failed.
> 
>>> +		if (touch != NULL)
>>> +			fclose(touch);
>>> +	}else
>>> +		remove(path);
>> Ditto.
> 
If we're returning an error to the user should we also revert the disable dontaudit flag? IE. making the change of the flag and file creation atomic?

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

  reply	other threads:[~2009-07-07 12:47 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-01 13:32 [Fwd: [Patch] libsemanage: remember and retrieve dontaudit settings] Christopher Pardy
2009-07-01 14:06 ` Stephen Smalley
2009-07-01 14:16   ` Stephen Smalley
2009-07-01 15:52     ` Christopher Pardy
2009-07-01 17:01       ` Stephen Smalley
2009-07-01 16:47   ` Daniel J Walsh
2009-07-01 15:57 ` Daniel J Walsh
2009-07-01 17:04   ` Stephen Smalley
2009-07-01 17:16     ` Daniel J Walsh
2009-07-01 17:40     ` Daniel J Walsh
2009-07-02  2:08       ` Re:[Patch 0/2] libsemanage: remember and retrieve dontaudit settings Christopher Pardy
2009-07-02  2:11         ` [Patch 1/2] " Christopher Pardy
2009-07-02 12:39           ` Stephen Smalley
2009-07-02 13:40             ` Christopher Pardy
2009-07-02  2:13         ` [Patch 2/2] " Christopher Pardy
2009-07-02 12:46           ` Stephen Smalley
2009-07-02 13:55             ` Christopher Pardy
2009-07-02 14:13               ` Stephen Smalley
2009-07-02 14:30                 ` Christopher Pardy
2009-07-02 14:35                   ` Stephen Smalley
2009-07-02 15:32                     ` [Patch 2/2] libsemanage: create a don't audit flag Christopher Pardy
2009-07-02 17:09                       ` Stephen Smalley
2009-07-06 12:26                         ` Christopher Pardy
2009-07-06 12:31                           ` Christopher Pardy
2009-07-06 13:46                             ` Stephen Smalley
2009-07-06 13:52                               ` Stephen Smalley
2009-07-06 14:42                                 ` [Patch 1/2] libsepol: method to check disable dontaudit flag Christopher Pardy
2009-07-06 14:54                                   ` [Patch 2/2] libsemanage: maintain disable dontaudit state between handle commits Christopher Pardy
2009-07-06 15:03                                     ` Stephen Smalley
2009-07-06 15:17                                       ` Daniel J Walsh
2009-07-06 15:54                                         ` Christopher Pardy
2009-07-06 16:55                                           ` Stephen Smalley
2009-07-06 17:37                                     ` [Patch 2/2 v2] " Christopher Pardy
2009-07-06 18:07                                       ` Stephen Smalley
2009-07-06 18:12                                         ` Stephen Smalley
2009-07-06 19:10                                       ` [Patch 2/2 v3] " Christopher Pardy
2009-07-06 19:30                                         ` Stephen Smalley
2009-07-07 11:45                                           ` Stephen Smalley
2009-07-07 12:47                                             ` Christopher Pardy [this message]
2009-07-07 12:54                                               ` Stephen Smalley
2009-07-07 13:48                                         ` [Patch 2/2 v4] " Christopher Pardy
2009-07-07 14:20                                           ` Stephen Smalley
2009-07-07 14:41                                             ` Christopher Pardy
2009-07-07 14:53                                               ` Stephen Smalley
2009-07-07 14:59                                                 ` Joshua Brindle
2009-07-07 16:07                                           ` Christopher Pardy
2009-07-07 16:55                                             ` Stephen Smalley
2009-07-07 17:30                                             ` [Patch 2/2 v6] " Christopher Pardy
2009-07-06 17:41                                     ` [Patch 3/2] semodule: maintain old functionality Christopher Pardy
2009-07-06 17:49                                       ` Joshua Brindle
2009-07-06 18:01                                       ` [Patch 3/2 v2] " Christopher Pardy
2009-07-02 14:16               ` [Patch 2/2] libsemanage, libselinux: Get don't audit settings from handle and remember settings after commit Christopher Pardy
2009-07-02 12:33         ` Re:[Patch 0/2] libsemanage: remember and retrieve dontaudit settings Stephen Smalley
2009-07-02 14:01           ` [Patch " Christopher Pardy
2009-07-02 12:40         ` Stephen Smalley
2009-07-01 19:19   ` [Fwd: [Patch] libsemanage: remember and retrieve dontaudit settings] Joshua Brindle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A5343FF.4040103@redhat.com \
    --to=cpardy@redhat.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.