Skip to content
  • Geoff Thorpe's avatar
    The default implementation of DSA_METHOD has an interdependence on the · 879650b8
    Geoff Thorpe authored
    dsa_mod_exp() and bn_mod_exp() handlers from dsa_do_verify() and
    dsa_sign_setup(). When another DSA_METHOD implementation does not define
    these lower-level handlers, it becomes impossible to do a fallback to
    software on errors using a simple DSA_OpenSSL()->fn(key).
    
    This change allows the default DSA_METHOD to function in such circumstances
    by only using dsa_mod_exp() and bn_mod_exp() handlers if they exist,
    otherwise using BIGNUM implementations directly (which is what those
    handlers did before this change). There should be no noticable difference
    for the software case, or indeed any custom case that didn't already
    segfault, except perhaps that there is now one less level of indirection in
    all cases.
    
    PR: 507
    879650b8
To find the state of this project's repository at the time of any of these versions, check out the tags.