summaryrefslogtreecommitdiffstats
path: root/ssl/ssl_sess.c
AgeCommit message (Collapse)Author
2010-02-01PR: 2160Dr. Stephen Henson
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Make session tickets work with DTLS.
2009-04-19PR: 1751Dr. Stephen Henson
Submitted by: David Woodhouse <dwmw2@infradead.org> Approved by: steve@openssl.org Compatibility patches for Cisco VPN client DTLS.
2008-06-04Backport more ENGINE SSL client auth code to 0.9.8.Dr. Stephen Henson
2007-10-17Don't try to lookup zero length session.Dr. Stephen Henson
2007-08-12Backport of TLS extension code to OpenSSL 0.9.8.Dr. Stephen Henson
Include server name and RFC4507bis support. This is not compiled in by default and must be explicitly enabled with the Configure option enable-tlsext
2007-03-21stricter session ID context matchingBodo Möller
2007-02-10use user-supplied malloc functions for persistent kssl objectsNils Larsch
PR: 1467 Submitted by: Andrei Pelinescu-Onciul <andrei@iptel.org>
2006-11-30Win32 fixes.Dr. Stephen Henson
Use OPENSSL_NO_RFC3779 instead of OPENSSL_RFC3779: this makes the Win32 scripts work and is consistent with other options. Fix Win32 scripts and Configure to process OPENSSL_NO_RFC3779 properly. Update ordinals. Change some prototypes for LSB because VC++ 6 doesn't like the */ sequence and thinks it is an invalid end of comment.
2006-11-29replace macros with functionsNils Larsch
Submitted by: Tracy Camp <tracyx.e.camp@intel.com>
2005-12-30Rewrite timeout computation in a way that is less prone to overflow.Bodo Möller
(Problem reported by Peter Sylvester.)
2005-12-05Fix from HEAD.Dr. Stephen Henson
2005-04-29check return value of RAND_pseudo_bytes; backport from the stable branchNils Larsch
2005-04-26Add DTLS support.Ben Laurie
2005-03-30Constification.Ben Laurie
2003-12-27Avoid including cryptlib.h, it's not really needed.Richard Levitte
Check if IDEA is being built or not. This is part of a large change submitted by Markus Friedl <markus@openbsd.org>
2003-09-08These should be write-locks, not read-locks.Geoff Thorpe
2003-02-15Session cache implementations shouldn't have to access SSL_SESSIONGeoff Thorpe
elements directly, so this missing functionality is required. PR: 276
2002-11-28Cleanse memory using the new OPENSSL_cleanse() function.Richard Levitte
I've covered all the memset()s I felt safe modifying, but may have missed some.
2002-11-13Security fixes brought forward from 0.9.7.Ben Laurie
2002-10-29Correct and enhance the behaviour of "internal" session caching as itGeoff Thorpe
relates to SSL_CTX flags and the use of "external" session caching. The existing flag, "SSL_SESS_CACHE_NO_INTERNAL_LOOKUP" remains but is supplemented with a complimentary flag, "SSL_SESS_CACHE_NO_INTERNAL_STORE". The bitwise OR of the two flags is also defined as "SSL_SESS_CACHE_NO_INTERNAL" and is the flag that should be used by most applications wanting to implement session caching *entirely* by its own provided callbacks. As the documented behaviour contradicted actual behaviour up until recently, and since that point behaviour has itself been inconsistent anyway, this change should not introduce any compatibility problems. I've adjusted the relevant documentation to elaborate about how this works. Kudos to "Nadav Har'El" <nyh@math.technion.ac.il> for diagnosing these anomalies and testing this patch for correctness. PR: 311
2002-08-02get rid of OpenSSLDieBodo Möller
2002-07-30OpenSSL Security Advisory [30 July 2002]Lutz Jänicke
Changes marked "(CHATS)" were sponsored by the Defense Advanced Research Projects Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel Command, USAF, under agreement number F30602-01-2-0537.
2002-02-10Make removal from session cache more robust.Lutz Jänicke
2001-09-01Make the necessary changes to work with the recent "ex_data" overhaul.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.
2001-08-12The indexes returned by ***_get_ex_new_index() functions are used whenGeoff 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.
2001-07-31Whoops, my fault, a backslash got converted to a slash...Richard Levitte
2001-07-31More Kerberos SSL changes from Jeffrey Altman <jaltman@columbia.edu>Richard Levitte
His comments are: First, it corrects a problem introduced in the last patch where the kssl_map_enc() would intentionally return NULL for valid ENCTYPE values. This was done to prevent verification of the kerberos 5 authenticator from being performed when Derived Key ciphers were in use. Unfortunately, the authenticator verification routine was not the only place that function was used. And it caused core dumps. Second, it attempt to add to SSL_SESSION the Kerberos 5 Client Principal Name.
2001-02-23Fix an oversight - when checking a potential session ID for conflicts withGeoff 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]
2001-02-21This change allows a callback to be used to override the generation ofGeoff 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.]
2001-01-09Move all the existing function pointer casts associated with LHASH's twoGeoff Thorpe
"doall" functions to using type-safe wrappers. As and where required, this can be replaced by redeclaring the underlying callbacks to use the underlying "void"-based prototypes (eg. if performance suffers from an extra level of function invocation).
2000-12-01First step in tidying up the LHASH code. The callback prototypes (andGeoff 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.
2000-11-29Store verify_result with sessions to avoid potential security hole.Lutz Jänicke
For the server side this was already done one year ago :-(
2000-06-01There have been a number of complaints from a number of sources that namesRichard 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.
2000-01-30Source code cleanups: Use void * rather than char * in lhash,Ulf Möller
eliminate some of the -Wcast-qual warnings (debug-ben-strict target)
2000-01-26Some comments added, and slight code clean-ups.Bodo Möller
2000-01-23Tidy up CRYPTO_EX_DATA structures.Dr. Stephen Henson
2000-01-21Check RAND_bytes() return value or use RAND_pseudo_bytes().Ulf Möller
1999-12-29Fix SSL_CTX_add_session: When two SSL_SESSIONs have the same ID,Bodo Möller
they can sometimes be different memory structures.
1999-11-17Restore traditional SSL_get_session behaviour so that s_client and s_serverBodo Möller
don't leak tons of memory.
1999-11-16Store verify_result with sessions to avoid potential security hole.Bodo Möller
1999-11-15This corrects the reference count handling in SSL_get_session.Mark J. Cox
Previously, the returned SSL_SESSION didn't have its reference count incremented so the SSL_SESSION could be freed at any time causing seg-faults if the pointer was subsequently used. Code that uses SSL_get_session must now make a corresponding SSL_SESSION_free() call when it is done to avoid memory leaks (or blocked up session caches). Submitted By: Geoff Thorpe <geoff@eu.c2.net>
1999-06-07Don't mix real tabs with tabs expanded as 8 spaces -- that'sBodo Möller
a pain to read when using 4-space tabs.
1999-05-23Don't use NULL-pointer :-/Bodo Möller
1999-05-23Comment about bug.Bodo Möller
1999-05-23Let ssl_get_prev_session reliably work in multi-threaded settings.Bodo Möller
1999-05-23Avoid memory hole when we don't like the session proposed by the clientBodo Möller
1999-05-17Additional, more descriptive error message for rejection of a session IDBodo Möller
because of missing session ID context (so that application programmers are directly pointed to what they should do differently).
1999-05-13New structure type SESS_CERT used instead of CERT inside SSL_SESSION.Bodo Möller
While modifying the sources, I found some inconsistencies on the use of s->cert vs. s->session->sess_cert; I don't know if those could really have caused problems, but possibly this is a proper bug-fix and not just a clean-up.
1999-05-09No actual change, but the cert_st member of struct ssl_session_st is nowBodo Möller
called sess_cert instead of just cert. This is in preparation of further changes: Probably often when s->session->sess_cert is used, we should use s->cert instead; s->session->sess_cert should be a new structure containing only the stuff that is for just one connection (e.g. the peer's certificate, which the SSL client implementations currently store in s->session->[sess_]cert, which is a very confusing thing to do). Submitted by: Reviewed by: PR:
1999-05-01Add "static" to function definitionBodo Möller
Submitted by: Anonymous Reviewed by: PR: Submitted by: Reviewed by: PR: