From: Steve Lawrence <slawrence@tresys.com>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: SELinux List <selinux@tycho.nsa.gov>
Subject: Re: Future of SETools and CIL
Date: Thu, 23 May 2013 14:28:03 -0400 [thread overview]
Message-ID: <519E5FB3.4070802@tresys.com> (raw)
In-Reply-To: <51950B5D.6050500@tycho.nsa.gov>
On 05/16/2013 12:37 PM, Stephen Smalley wrote:
> On 05/16/2013 09:33 AM, Steve Lawrence wrote:
>> It has become clear that SETools has fallen behind userspace in terms of
>> features and general maintenance. We would like to get it to the point
>> where this is not the case, and to find a way to make sure it does not
>> happen again. We think the solution to the maintenance issue is to make
>> it more visible by merging the more useful parts of SETools into the
>> userspace repo, while deprecating/removing the remaining pieces.
>>
>> However, we are well aware of the complexity of SETools, primarily
>> libapol, and that upstreaming it without any changes would not solve the
>> problems. So, we have done a little work behind the scenes to find a way
>> to reduce the complexity of libapol. As a first stab at it, we started
>> with an older version of libapol that is quite a bit less complex and
>> began porting it forward for use with modern userspace, and seeing if it
>> would make sense to eventually merge. But before we get too deep into
>> this port, we wanted to start a discussion with the SELinux community to
>> make sure we are headed in the right direction. So to start, does this
>> seem like a good idea (both merging with userspace and porting older
>> libapol)? Or should we take a completely different direction (e.g. the
>> use of graphing databases as a replacement of apol has been mentioned in
>> the past)?
>
> What is it that makes the modern version of libapol more complex, or
> what are you giving up by going back to the older version?
>
Sorry it took so long to get back to you. The current version of libapol
heavily relies on object oriented techniques, but is entirely written in
C. For example, it uses iterators and a lot of function pointers to use
something akin to inheritance. This makes it very awkward to program in
and adds an unnecessary level of complexity.
Going back to an older version would lose features and support for
policy versions later than 20. The idea was that we would go back to a
simpler point and rebuild or pull in the necessary features and newer
policy version support. A because of the much simpler code base of an
older version, adding back the features would hopefully not be too
difficult.
However, perhaps reducing the complexity isn't worth the effort. And
maybe the dependence of tools in userspace would add more work. It
sounds like maybe the best route might be to merge in libapol in it's
current state. And as updates need to be made for Dan's and other tools
that use libapol, we can gradually reduce the complexity without
breaking everything?
- Steve
--
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.
next prev parent reply other threads:[~2013-05-23 18:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-16 13:33 Future of SETools and CIL Steve Lawrence
2013-05-16 14:10 ` Daniel J Walsh
2013-05-23 18:32 ` Steve Lawrence
2013-05-24 13:22 ` Daniel J Walsh
2013-05-16 14:46 ` James Carter
2013-05-23 18:43 ` Steve Lawrence
2013-05-23 19:43 ` James Carter
2013-05-23 20:24 ` Steve Lawrence
2013-05-16 16:37 ` Stephen Smalley
2013-05-23 18:28 ` Steve Lawrence [this message]
2013-05-17 12:42 ` Sven Vermeulen
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=519E5FB3.4070802@tresys.com \
--to=slawrence@tresys.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.