Re: [RFC][PATCH 3/6] SLIM main patch

Kylene Jo Hall
2006-07-28T19:05:36Z

On Fri, 2006-07-28 at 06:01 +0000, Pavel Machek wrote:
> Hi!
>
> > SLIM is an LSM module which provides an enhanced low water-mark
> > integrity and high water-mark secrecy mandatory access control
> > model.
>
> Still no Documentation/ changes. Uses // comments to comment out code.
>
We'll add a description similar to what was in the Patch 3 email to file
slim.txt in Documentation and make sure to remove all // comments in the
next release.

> > +static char *get_token(char *buf_start, char *buf_end, char delimiter,
> > + int *token_len)
> > +{
> > + char *bufp = buf_start;
> > + char *token = NULL;
> > +
> > + while (!token && (bufp < buf_end)) { /* Get start of token */
> > + switch (*bufp) {
> > + case ' ':
> > + case '\n':
> > + case '\t':
> > + bufp++;
> > + break;
> > + case '#':
> > + while ((*bufp != '\n') && (bufp++ < buf_end)) ;
> > + bufp++;
> > + break;
> > + default:
> > + token = bufp;
> > + break;
> > + }
> > + }
> > + if (!token)
> > + return NULL;
> > +
> > + *token_len = 0;
> > + while ((*token_len == 0) && (bufp <= buf_end)) {
> > + if ((*bufp == delimiter) || (*bufp == '\n'))
> > + *token_len = bufp - token;
> > + if (bufp == buf_end)
> > + *token_len = bufp - token;
> > + bufp++;
> > + }
> > + if (*token_len == 0)
> > + token = NULL;
> > + return token;
> > +}
>
> What are these tokens and why do we want to play with strings in
> kernel?
>
The xattrs must be parsed. They are strings for portability and
readability. SELinux does this as well. Note: we are in the process of
removing the time stuff from the xattr for the next release for this
reason as well.

Thanks,
Kylie

> Pavel
>