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/