On Wed, 2013-02-13 at 14:31 +0200, Kasatkin, Dmitry wrote:
> On Mon, Feb 11, 2013 at 10:11 PM, Vivek Goyal <vgo...@redhat.com> wrote:

> > @@ -158,7 +165,8 @@ int ima_appraise_measurement(int func, struct 
> > integrity_iint_cache *iint,
> >         }
> >         switch (xattr_value->type) {
> >         case IMA_XATTR_DIGEST:
> > -               if (iint->flags & IMA_DIGSIG_REQUIRED) {
> > +               if (iint->flags & IMA_DIGSIG_REQUIRED ||
> > +                   iint->flags & IMA_DIGSIG_OPTIONAL) {
> >                         cause = "IMA signature required";
> >                         status = INTEGRITY_FAIL;
> >                         break;
> 
> This looks a bit odd... If "optional" signature is missing  - we fail..
> It is optional... Why we should fail?

'imasig_optional' does not only mean that the signature is optional, but
also implies that it has to be a digital signature, not a hash.  This
latter part is what IMA_DIGSIG_REQUIRED means.

If 'imasig_optional' set both 'IMA_DIGSIG_OPTIONAL' and
'IMA_DIGSIG_REQUIRED', then this change wouldn't be necessary.

IMA_DIGSIG_REQUIRED would enforce that it is a signature.
IMA_DIGSIG_OPTIONAL would fail only for files with invalid signatures.

thanks,

Mimi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to