1. 09 3月, 2001 2 次提交
  2. 07 3月, 2001 1 次提交
  3. 23 2月, 2001 1 次提交
    • G
      Fix an oversight - when checking a potential session ID for conflicts with · f85c9904
      Geoff Thorpe 提交于
      an SSL_CTX's session cache, it is necessary to compare the ssl_version at
      the same time (a conflict is defined, courtesy of SSL_SESSION_cmp(), as a
      matching id/id_length pair and a matching ssl_version). However, the
      SSL_SESSION that will result from the current negotiation does not
      necessarily have the same ssl version as the "SSL_METHOD" in use by the
      SSL_CTX - part of the work in a handshake is to agree on an ssl version!
      
      This is fixed by having the check function accept an SSL pointer rather
      than the SSL_CTX it belongs to.
      
      [Thanks to Lutz for illuminating the full extent of my stupidity]
      f85c9904
  4. 22 2月, 2001 2 次提交
    • G
      If a callback is generating a new session ID for SSLv2, then upon exiting, · ec0f1959
      Geoff Thorpe 提交于
      the ID will be padded out to 16 bytes if the callback attempted to generate
      a shorter one. The problem is that the uniqueness checking function used in
      callbacks may mistakenly think a 9-byte ID is unique when in fact its
      padded 16-byte version is not. This makes the checking function detect
      SSLv2 cases, and ensures the padded form is checked rather than the shorter
      one passed by the callback.
      ec0f1959
    • G
      This change allows a callback to be used to override the generation of · dc644fe2
      Geoff Thorpe 提交于
      SSL/TLS session IDs in a server. According to RFC2246, the session ID is an
      arbitrary value chosen by the server. It can be useful to have some control
      over this "arbitrary value" so as to choose it in ways that can aid in
      things like external session caching and balancing (eg. clustering). The
      default session ID generation is to fill the ID with random data.
      
      The callback used by default is built in to ssl_sess.c, but registering a
      callback in an SSL_CTX or in a particular SSL overrides this. BTW: SSL
      callbacks will override SSL_CTX callbacks, and a new SSL structure inherits
      any callback set in its 'parent' SSL_CTX. The header comments describe how
      this mechanism ticks, and source code comments describe (hopefully) why it
      ticks the way it does.
      
      Man pages are on the way ...
      
      [NB: Lutz was also hacking away and helping me to figure out how best to do
      this.]
      dc644fe2
  5. 20 2月, 2001 1 次提交
  6. 12 12月, 2000 1 次提交
  7. 09 12月, 2000 1 次提交
    • G
      Next step in tidying up the LHASH code. · d0fa136c
      Geoff Thorpe 提交于
      DECLARE/IMPLEMENT macros now exist to create type (and prototype) safe
      wrapper functions that avoid the use of function pointer casting yet retain
      type-safety for type-specific callbacks. However, most of the usage within
      OpenSSL itself doesn't really require the extra function because the hash
      and compare callbacks are internal functions declared only for use by the
      hash table. So this change catches all those cases and reimplements the
      functions using the base-level LHASH prototypes and does per-variable
      casting inside those functions to convert to the appropriate item type.
      
      The exception so far is in ssl_lib.c where the hash and compare callbacks
      are not static - they're exposed in ssl.h so their prototypes should not be
      changed. In this last case, the IMPLEMENT_LHASH_*** macros have been left
      intact.
      d0fa136c
  8. 04 12月, 2000 1 次提交
  9. 02 12月, 2000 2 次提交
    • U
      remove unused static function · 0826c85f
      Ulf Möller 提交于
      0826c85f
    • G
      First step in tidying up the LHASH code. The callback prototypes (and · 385d8138
      Geoff Thorpe 提交于
      casts) used in the lhash code are about as horrible and evil as they can
      be. For starters, the callback prototypes contain empty parameter lists.
      Yuck.
      
      This first change defines clearer prototypes - including "typedef"'d
      function pointer types to use as "hash" and "compare" callbacks, as well as
      the callbacks passed to the lh_doall and lh_doall_arg iteration functions.
      Now at least more explicit (and clear) casting is required in all of the
      dependant code - and that should be included in this commit.
      
      The next step will be to hunt down and obliterate some of the function
      pointer casting being used when it's not necessary - a particularly evil
      variant exists in the implementation of lh_doall.
      385d8138
  10. 01 12月, 2000 1 次提交
  11. 30 11月, 2000 1 次提交
  12. 28 11月, 2000 1 次提交
  13. 12 10月, 2000 1 次提交
  14. 26 9月, 2000 2 次提交
  15. 18 9月, 2000 1 次提交
  16. 05 9月, 2000 1 次提交
  17. 04 9月, 2000 1 次提交
  18. 02 6月, 2000 1 次提交
    • R
      There have been a number of complaints from a number of sources that names · 26a3a48d
      Richard Levitte 提交于
      like Malloc, Realloc and especially Free conflict with already existing names
      on some operating systems or other packages.  That is reason enough to change
      the names of the OpenSSL memory allocation macros to something that has a
      better chance of being unique, like prepending them with OPENSSL_.
      
      This change includes all the name changes needed throughout all C files.
      26a3a48d
  19. 01 6月, 2000 1 次提交
    • G
      The previous commit to crypto/stack/*.[ch] pulled the type-safety strings · ccd86b68
      Geoff Thorpe 提交于
      yet tighter, and also put some heat on the rest of the library by
      insisting (correctly) that compare callbacks used in stacks are prototyped
      with "const" parameters. This has led to a depth-first explosion of
      compiler warnings in the code where 1 constification has led to 3 or 4
      more. Fortunately these have all been resolved to completion and the code
      seems cleaner as a result - in particular many of the _cmp() functions
      should have been prototyped with "const"s, and now are. There was one
      little problem however;
      
      X509_cmp() should by rights compare "const X509 *" pointers, and it is now
      declared as such. However, it's internal workings can involve
      recalculating hash values and extensions if they have not already been
      setup. Someone with a more intricate understanding of the flow control of
      X509 might be able to tighten this up, but for now - this seemed the
      obvious place to stop the "depth-first" constification of the code by
      using an evil cast (they have migrated all the way here from safestack.h).
      
      Fortunately, this is the only place in the code where this was required
      to complete these type-safety changes, and it's reasonably clear and
      commented, and seemed the least unacceptable of the options. Trying to
      take the constification further ends up exploding out considerably, and
      indeed leads directly into generalised ASN functions which are not likely
      to cooperate well with this.
      ccd86b68
  20. 28 3月, 2000 1 次提交
  21. 26 2月, 2000 1 次提交
  22. 24 2月, 2000 3 次提交
  23. 23 2月, 2000 1 次提交
    • D
      · 3142c86d
      Dr. Stephen Henson 提交于
      Allow ADH to be used but not present in the default cipher
      list.
      
      Allow CERTIFICATE to be used in PEM headers for PKCS#7 structures:
      some CAs do this.
      3142c86d
  24. 22 2月, 2000 1 次提交
  25. 21 2月, 2000 1 次提交
    • R
      Move the registration of callback functions to special functions · d3442bc7
      Richard Levitte 提交于
      designed for that.  This removes the potential error to mix data and
      function pointers.
      
      Please note that I'm a little unsure how incorrect calls to the old
      ctrl functions should be handled, in som cases.  I currently return 0
      and that's it, but it may be more correct to generate a genuine error
      in those cases.
      d3442bc7
  26. 31 1月, 2000 2 次提交
  27. 24 1月, 2000 1 次提交
    • D
      · dd9d233e
      Dr. Stephen Henson 提交于
      Tidy up CRYPTO_EX_DATA structures.
      dd9d233e
  28. 22 1月, 2000 1 次提交
  29. 18 1月, 2000 1 次提交
    • R
      Compaq C 6.2 for VMS will complain when we want to convert · a9188d4e
      Richard Levitte 提交于
      non-function pointers to function pointers and vice versa.
      The current solution is to have unions that describe the
      conversion we want to do, and gives us the ability to extract
      the type of data we want.
      
      The current solution is a quick fix, and can probably be made
      in a more general or elegant way.
      a9188d4e
  30. 09 1月, 2000 1 次提交
  31. 06 1月, 2000 2 次提交
  32. 02 12月, 1999 1 次提交