Skip to content
  1. Mar 15, 2018
  2. Mar 14, 2018
  3. Mar 13, 2018
  4. Mar 12, 2018
  5. Mar 09, 2018
  6. Mar 08, 2018
    • Richard Levitte's avatar
    • Richard Levitte's avatar
      Make "make variables" config attributes for overridable flags · abe256e7
      Richard Levitte authored
      
      
      With the support of "make variables" comes the possibility for the
      user to override them.  However, we need to make a difference between
      defaults that we use (and that should be overridable by the user) and
      flags that are crucial for building OpenSSL (should not be
      overridable).
      
      Typically, overridable flags are those setting optimization levels,
      warnings levels, that kind of thing, while non-overridable flags are,
      for example, macros that indicate aspects of how the config target
      should be treated, such as L_ENDIAN and B_ENDIAN.
      
      We do that differentiation by allowing upper case attributes in the
      config targets, named exactly like the "make variables" we support,
      and reserving the lower case attributes for non-overridable project
      flags.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5534)
      abe256e7
    • Bryan Donlan's avatar
      Fix issues in ia32 RDRAND asm leading to reduced entropy · 082193ef
      Bryan Donlan authored
      
      
      This patch fixes two issues in the ia32 RDRAND assembly code that result in a
      (possibly significant) loss of entropy.
      
      The first, less significant, issue is that, by returning success as 0 from
      OPENSSL_ia32_rdrand() and OPENSSL_ia32_rdseed(), a subtle bias was introduced.
      Specifically, because the assembly routine copied the remaining number of
      retries over the result when RDRAND/RDSEED returned 'successful but zero', a
      bias towards values 1-8 (primarily 8) was introduced.
      
      The second, more worrying issue was that, due to a mixup in registers, when a
      buffer that was not size 0 or 1 mod 8 was passed to OPENSSL_ia32_rdrand_bytes
      or OPENSSL_ia32_rdseed_bytes, the last (n mod 8) bytes were all the same value.
      This issue impacts only the 64-bit variant of the assembly.
      
      This change fixes both issues by first eliminating the only use of
      OPENSSL_ia32_rdrand, replacing it with OPENSSL_ia32_rdrand_bytes, and fixes the
      register mixup in OPENSSL_ia32_rdrand_bytes. It also adds a sanity test for
      OPENSSL_ia32_rdrand_bytes and OPENSSL_ia32_rdseed_bytes to help catch problems
      of this nature in the future.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5342)
      082193ef
  7. Mar 07, 2018
  8. Mar 06, 2018
  9. Mar 05, 2018
  10. Mar 03, 2018