Hi Martin,

Responses below. Thanks!

regards,
Joy

On Thu, Apr 7, 2016 at 5:27 AM, Martin Pitt <martin.p...@ubuntu.com>
wrote:

> Hello Joy,
>
> thanks for your answers. I'll cut out the ones that are resolved now
> from my POV.
>
> Joy Latten [2016-04-06 19:48 -0000]:
> > crypto in regular openssl when in fips mode. The openssl-fips module is
> not
> > only bigger than this patch, but is separate and a bit more complex.
> > Since it is separate, it would almost be akin to maintaining 2 versions
> of
> > openssl. One advantage though is that it is maintained upstream. :-)
> > Again before I got here, Canonical consulted with external security
> > consultants who recommended we pursue the method that redhat and suse
> did.
>
> Yeah, that's a shame, though I realize this decision is not up to you
> or me. If we have funding for maintaining this patch both in Xenial
> (which should be fairly easy as we'll only backport security fixes)
> and, more importantly, in newer releases which will get newer upstream
> openssl releases and thus require heavy porting and testing, then so
> be it.
>
> > > crypto/dsa/dsa.h:
> > >  # define DSA_F_DSAPARAMS_PRINT_FP                         101
> > > +# define DSA_F_DSA_BUILTIN_KEYGEN                         127
> > > +# define DSA_F_DSA_BUILTIN_PARAMGEN                       128
> > >  # define DSA_F_DSA_BUILTIN_PARAMGEN2                      126
> > >
> > > Patches like this are utterly dangerous. As soon as a new upstream
> > > version defines their own new constant further down, the FIPS patch
> will
> > > most likely still apply, but silently introduce a conflict as two
> > > different constants now have the same value.
> > >
> >
> > Yes!  What you have stated is true in general. Fortunately in the case
> you
> > pointed to above, this should not be a problem. Those are error codes.
> When
> > adding new error codes in openssl, is standard practice that you run
> "make
> > errors" which in turn creates all those defines for errors. That is how
> the
> > above happened.
>
> This doesn't help at all, though. If upstream does a new release and
> calls "make errors", then releases a tarball with that, our patch just
> gets statically applied on top of that and thus will *not* adjust the
> error codes for potential conflicts again. So with that you'd get two
> constants with the same value.
>
> OTOH, if our package build would call "make errors" again, this would
> mean that (1) we'd have an ABI break (as existing reverse dependencies
> that use these error codes all need to be rebuilt for the new value,
> as it's a macro in a public header file), and (2) the patch should not
> contain this autogenerated part in the first place.
>
>
Ok, let me investigate a bit further and get back to you.


> > > There is some pointless whitespace change in e. g. crypto/evp/c_alld.c
> > > which further blow up the patch.
> > >
> > > Sorry about that, I thought I had caught all the whitespaces. I can
> > correct that.
>
> Just for avoidance of doubt: Please only clean this up if it's in the
> Canonical-modified portion of the patch. If that comes from
> RedHat/SUSE patches, it's magnitudes better and easier for long-term
> maintenance to import them unmodified (as much as possible) and accept
> some pointless noise, rather than heavily editing those. That's why
> I deem it very important to (1) clearly document where these patches
> originate, and (2) split them up into "taken as-is from
> https://opensuse.org/whereever"; and a separate "canonical
> modifications to the FIPS patch".
>
> > Please see above. I can break into smaller patches for easier
> > reviewing and bundle with some logic.  But in terms of maintenance,
> > I honestly don't know if it will matter. It is just messy to me,
> > regardless.  Sorry, I have spent some time thinking about it. I can
> > separate out such that everything under crypto/fips is in one patch,
> > and all else in another. But they won't be independent of each other
> > in regards to successfully applying and building.
>
> No no, please don't break them apart in arbitrary ways like this. The
> point is to break them apart by origin, e. g. "taken from the upstream
> FIPS branch", "taken from RedHat", "Canonical origin". This will make
> it tremendously easier to review (as the patches which have existed
> for 10 years in other distros only need a shallow review), maintain
> (as it's much simpler to update those patches from their original
> sources when rebasing to a newer upstream version), and understand (as
> it's clear what the actual Ubuntu delta is towards upstream, RH, and
> SUSE).
>
>
Ok, I agree. But I am afraid will still be big. The fedora patch had
already incorporated almost all the stuff needed from the openssl-fips
module.
But even so, I do think is a good idea to separate any additional changes I
made. I will get started on this.


> Thanks,
>
> Martin
>
>
> ** Changed in: openssl (Ubuntu)
>        Status: New => Incomplete
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1553309
>
> Title:
>   [FFe]: Include FIPS 140-2 into openssl  package
>
> Status in openssl package in Ubuntu:
>   Incomplete
>
> Bug description:
>   This is a request for a Feature Freeze Exception to include FIPS 140-2
> selftest into the openssl package in preparation for the FIPS 140-2
> compliance for 16.0.4.
>   This patchset will :
>    - add ability to config, compile, run with fips option enabled
>    - add the selftest files to crypto/fips directory.
>    - minor changes to several algorithms in crypto directory to ensure the
> selftest compile successfully when fips is enabled.
>
>   The selftest will be initiated externally at this point and not
> internally.
>   Hope to have a test package ready early next week.
>
> To manage notifications about this bug go to:
>
> https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1553309/+subscriptions
>

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssl in Ubuntu.
https://bugs.launchpad.net/bugs/1553309

Title:
  [FFe]: Include FIPS 140-2 into openssl  package

Status in openssl package in Ubuntu:
  Incomplete

Bug description:
  This is a request for a Feature Freeze Exception to include FIPS 140-2 
selftest into the openssl package in preparation for the FIPS 140-2 compliance 
for 16.0.4. 
  This patchset will :
   - add ability to config, compile, run with fips option enabled
   - add the selftest files to crypto/fips directory. 
   - minor changes to several algorithms in crypto directory to ensure the 
selftest compile successfully when fips is enabled. 
   
  The selftest will be initiated externally at this point and not internally.
  Hope to have a test package ready early next week.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1553309/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to