Re: checkpolicy is broken (which is not)

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 08/05/2011 09:27 AM, Stephen Smalley wrote:
> On Fri, 2011-08-05 at 08:59 -0400, Daniel J Walsh wrote:
>> On 08/05/2011 08:56 AM, Stephen Smalley wrote:
>>> On Fri, 2011-08-05 at 12:19 +0800, Harry Ciao wrote:
>>>> Hi Eric,
>>>> 
>>>> Let me explain more about the background story.
>>>> 
>>>> The existing type rule could declare a type, and optionally 
>>>> associate it with a list of type attributes. So I invented this
>>>>  "role <regular role> attribute <a list of role attributes>"
>>>> rule in the same manner to do the similar things for roles,
>>>> since I figure this would make refpolicy rules similar and easy
>>>> to remember and use.
>>>> 
>>>> Now that the above new role-attr rule takes care of declaring 
>>>> roles, this duty has to be removed from role-type rule in order
>>>> to avoid ambiguity, and the role-type rule would be used to
>>>> only associate types with roles, which only requires TWO lines
>>>> of code as in 3cbc9727, since mostly used roles such as
>>>> system_r have been declared in kernel.te(in order to avoid some
>>>> build failure).
>>>> 
>>>> In a word, we could preserve the behavior of role-type rule,
>>>> but this would introduce discrepancy between that of role-attr
>>>> rule and type-attr rule, considering that getting used to the
>>>> new toolchain only requires an easy cherry-pick of only 2 lines
>>>> of change, would it be that desirable for us to do so?
>>> 
>>> I don't think we should introduce an incompatible policy language
>>>  change without very strong reasons.  It is fine to introduce new
>>>  constructs like your role...attribute construct, but we
>>> shouldn't change the meaning of role...type statements and
>>> thereby render invalid policies that used to be valid.
>>> 
>> 
>> Well I will say that I thought the old construct did not make
>> sense, since we have to declare most objects in the lanquage except
>> for roles.
>> 
>> This will help to find problems in the policy also like people
>> doing
>> 
>> role httpd_t types httpd_t;
>> 
>> Which I have seen in the past.
>> 
>> I just got the new toolchain to work with Fedora policy.
> 
> So are you saying that you are fine with a newer checkpolicy not 
> accepting previously valid policy modules?  Such that someone who
> wants to upgrade checkpolicy in an existing distribution release
> (e.g. RHEL6) can only do so if they also upgrade/modify their
> policy?

This is a theoretical about something we would never do.  RHEL Releases
are stable and we don't update tool chains, just bug fix.  Maybe third
parties would and then it would be up 2 them to fix their policies.

> 
> Just to be clear, the role...types statement was in fact the role 
> declaration in the original language, and you could originally only
> have one of them per role.  We later allowed multiple statements per
> role and took the union of the types to permit decomposition of the
> policy into per-domain source modules.
> 

I understand, but I think this was a mistake that allows us, the policy
writer to be sloppy.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk48AU8ACgkQrlYvE4MpobOCfgCfeBUJylzI4/pHZTA+dtSWcZBw
ulsAn2jO/Ac4LHJajUtgGBUTWT9uWkH7
=Amp6
-----END PGP SIGNATURE-----

--
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