1. 26 9月, 2001 2 次提交
    • G
      This change replaces the ENGINE's underlying mechanics with the new · b6d1e52d
      Geoff Thorpe 提交于
      ENGINE_TABLE-based stuff - as described in crypto/engine/README.
      
      Associated miscellaneous changes;
       - the previous cipher/digest hooks that hardwired directly to EVP's
         OBJ_NAME-based storage have been backed out. New cipher/digest support
         has been constructed and will be committed shortly.
       - each implementation defines its own ENGINE_load_<name> function now.
       - the "openssl" ENGINE isn't needed or loaded any more.
       - core (not algorithm or class specific) ENGINE code has been split into
         multiple files to increase readability and decrease linker bloat.
       - ENGINE_cpy() has been removed as it wasn't really a good idea in the
         first place and now, because of registration issues, can't be
         meaningfully defined any more.
       - BN_MOD_EXP[_CRT] support is removed as per the README.
       - a bug in enginetest.c has been fixed.
      
      NB: This commit almost certainly breaks compilation until subsequent
      changes are committed.
      b6d1e52d
    • G
      Some major restructuring changes to ENGINE, including integrated cipher and · f185e725
      Geoff Thorpe 提交于
      digest support, are on their way. Rather than having gigantic commit log
      messages and/or CHANGES entries, this change to the README will serve as an
      outline of what it all is and how it all works.
      f185e725
  2. 15 9月, 2001 2 次提交
  3. 12 9月, 2001 1 次提交
  4. 11 9月, 2001 3 次提交
  5. 10 9月, 2001 1 次提交
  6. 07 9月, 2001 3 次提交
  7. 06 9月, 2001 3 次提交
    • B
      Avoid strdup. · 619b2c03
      Bodo Möller 提交于
      (Some platforms need _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED to get
      the declaration, but on other platforms _XOPEN_SOURCE disables
      the strdup declaration in <string.h>.)
      619b2c03
    • G
      This adds "destroy" handlers to the existing ENGINEs that load their own · 1a7691c0
      Geoff Thorpe 提交于
      error strings - the destroy handler functions unload the error strings so
      any pending error state referring to them will not attempt to reference
      them after the ENGINE has been destroyed.
      1a7691c0
    • G
      ENGINE's init() and finish() handler functions are used when the ENGINE is · f524ddbe
      Geoff Thorpe 提交于
      being enabled or disabled (respectively) for operation. Additionally, each
      ENGINE has a constructor function where it can do more 'structural' level
      intialisations such as loading error strings, creating "ex_data" indices,
      etc. This change introduces a handler function that gives an ENGINE a
      corresponding opportunity to cleanup when the ENGINE is being destroyed. It
      also adds the "get/set" API functions that control this "destroy" handler
      function in an ENGINE.
      f524ddbe
  8. 05 9月, 2001 3 次提交
  9. 04 9月, 2001 2 次提交
    • G
      This changes the existing hardware ENGINE implementations to dynamically · 2dc5383a
      Geoff Thorpe 提交于
      declare their own error strings so that they can be more easily compiled as
      external shared-libraries if desired. Also, each implementation has been
      given canonical "dynamic" support at the base of each file and is only
      built if the ENGINE_DYNAMIC_SUPPORT symbol is defined.
      
      Also, use "void" prototypes rather than empty prototypes in engine_int.h.
      
      This does not yet;
        (i) remove error strings when unloading,
       (ii) remove the redundant ENGINE_R_*** codes (though ENGINE_F_*** codes
            have gone), or
      (iii) provide any instructions on how to build shared-library ENGINEs or
            use them.
      
      All are on their way.
      2dc5383a
    • G
      This change adds a new ENGINE called "dynamic" that allows new ENGINE · 9391f977
      Geoff Thorpe 提交于
      implementations to be loaded from self-contained shared-libraries. It also
      provides (in engine.h) definitions and macros to help implement a
      self-contained ENGINE. Version control is handled in a way whereby the
      loader or loadee can veto the load depending on any objections it has with
      each other's declared interface level. The way this is currently
      implemented assumes a veto will only take place when one side notices the
      other's interface level is too *old*. If the other side is newer, it should
      be assumed the newer version knows better whether to veto the load or not.
      Version checking (like other "dynamic" settings) can be controlled using
      the "dynamic" ENGINE's control commands. Also, the semantics for the
      loading allow a shared-library ENGINE implementation to handle differing
      interface levels on the fly (eg. loading secondary shared-libraries
      depending on the versions required).
      
      Code will be added soon to the existing ENGINEs to illustrate how they can
      be built as external libraries rather than building statically into
      libcrypto.
      
      NB: Applications wanting to support "dynamic"-loadable ENGINEs will need to
      add support for ENGINE "control commands". See apps/engine.c for an example
      of this, and use "apps/openssl engine -vvvv" to test or experiment.
      9391f977
  10. 02 9月, 2001 1 次提交
    • G
      Make the necessary changes to work with the recent "ex_data" overhaul. · 79aa04ef
      Geoff Thorpe 提交于
      See the commit log message for that for more information.
      
      NB: X509_STORE_CTX's use of "ex_data" support was actually misimplemented
      (initialisation by "memset" won't/can't/doesn't work). This fixes that but
      requires that X509_STORE_CTX_init() be able to handle errors - so its
      prototype has been changed to return 'int' rather than 'void'. All uses of
      that function throughout the source code have been tracked down and
      adjusted.
      79aa04ef
  11. 28 8月, 2001 1 次提交
  12. 27 8月, 2001 1 次提交
  13. 26 8月, 2001 1 次提交
  14. 24 8月, 2001 1 次提交
  15. 19 8月, 2001 1 次提交
  16. 18 8月, 2001 2 次提交
  17. 13 8月, 2001 1 次提交
    • G
      The indexes returned by ***_get_ex_new_index() functions are used when · 6982c0da
      Geoff Thorpe 提交于
      setting stack (actually, array) values in ex_data. So only increment the
      global counters if the underlying CRYPTO_get_ex_new_index() call succeeds.
      This change doesn't make "ex_data" right (see the comment at the head of
      ex_data.c to know why), but at least makes the source code marginally less
      frustrating.
      6982c0da
  18. 06 8月, 2001 1 次提交
  19. 01 8月, 2001 1 次提交
  20. 31 7月, 2001 1 次提交
  21. 04 7月, 2001 1 次提交
  22. 24 6月, 2001 3 次提交
  23. 23 6月, 2001 2 次提交
  24. 21 6月, 2001 1 次提交
    • D
      · ed5538dc
      Dr. Stephen Henson 提交于
      Fix memory leak when RAND is used: need to cleanup
      RANDs ENGINE reference in ENGINE_cleanup().
      ed5538dc
  25. 20 6月, 2001 1 次提交
    • R
      - Add the possibility to control engines through control names but · 839590f5
      Richard Levitte 提交于
        with arbitrary arguments instead of just a string.
      - Change the key loaders to take a UI_METHOD instead of a callback
        function pointer.  NOTE: this breaks binary compatibility with
        earlier versions of OpenSSL [engine].
      - Addapt the nCipher code for these new conditions and add a card
        insertion callback.
      839590f5