From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
To: Stephen Smalley <sds@tycho.nsa.gov>
Cc: KaiGai Kohei <kaigai@kaigai.gr.jp>,
SELinux Mail List <selinux@tycho.nsa.gov>,
kaigai@ak.jp.nec.com
Subject: Re: [RFC & PATCH] inherited type definition.
Date: Mon, 14 Mar 2005 16:01:58 +0000 [thread overview]
Message-ID: <20050314160158.GD1246@lkcl.net> (raw)
In-Reply-To: <1110813732.21378.91.camel@moss-spartans.epoch.ncsc.mil>
sounds all-in-all like a "partial" inheritance is needed, which
refactoring would give you - but not in an ideal fashion.
i've never ever heard of any object orientated system
_excluding_ certain functionality of the parent on inheritance
[has anyone else?]
i've heard of public, protected and private interfaces - but
never of exclusion: always, refactoring is used.
seriously considering the provision of some partial inheritance
reminds me of the spoof languages article that was making the
rounds in about 1989 - the one with "SLOBOL" - which amongst
other things described some extensions to BASIC. a "GO FROM"
construct, which would periodically attempt to pinch program
control from a line, and try to undo some of the commands if
it missed.
so.
what is the one significant distinct advantage that the proposed
inheritance thing gives you that macro refactoring cannot?
my guess would be on how handling of "self" was made to work.
On Mon, Mar 14, 2005 at 10:22:12AM -0500, Stephen Smalley wrote:
> On Mon, 2005-03-14 at 15:13 +0000, Luke Kenneth Casson Leighton wrote:
> > i would expect syntax allow parent_t self:process sigkill to
> > be inherited to "allow child_t self:process sigkill"
> >
> > and expect "allow parent_t parent_t:process sigkill to
> > be inherited to "allow child_t parent_t:process sigkill"
>
> I would not expect there to be any difference, as self is just a
> convenience notation, and in this particular example, someone who writes
> either form likely would not want the child to be able to kill the
> parent without an explicit allow rule from the child to the parent.
can i suggest having a policy checker similar to "lint" which would
warn users of such, in instances where a developer inherits "self"
rules rather than "allow parent_t parent_t:.... ...." rules?
or ... to make the compiler tools spit out a warning which needs
to be explicitly disabled with a --no-warn-inherit-allow-self
option or something?
> > except that wouldn't work if there's a "special" meaning given
> > to "self:".
>
> The policy compiler can (and does) distinguish self for processing, e.g.
> allow domain self:process sigkill;
> expands to what you would expect, i.e.
> allow domain0_t domain0_t:process sigkill;
> allow domain1_t domain1_t:process sigkill;
> ...
ahh. yes, of course. i always wondered what made self: particularly
needed.
l.
--
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:[~2005-03-14 16:01 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-13 16:36 [RFC & PATCH] inherited type definition KaiGai Kohei
2005-03-14 13:17 ` KaiGai Kohei
2005-03-14 13:50 ` Stephen Smalley
2005-03-14 15:13 ` Luke Kenneth Casson Leighton
2005-03-14 15:22 ` Stephen Smalley
2005-03-14 16:01 ` Luke Kenneth Casson Leighton [this message]
2005-03-14 19:27 ` Valdis.Kletnieks
2005-03-14 20:10 ` Stephen Smalley
2005-03-14 17:26 ` KaiGai Kohei
2005-03-14 18:10 ` Luke Kenneth Casson Leighton
2005-03-14 18:25 ` Stephen Smalley
2005-03-15 11:50 ` KaiGai Kohei
2005-03-15 14:42 ` Stephen Smalley
2005-03-16 4:42 ` Kaigai Kohei
2005-03-16 10:00 ` Luke Kenneth Casson Leighton
2005-03-16 14:05 ` Stephen Smalley
2005-03-17 9:32 ` Kaigai Kohei
2005-03-17 13:55 ` Stephen Smalley
2005-03-17 14:57 ` KaiGai Kohei
2005-03-21 10:07 ` KaiGai Kohei
2005-03-21 15:59 ` Stephen Smalley
2005-03-23 8:17 ` Kaigai Kohei
2005-03-23 13:56 ` Stephen Smalley
2005-04-16 7:31 ` KaiGai Kohei
2005-04-18 12:25 ` Stephen Smalley
2005-04-18 16:57 ` KaiGai Kohei
2005-03-24 11:06 ` Luke Kenneth Casson Leighton
2005-03-24 12:34 ` Kaigai Kohei
2005-04-06 12:49 ` Russell Coker
2005-04-06 14:50 ` KaiGai Kohei
2005-04-06 15:30 ` Russell Coker
2005-04-06 18:23 ` Jim McCullough
2005-04-07 2:16 ` Kaigai Kohei
2005-04-06 17:55 ` Luke Kenneth Casson Leighton
2005-03-14 16:38 ` Karl MacMillan
2005-03-15 11:47 ` KaiGai Kohei
2005-03-15 14:00 ` Karl MacMillan
2005-03-16 4:35 ` Kaigai Kohei
2005-03-16 10:13 ` Luke Kenneth Casson Leighton
2005-03-16 21:46 ` Karl MacMillan
2005-03-16 21:31 ` Karl MacMillan
2005-03-17 13:05 ` Kaigai Kohei
2005-03-17 19:15 ` Karl MacMillan
2005-03-17 20:07 ` Stephen Smalley
2005-03-17 21:41 ` Karl MacMillan
2005-03-18 13:13 ` Stephen Smalley
2005-03-18 13:56 ` Stephen Smalley
2005-03-18 22:28 ` Karl MacMillan
2005-03-18 23:03 ` Luke Kenneth Casson Leighton
2005-03-20 23:20 ` Karl MacMillan
2005-03-21 0:17 ` Luke Kenneth Casson Leighton
2005-03-21 13:39 ` Karl MacMillan
2005-03-22 0:14 ` Luke Kenneth Casson Leighton
2005-03-22 13:53 ` Karl MacMillan
2005-03-24 11:04 ` Luke Kenneth Casson Leighton
2005-03-24 12:31 ` Kaigai Kohei
2005-03-24 22:19 ` Luke Kenneth Casson Leighton
2005-03-24 22:27 ` Luke Kenneth Casson Leighton
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=20050314160158.GD1246@lkcl.net \
--to=lkcl@lkcl.net \
--cc=kaigai@ak.jp.nec.com \
--cc=kaigai@kaigai.gr.jp \
--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.