Skip to content
  1. Mar 25, 2004
  2. Mar 24, 2004
  3. Mar 23, 2004
  4. Mar 21, 2004
  5. Mar 17, 2004
    • Geoff Thorpe's avatar
      Note my bignum hijinx in case app maintainers are using CHANGES for their · 7f663ce4
      Geoff Thorpe authored
      porting efforts. Also, add Richard's name to the prior change.
      7f663ce4
    • Geoff Thorpe's avatar
      Variety of belt-tightenings in the bignum code. (Please help test this!) · e042540f
      Geoff Thorpe authored
      - Remove some unnecessary "+1"-like fudges. Sizes should be handled
        exactly, as enlarging size parameters causes needless bloat and may just
        make bugs less likely rather than fixing them: bn_expand() macro,
        bn_expand_internal(), and BN_sqr().
      - Deprecate bn_dup_expand() - it's new since 0.9.7, unused, and not that
        useful.
      - Remove unnecessary zeroing of unused bytes in bn_expand2().
      - Rewrite BN_set_word() - it should be much simpler, the previous
        complexities probably date from old mismatched type issues.
      - Add missing bn_check_top() macros in bn_word.c
      - Improve some degenerate case handling in BN_[add|sub]_word(), add
        comments, and avoid a bignum expansion if an overflow isn't possible.
      e042540f
  6. Mar 16, 2004
  7. Mar 15, 2004
  8. Mar 13, 2004
    • Geoff Thorpe's avatar
      Convert openssl code not to assume the deprecated form of BN_zero(). · b6358c89
      Geoff Thorpe authored
      Remove certain redundant BN_zero() initialisations, because BN_CTX_get(),
      BN_init(), [etc] already initialise to zero.
      
      Correct error checking in bn_sqr.c, and be less wishy-wash about how/why
      the result's 'top' value is set (note also, 'max' is always > 0 at this
      point).
      b6358c89
    • Geoff Thorpe's avatar
      The efforts to eliminate the dual-representation of zero and to ensure · 5d735465
      Geoff Thorpe authored
      bignums are passed in and out of functions and APIs in a consistent form
      has highlighted that zero-valued bignums don't need any allocated word
      data. The use of BN_set_word() to initialise a bignum to zero causes
      needless allocation and gives it a return value that must be checked. This
      change converts BN_zero() to a self-contained macro that has no
      return/expression value and does not cause any expansion of bignum data.
      
      Note, it would be tempting to rewrite the deprecated version as a
      success-valued comma expression, such as;
         #define BN_zero(a) ((a)->top = (a)->neg = 0, 1)
      However, this evaluates 'a' twice and would confuse initialisation loops
      (eg. while(..) { BN_zero(bn++) } ). As such, the deprecated version
      continues to use BN_set_word().
      5d735465