Skip to content
  1. Apr 20, 2004
  2. Apr 19, 2004
    • Geoff Thorpe's avatar
      Reduce header interdependencies, initially in engine.h (the rest of the · 3a87a9b9
      Geoff Thorpe authored
      changes are the fallout). As this could break source code that doesn't
      directly include headers for interfaces it uses, changes to recursive
      includes are covered by the OPENSSL_NO_DEPRECATED symbol. It's better to
      define this when building and using openssl, and then adapt code where
      necessary - this is how to stay current. However the mechanism exists for
      the lethargic.
      3a87a9b9
  3. Mar 31, 2004
  4. Mar 28, 2004
  5. Mar 27, 2004
  6. Mar 25, 2004
    • Geoff Thorpe's avatar
      Replace the BN_CTX implementation with my current work. I'm leaving the · 5c98b2ca
      Geoff Thorpe authored
      little TODO list in there as well as the debugging code (only enabled if
      BN_CTX_DEBUG is defined).
      
      I'd appreciate as much review and testing as can be spared for this. I'll
      commit some changes to other parts of the bignum code shortly to make
      better use of this implementation (no more fixed size limitations). Note
      also that under identical optimisations, I'm seeing a noticable speed
      increase over openssl-0.9.7 - so any feedback to confirm/deny this on other
      systems would also be most welcome.
      5c98b2ca
    • Geoff Thorpe's avatar
      By adding a BN_CTX parameter to the 'rsa_mod_exp' callback, private key · 46ef873f
      Geoff Thorpe authored
      operations no longer require two distinct BN_CTX structures. This may put
      more "strain" on the current BN_CTX implementation (which has a fixed limit
      to the number of variables it will hold), but so far this limit is not
      triggered by any of the tests pass and I will be changing BN_CTX in the
      near future to avoid this problem anyway.
      
      This also changes the default RSA implementation code to use the BN_CTX in
      favour of initialising some of its variables locally in each function.
      46ef873f
  7. Mar 23, 2004
  8. Mar 17, 2004
  9. Mar 15, 2004
  10. Mar 13, 2004
  11. Mar 08, 2004
  12. Mar 05, 2004
  13. Feb 19, 2004
  14. Feb 01, 2004
  15. Nov 10, 2003
  16. Nov 04, 2003
  17. Oct 29, 2003
    • Geoff Thorpe's avatar
      BN_CTX is opaque and the static initialiser BN_CTX_init() is not used · 2ce90b9b
      Geoff Thorpe authored
      except internally to the allocator BN_CTX_new(), as such this deprecates
      the use of BN_CTX_init() in the API. Moreover, the structure definition of
      BN_CTX is taken out of bn_lcl.h and moved into bn_ctx.c itself.
      
      NDEBUG should probably only be "forced" in the top-level configuration, but
      until it is I will avoid removing it from bn_ctx.c which might surprise
      people with massive slow-downs in their keygens. So I've left it in
      bn_ctx.c but tidied up the preprocessor logic a touch and made it more
      tolerant of debugging efforts.
      2ce90b9b
    • Geoff Thorpe's avatar
      Relax some over-zealous constification that gave some lhash-based code no · 8dc344cc
      Geoff Thorpe authored
      choice but to have to cast away "const" qualifiers from their prototypes.
      This does not remove constification restrictions from hash/compare
      callbacks, but allows destructor commands to be run over a tables' elements
      without bad casts.
      8dc344cc
    • Geoff Thorpe's avatar
      For whatever reason (compiler or header bugs), at least one commonly-used · 0991f070
      Geoff Thorpe authored
      linux system (namely mine) chokes on our definitions and uses of the "HZ"
      symbol in crypto/tmdiff.[ch] and apps/speed.c as a "bad function cast"
      (when in fact there is no function casting involved at all). In both cases,
      it is easily worked around by not defining a cast into the macro and
      jiggling the expressions slightly.
      
      In addition - this highlights some cruft in openssl that needs sorting out.
      The tmdiff.h header is exported as part of the openssl API despite the fact
      that it is ugly as the driven sludge and not used anywhere in the library,
      applications, or utilities. More weird still, almost identical code exists
      in apps/speed.c though it looks to be slightly tweaked - so either tmdiff
      should be updated and used by speed.c, or it should be dumped because it's
      obviously not useful enough.
      
      Rather than removing it for now, I've changed the API for tmdiff to at
      least make sense. This involves taking the object type (MS_TM) from the
      implementation and using it in the header rather than using "char *" in the
      API and casting mercilessly in the code (ugh). If someone doesn't like
      "MS_TM" and the "ms_time_***" naming, by all means change it. This should
      be a harmless improvement, because the existing API is clearly not very
      useful (eg. we reimplement it rather than using it in our own utils).
      
      However, someone still needs to take a hack at consolidating speed.c and
      tmdiff.[ch] somehow.
      0991f070
    • Geoff Thorpe's avatar
      Update any code that was using deprecated functions so that everything builds · 2aaec9cc
      Geoff Thorpe authored
      and links with OPENSSL_NO_DEPRECATED defined.
      2aaec9cc
    • Geoff Thorpe's avatar
      When OPENSSL_NO_DEPRECATED is defined, deprecated functions are (or should · 9d473aa2
      Geoff Thorpe authored
      be) precompiled out in the API headers. This change is to ensure that if
      it is defined when compiling openssl, the deprecated functions aren't
      implemented either.
      9d473aa2
  18. Oct 11, 2003
  19. Oct 10, 2003
  20. Sep 30, 2003
  21. Sep 25, 2003
    • Ralf S. Engelschall's avatar
      Fix prime generation loop in crypto/bn/bn_prime.pl by making · 6bd27f86
      Ralf S. Engelschall authored
      sure the loop does correctly stop and breaking ("division by zero")
      modulus operations are not performed. The (pre-generated) prime
      table crypto/bn/bn_prime.h was already correct, but it could not be
      re-generated on some platforms because of the "division by zero"
      situation in the script.
      6bd27f86
  22. Sep 04, 2003
  23. Sep 03, 2003
  24. Jul 22, 2003
  25. Jul 21, 2003
  26. Jun 19, 2003
  27. Jun 11, 2003